{"id":217485,"date":"2026-08-22T09:19:20","date_gmt":"2026-08-22T07:19:20","guid":{"rendered":"https:\/\/fivemx.com\/developers\/"},"modified":"2026-08-22T09:19:20","modified_gmt":"2026-08-22T07:19:20","slug":"desenvolvedores","status":"publish","type":"page","link":"https:\/\/fivemx.com\/pt\/desenvolvedores\/","title":{"rendered":"FiveMX Portal do Desenvolvedor"},"content":{"rendered":"<p class=\"has-large-font-size wp-block-paragraph\">FiveMX publica um API HTTP somente leitura sobre seu cat\u00e1logo de scripts FiveM, uma descri\u00e7\u00e3o OpenAPI 3.1 dele e uma ferramenta de linha de comando que se comunica com ele. Tudo nesta p\u00e1gina \u00e9 p\u00fablico, n\u00e3o precisa de chave e pode ser usado por uma pessoa, um script ou um agente.<\/p><h2 class=\"wp-block-heading\">O cat\u00e1logo FiveMX API<\/h2><p class=\"wp-block-paragraph\">Um namespace, quatro endpoints GET, JSON apenas. Ele exp\u00f5e os mesmos 1.675 produtos publicados que a loja, com pre\u00e7os na moeda base da loja, estoque, categoria e tags de framework.<\/p><h3 class=\"wp-block-heading\">URL base<\/h3><pre data-no-translation=\"\" class=\"wp-block-code\"><code data-no-translation=\"\">https:\/\/fivemx.com\/wp-json\/fivemx\/v1<\/code><\/pre><h3 class=\"wp-block-heading\">Endpoints<\/h3><ul class=\"wp-block-list\"><li><code data-no-translation=\"\">GET \/catalog<\/code> \u2014 \u00edndice com contagens, moeda e links para todo o resto nesta p\u00e1gina<\/li><li><code data-no-translation=\"\">GET \/catalog\/categories<\/code> \u2014 todas as 46 categorias com contagem de produtos<\/li><li><code data-no-translation=\"\">GET \/catalog\/products<\/code> \u2014 uma p\u00e1gina de produtos, filtr\u00e1vel por <code data-no-translation=\"\">category<\/code> e <code data-no-translation=\"\">framework<\/code>, at\u00e9 50 por p\u00e1gina<\/li><li><code data-no-translation=\"\">GET \/catalog\/products\/{slug}<\/code> \u2014 um \u00fanico produto pelo seu slug em ingl\u00eas<\/li><\/ul><h3 class=\"wp-block-heading\">Autentica\u00e7\u00e3o e grava\u00e7\u00f5es<\/h3><p class=\"wp-block-paragraph\">N\u00e3o h\u00e1 nenhum, e n\u00e3o h\u00e1 nenhum. Cada endpoint \u00e9 um GET an\u00f4nimo. Nada aqui cria um pedido, altera um pre\u00e7o ou mexe em uma conta, ent\u00e3o n\u00e3o h\u00e1 chave para vazar e nenhum estado para um erro danificar.<\/p><h2 class=\"wp-block-heading\">Especifica\u00e7\u00e3o OpenAPI<\/h2><p class=\"wp-block-paragraph\">A descri\u00e7\u00e3o completa leg\u00edvel por m\u00e1quina, gerada a partir do mesmo contrato que o API \u00e9 implementado, para que os dois n\u00e3o possam divergir:<\/p><ul class=\"wp-block-list\"><li><code data-no-translation=\"\">https:\/\/fivemx.com\/openapi.json<\/code><\/li><li><code data-no-translation=\"\">https:\/\/fivemx.com\/.well-known\/openapi.json<\/code> \u2014 byte id\u00eantica, para clientes que olham l\u00e1 primeiro<\/li><li><code data-no-translation=\"\">https:\/\/fivemx.com\/.well-known\/api-catalog<\/code> \u2014 um linkset RFC 9727 apontando para ambos<\/li><\/ul><p class=\"wp-block-paragraph\">A p\u00e1gina inicial tamb\u00e9m a anuncia com um <code data-no-translation=\"\">rel=\"service-desc\"<\/code> link, e <code data-no-translation=\"\">https:\/\/fivemx.com\/llms.txt<\/code> descreve o site para modelos de linguagem.<\/p><h2 class=\"wp-block-heading\">O FiveMX CLI<\/h2><p class=\"wp-block-paragraph\">Uma ferramenta oficial de linha de comando encapsula o mesmo API. Node 18 ou mais recente, zero depend\u00eancias de tempo de execu\u00e7\u00e3o.<\/p><pre data-no-translation=\"\" class=\"wp-block-code\"><code data-no-translation=\"\">npm install -g @fivemx\/cli\nfivemx catalog\nfivemx products --framework qbcore --per-page 5\nfivemx product audio-speaker-script --json<\/code><\/pre><p class=\"wp-block-paragraph\">C\u00f3digos de sa\u00edda separam um erro de uso de uma interrup\u00e7\u00e3o sem analisar nenhuma sa\u00edda: <code data-no-translation=\"\">0<\/code> ok, <code data-no-translation=\"\">1<\/code> erro de uso sem solicita\u00e7\u00e3o enviada, <code data-no-translation=\"\">2<\/code> a solicita\u00e7\u00e3o falhou, <code data-no-translation=\"\">3<\/code> o recurso n\u00e3o existe.<\/p><h2 class=\"wp-block-heading\">Respostas de erro<\/h2><p class=\"wp-block-paragraph\">Erros s\u00e3o JSON, nunca uma p\u00e1gina HTML, e cada um carrega um c\u00f3digo, uma mensagem e uma dica que diz o que fazer a seguir.<\/p><pre data-no-translation=\"\" class=\"wp-block-code\"><code data-no-translation=\"\">{\n  \"code\": \"fivemx_product_not_found\",\n  \"message\": \"No published product has that slug.\",\n  \"data\": {\n    \"status\": 404,\n    \"hint\": \"Slugs come from \/wp-json\/fivemx\/v1\/catalog\/products.\"\n  }\n}<\/code><\/pre><p class=\"wp-block-paragraph\">Um cliente que envia <code data-no-translation=\"\">Accept: application\/json<\/code>, ou que se identifica como um agente de IA conhecido, recebe esta forma para qualquer caminho ausente no site, n\u00e3o apenas dentro do namespace API. Um navegador mant\u00e9m a p\u00e1gina de erro normal.<\/p><h2 class=\"wp-block-heading\">Limites de taxa e cache<\/h2><p class=\"wp-block-paragraph\">N\u00e3o h\u00e1 cota publicada. As respostas s\u00e3o armazenadas em cache por dez minutos na origem, tornando a varredura de todo o cat\u00e1logo barata para ambos os lados. Por favor, envie um user agent que o identifique e prefira uma passagem paginada a muitas solicita\u00e7\u00f5es de produto \u00fanico.<\/p><h2 class=\"wp-block-heading\">O que este API deliberadamente n\u00e3o faz<\/h2><ul class=\"wp-block-list\"><li>Ele n\u00e3o exp\u00f5e carrinhos, checkout, pedidos, clientes ou downloads. Esses caminhos est\u00e3o fechados para crawlers em <code data-no-translation=\"\">robots.txt<\/code> e n\u00e3o s\u00e3o descritos pela especifica\u00e7\u00e3o.<\/li><li>Ele n\u00e3o serve slugs traduzidos. Vers\u00f5es localizadas do site usam URLs traduzidas, e este API aceita apenas o slug em ingl\u00eas.<\/li><li>Ele n\u00e3o converte pre\u00e7os. Os valores est\u00e3o na moeda base informada por <code data-no-translation=\"\">\/catalog<\/code>, n\u00e3o na moeda selecionada pelo visitante.<\/li><li>N\u00e3o h\u00e1 servidor MCP, nem cart\u00e3o de agente e nem feed de webhook. Quando um existir, ele ser\u00e1 listado aqui e no cat\u00e1logo API em vez de ser anunciado por um arquivo vazio.<\/li><\/ul><p class=\"wp-block-paragraph\">Perguntas sobre o API devem ser feitas no <a href=\"\/pt\/contato\/\">P\u00e1gina de contato FiveMX<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>FiveMX publishes a read-only HTTP API over its FiveM script catalogue, an OpenAPI 3.1 description of it, and a command line tool that speaks to it. Everything on this page is public, needs no key and can be used by a person, a script or an agent. The FiveMX catalogue API One namespace, four GET [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-217485","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/pages\/217485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/comments?post=217485"}],"version-history":[{"count":0,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/pages\/217485\/revisions"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media?parent=217485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}