Co se v API změnilo. Nejnovější nahoře. Zpět na dokumentaci.
/v1 se
bez ohlášení smí: přidat nové pole do odpovědi, nový endpoint,
nová webhook událost (proto neznámá pole a neznámé názvy událostí vždy ignorujte).
Nikdy se v /v1 nezmění: název ani typ existujícího pole, význam
stavů, formát chyb ani podpis webhooků. Kdyby taková změna byla nutná, vyjde jako
/v2 a /v1 poběží souběžně dál s předstihem ohlášeného konce.Bloger, jehož web obsluhuje vlastní systém (agent) napojený na API, může články dodané inzerentem vydávat sám a inzerent u jeho nabídky vidí okamžitou publikaci stejně jako u WordPress pluginu nebo webu ze šablony.
PATCH /v1/blogs/{id}: agent_publish (true zapne, false vypne; nejde vedle pluginu nebo GitHubu, odpověď 409)
a categories [{id, name, default?}], rubriky, ze kterých inzerent při objednávce vybírá (nejvýš 50, id si číslujete sami).GET /v1/blogs: nové pole publishing (mode manual | wordpress | github | agent,
instant_publish, categories, deadline_minutes).deal.accepted: deal.published_by (agent | placla | bloger), deal.category_id
(rubrika zvolená inzerentem) a deal.publish_deadline (do kdy má agent odevzdat URL, 60 minut).GET /v1/deals/{id}/text: published_by a category_id. Při agent vezměte text a fotky,
článek vydejte a odevzdejte URL přes POST /v1/deals/{id}/article; bez odevzdání do lhůty dostane bloger výzvu k ručnímu vydání.text_obchodu (text, fotky, published_by, category_id)
a nastav_publikaci_agentem (zapnout, rubriky); moje_blogy vrací publishing.POST /v1/offers/{id}/accept: u poptávky pouze publikace lze poslat photos
([{n, data}], n = 0 titulní fotografie, 1 až 5 fotky na místa značek [fotoN] v article_text,
data = JPG v base64) a category_id (rubrika webu). Web s okamžitou publikací (WordPress plugin 0.3.2 a novější,
nebo web ze šablony) článek vydá automaticky do několika sekund; odpověď nese instant_publish.GET /v1/demands/{id}/offers: u pouze publikace každá nabídka nese instant_publish
a u něj categories k výběru rubriky.POST /v1/demands: podklady už u poptávky: shared_text + article_text
(jeden článek pro všechny weby), title_photo (bloger | shared | each), photos.
GET /v1/demands/{id} je vrací v materials; soubory na /v1/demands/{id}/photos/{n}.GET /v1/deals/{id}/text pro blogera: photos (titulní a fotky ke značkám,
soubory na /v1/deals/{id}/photos/{n}) a instant_publish.akceptuj_nabidku má fotky a id_rubriky, zaloz_poptavku
má text_clanku, spolecny_text, titulni_fotografie a fotky.deal.accepted: deal.instant_publish (článek vydá PlaCla sama, bloger nic nepublikuje).demand.created a GET /v1/blogs/{id}/demands
nově nesou description, tedy zadání článku. Dosud tam bylo jen expectation
(cíl inzerenta, např. „Zlepšení ve vyhledávačích“), což si AI klienti pletli se zadáním.deal.accepted: deal.demand obsahuje kromě id a názvu
i url, keywords, description, expectation, ns
a publication.GET /v1/demands/{id} pro blogery: plné zadání aktivní poptávky
(VIP jen s vazbou na váš blog) nebo poptávky, na kterou máte obchod, i před nabídkou.detail_poptavky; vhodne_poptavky u blogera
vyžaduje id_blogu a vrací poptávky pro daný blog (dřív pro blogera skončil chybou).
Popisy nástrojů a skill blogera vysvětlují rozdíl description × expectation.GET /v1/blogs) vrací monthly_visitors_stale:
true, když je návštěvnost starší než měsíc. Takový web se u poptávek nenabízí, dokud
bloger návštěvnost neaktualizuje (PATCH /v1/blogs/{id} s monthly_visitors).
Dřív se to dalo poznat jen z data monthly_visitors_updated nebo z chyby
blog_neuplny při nabídce.aktualizuj_navstevnost (id blogu, návštěvnost) zapíše
měsíční návštěvnost; totéž co PATCH /v1/blogs/{id} s monthly_visitors.expectation u založení poptávky přijímá i kód
4 = „Dostat se do odpovědí AI (ChatGPT, Gemini, Perplexity)“. Stejná volba je ve formuláři na webu.POST /v1/deals/{id}/rating, volitelně i při
payout) se ukládá do jednotné zpětné vazby; pole rating v detailu obchodu
se z ní i čte. U payout přibylo rating (1–5); starší
ratings se čtyřmi známkami se dál přijímá a uloží se jejich průměr.rating je kód důvodu (1 netematický web,
2 nekvalitní web, 3 jiný důvod, 4 drahá nabídka), reason volný text; obojí se
ukládá do zpětné vazby a správce je vidí u webu.demand.keyword_urls vrací klíčová slova a odkazy
upřesněné pro tento obchod, pokud je inzerent zadal; jinak zadání poptávky (jako web).state vrací jen stavy, které
role vidí na webu (nabídky, běžící, ke schválení, arbitráž, proplacené); odmítnuté,
zrušené a archivované jen přes explicitní ?state=. Inzerentovi se
proplacené ukazují 2 roky od proplacení; výpis k jedné poptávce
(demand_id) limit nemá — jako web.422 dovolena); pozastavený blog nevidí ani VIP poptávky.GET /v1/payouts: nové pole
arbitration — články v arbitráži zvlášť (web je má v samostatné sekci);
pending nese jen články ke schválení. Hromadné proplacení
all: true přeskočí obchody s reklamací (jako web) — proplatíte je
jednotlivě přes ids nebo /deals/{id}/payout.lower_price_allowed, jinak
422 nizsi_cena_nepovolena (web tlačítko ostatním vůbec neukazuje)./claim nyní
používá stejnou logiku jako /claims (správné události v historii).GET /deals/{id}/messages vrátí
409 obchod_uzavren, stejně jako ji neukazuje web.409 obchod_uzavren.expires_in. Re-autorizace
téhož klienta nahradí jeho starý klíč, aktivní připojení z jiného zařízení neruší.read
(pak nic nemění ani neutrácí); souhlasná stránka podle toho ukáže, co povoluje.
Bez uvedení scope zůstává read write jako dosud.422); odmítnuté (4xx) operace se neuchovávají,
takže po nápravě vstupu jde volání zopakovat se stejným klíčem. Souběžné opakování
zápisu neprovede akci dvakrát.orezano.openapi.yaml opraven (GET i POST u
/blogs a /demands).POST /v1/deals/{id}/claims —
obě role; příspěvek se propíše do vlákna reklamace (dosud šel jediný zápis do
komunikace). Volitelné "arbitration": true
(jen ke_schvaleni, min. 50 znaků) předá spor arbitrovi. Dosavadní
POST /deals/{id}/claim zůstává jako alias.422 podezrely_obsah s radami; vědomé odeslání beze změny je možné
zopakováním volání s "presto_odeslat": true.odpovez_na_reklamaci, rozšířené popisy
napis_zpravu a reklamuj_clanek.https://api.placla.cz/mcp
a kliknutím na Povolit; vzniklý přístup je běžný API klíč, který lze kdykoli
zrušit v nastavení účtu.https://api.placla.cz/mcp — PlaClu
lze připojit do Claude, ChatGPT a dalších AI asistentů; přihlášení stávajícím
API klíčem, nástroje podle role (bloger / inzerent), zápisy idempotentní.
Viz MCP pro AI asistenty.POST /v1/offers/{id}/accept —
včetně nižší ceny (min. 75 %), extra služeb, klíčových slov, poznámky a dodání
hotového textu.POST /v1/deals/{id}/payout (+ hromadné
POST /v1/deals/payout) — v transakci, idempotentní (opakování =
409 jiz_proplaceno)./cancel, odmítnutí
/decline, odložení /defer+/restore,
blokace blogu /block, reklamace
/claim, hodnocení /rating,
aktivace poptávky /activate+/deactivate.POST /v1/demands — čtyři druhy
(standard, vip, publication, writing) se stejnými pravidly a minimy cen jako
formulář na webu; vzniká rovnou aktivní.POST /v1/blogs — jako formulář
webu včetně načtení Moz metrik; čeká na schválení redakcí. Sociální profily
(FB/Twitter) API záměrně nepodporuje.POST /v1/deals/{id}/messages — obě role;
protistrana dostane mail i webhook.GET /v1/credit/transactions
(pokladní deník), GET /v1/logs (historie účtu),
GET /v1/spend (útrata inzerenta po měsících),
GET /v1/invoices (faktury a proformy s odkazy),
POST /v1/credit/top-up (dobití převodem — proforma + platební údaje).offer.created (nová nabídka k poptávce)
a claim.created / message.created od protistrany.demand.created
nově chodí deal.accepted (inzerent objednal), deal.paid
(článek proplacen), claim.created (nová připomínka/reklamace)
a message.created (nová zpráva k obchodu). Bez registrace nové verze —
chodí automaticky všem registrovaným webhookům; neznámé události ignorujte.GET /v1/deals/{id} — detail obchodu s plným zadáním poptávky i po akceptaci.GET /v1/deals?zmeneno_od= a pole changed_at — přírůstková synchronizace.GET /v1/deals/{id}/messages a GET /v1/deals/{id}/claims — obsah komunikace a reklamací.web_url u obchodů — hotový odkaz na detail na webu.POST /v1/webhook/test, GET /v1/webhook/deliveries,
POST /v1/webhook/rotate-secret — ladění a správa webhooku.X-RateLimit-Limit / -Remaining / -Reset na každé odpovědi.demand.created,
API klíče v nastavení účtu, dokumentace a návody.PlaCla API v1 · dokumentace · [email protected]