{"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":"programisci","status":"publish","type":"page","link":"https:\/\/fivemx.com\/pl\/programisci\/","title":{"rendered":"FiveMX Portal de Desarrollador"},"content":{"rendered":"<p class=\"has-large-font-size wp-block-paragraph\">FiveMX publikuje tylko do odczytu API HTTP w swoim katalogu skrypt\u00f3w FiveM, opis w formacie OpenAPI 3.1 oraz narz\u0119dzie wiersza polece\u0144, kt\u00f3re si\u0119 z nim komunikuje. Wszystko na tej stronie jest publiczne, nie wymaga klucza i mo\u017ce by\u0107 u\u017cywane przez osob\u0119, skrypt lub agenta.<\/p><h2 class=\"wp-block-heading\">Katalog FiveMX API<\/h2><p class=\"wp-block-paragraph\">Jedna przestrze\u0144 nazw, cztery punkty ko\u0144cowe GET, tylko JSON. Udost\u0119pnia te same 1.675 opublikowanych produkt\u00f3w, co sklep, z cenami w walucie bazowej sklepu, stanem magazynowym, kategori\u0105 i tagami frameworka.<\/p><h3 class=\"wp-block-heading\">Podstawowy adres URL<\/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\">Punkty ko\u0144cowe<\/h3><ul class=\"wp-block-list\"><li><code data-no-translation=\"\">GET \/catalog<\/code> \u2014 indeks z liczb\u0105 element\u00f3w, walut\u0105 i linkami do wszystkiego innego na tej stronie<\/li><li><code data-no-translation=\"\">GET \/catalog\/categories<\/code> \u2014 wszystkie 46 kategorii z liczb\u0105 produkt\u00f3w<\/li><li><code data-no-translation=\"\">GET \/catalog\/products<\/code> \u2014 jedna strona produkt\u00f3w, z mo\u017cliwo\u015bci\u0105 filtrowania wed\u0142ug <code data-no-translation=\"\">category<\/code> I <code data-no-translation=\"\">framework<\/code>, do 50 na stron\u0119<\/li><li><code data-no-translation=\"\">GET \/catalog\/products\/{slug}<\/code> \u2014 pojedynczy produkt wed\u0142ug jego angielskiego sluga<\/li><\/ul><h3 class=\"wp-block-heading\">Uwierzytelnianie i zapisy<\/h3><p class=\"wp-block-paragraph\">Nie ma \u017cadnego i nie ma \u017cadnych. Ka\u017cdy punkt ko\u0144cowy to anonimowy GET. Nic tutaj nie tworzy zam\u00f3wienia, nie zmienia ceny ani nie dotyka konta, wi\u0119c nie ma klucza do wycieku ani stanu, kt\u00f3ry mo\u017cna by uszkodzi\u0107 b\u0142\u0119dem.<\/p><h2 class=\"wp-block-heading\">Specyfikacja OpenAPI<\/h2><p class=\"wp-block-paragraph\">Pe\u0142ny opis czytelny dla maszyn, wygenerowany na podstawie tej samej umowy, co implementacja API, dzi\u0119ki czemu te dwa elementy nie mog\u0105 si\u0119 rozbiec:<\/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 identyczny bajtowo, dla klient\u00f3w, kt\u00f3rzy tam najpierw sprawdzaj\u0105<\/li><li><code data-no-translation=\"\">https:\/\/fivemx.com\/.well-known\/api-catalog<\/code> \u2014 linkset RFC 9727 wskazuj\u0105cy na oba<\/li><\/ul><p class=\"wp-block-paragraph\">Strona g\u0142\u00f3wna r\u00f3wnie\u017c reklamuje go za pomoc\u0105 <code data-no-translation=\"\">rel=\"service-desc\"<\/code> linku, a <code data-no-translation=\"\">https:\/\/fivemx.com\/llms.txt<\/code> opisuje witryn\u0119 dla modeli j\u0119zykowych.<\/p><h2 class=\"wp-block-heading\">FiveMX CLI<\/h2><p class=\"wp-block-paragraph\">Oficjalne narz\u0119dzie wiersza polece\u0144 opakowuje to samo API. Node 18 lub nowszy, zero zale\u017cno\u015bci w czasie wykonania.<\/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\">Kody wyj\u015bcia oddzielaj\u0105 b\u0142\u0105d u\u017cycia od awarii bez analizowania \u017cadnych danych wyj\u015bciowych: <code data-no-translation=\"\">0<\/code> ok, <code data-no-translation=\"\">1<\/code> b\u0142\u0105d u\u017cycia bez wys\u0142anego \u017c\u0105dania, <code data-no-translation=\"\">2<\/code> \u017c\u0105danie nie powiod\u0142o si\u0119, <code data-no-translation=\"\">3<\/code> zas\u00f3b nie istnieje.<\/p><h2 class=\"wp-block-heading\">Odpowiedzi b\u0142\u0119d\u00f3w<\/h2><p class=\"wp-block-paragraph\">B\u0142\u0119dy to JSON, nigdy strona HTML, a ka\u017cdy z nich zawiera kod, komunikat i wskaz\u00f3wk\u0119, co robi\u0107 dalej.<\/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\">Klient, kt\u00f3ry wysy\u0142a <code data-no-translation=\"\">Accept: application\/json<\/code>, lub kt\u00f3ry identyfikuje si\u0119 jako znany agent AI, otrzymuje taki kszta\u0142t dla ka\u017cdej brakuj\u0105cej \u015bcie\u017cki na stronie, nie tylko w przestrzeni nazw API. Przegl\u0105darka zachowuje normaln\u0105 stron\u0119 b\u0142\u0119du.<\/p><h2 class=\"wp-block-heading\">Limity \u017c\u0105da\u0144 i buforowanie<\/h2><p class=\"wp-block-paragraph\">Nie ma opublikowanego limitu. Odpowiedzi s\u0105 buforowane przez dziesi\u0119\u0107 minut u \u017ar\u00f3d\u0142a, wi\u0119c przeszukiwanie ca\u0142ego katalogu jest niedrogie dla obu stron. Prosz\u0119 wys\u0142a\u0107 identyfikator u\u017cytkownika, kt\u00f3ry Ci\u0119 identyfikuje, i preferuj jedno przej\u015bcie stronicowane zamiast wielu \u017c\u0105da\u0144 pojedynczych produkt\u00f3w.<\/p><h2 class=\"wp-block-heading\">Czego ten API celowo nie robi<\/h2><ul class=\"wp-block-list\"><li>Nie udost\u0119pnia koszyk\u00f3w, procesu realizacji zakupu, zam\u00f3wie\u0144, klient\u00f3w ani pobra\u0144. Te \u015bcie\u017cki s\u0105 zamkni\u0119te dla robot\u00f3w w <code data-no-translation=\"\">robots.txt<\/code> i nie s\u0105 opisane przez specyfikacj\u0119.<\/li><li>Nie udost\u0119pnia przet\u0142umaczonych slug\u00f3w. Wersje strony w r\u00f3\u017cnych j\u0119zykach u\u017cywaj\u0105 przet\u0142umaczonych adres\u00f3w URL, a ten API akceptuje tylko angielski slug.<\/li><li>Nie przelicza cen. Warto\u015bci s\u0105 w walucie bazowej zg\u0142oszonej przez <code data-no-translation=\"\">\/catalog<\/code>, a nie w walucie wybranej przez odwiedzaj\u0105cego.<\/li><li>Nie ma serwera MCP, karty agenta ani kana\u0142u webhook. Gdy taki istnieje, zostanie on wymieniony tutaj i w katalogu API, zamiast by\u0107 og\u0142oszonym przez pusty plik.<\/li><\/ul><p class=\"wp-block-paragraph\">Pytania dotycz\u0105ce API nale\u017c\u0105 do <a href=\"\/pl\/kontakt\/\">FiveMX contact page<\/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\/pl\/wp-json\/wp\/v2\/pages\/217485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/comments?post=217485"}],"version-history":[{"count":0,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/pages\/217485\/revisions"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/media?parent=217485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}