---
sidebar:
  order: 1
title: HTTP API
description: >-
  Ověřujte přístup, zjišťujte nástroje a potvrzujte změny přes existující HTTP API.
---

Požadavky produktového API posílejte na důvěryhodný origin Influence, například `https://influence.so`. Doména dokumentace produktové požadavky API nepřijímá. Používejte přesné níže uvedené cesty bez parametrů dotazu.

## Vytvořte klíč API s omezenými oprávněními [#create-a-scoped-api-key]

V [nastavení Influence](https://influence.so/sign-in?next=%2Fapp%2Fsettings%2Faccount%23settings-developer) otevřete Aplikace a automatizace → Klíče API. Vyberte potřebná oprávnění a dobu platnosti. Klíč zobrazený pouze 1× uložte do úložiště tajných údajů jako `PUBLISH_API_TOKEN`. Posílejte jej v `Authorization: Bearer …`; nikdy jej nevkládejte do URL, těla požadavku ani chatu. Jakmile jej nepotřebujete, odvolejte jej.

## Zjistěte nástroje a načtěte účty [#discover-tools-and-make-a-read]

Nastavte `PUBLISH_API_URL` na důvěryhodný origin. Příklady předpokládají, že proces už má `PUBLISH_API_TOKEN`. `accountList` vyžaduje `integrations:read`; pro další stránky použijte jeho stránkovací pole.

```sh
export PUBLISH_API_URL="https://influence.so"
curl "$PUBLISH_API_URL/api/v1/tools" \
  -H "Authorization: Bearer $PUBLISH_API_TOKEN"

curl "$PUBLISH_API_URL/api/v1/tools/accountList/call" \
  -H "Authorization: Bearer $PUBLISH_API_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '{"input":{}}'
```

## Cesty požadavků [#request-paths]

| Metoda | Cesta | Účel |
| --- | --- | --- |
| `GET` | `/api/v1/tools` | Vypíše nástroje dostupné pro tento přístupový údaj. |
| `POST` | `/api/v1/tools/{tool}/call` | Zavolá nástroj bez nutnosti potvrzení, včetně pokračování autorizovaného nahrávání. |
| `POST` | `/api/v1/tools/{tool}/prepare` | Připraví přesný zápis, ale neprovede jej. |
| `POST` | `/api/v1/tools/{tool}/confirm` | Potvrdí připravený zápis. |
| `POST` | `/api/v1/media/import` | Potvrdí připravené binární nahrání malého obrázku. |

Požadavky nástrojů v JSON používají `Content-Type: application/json` a tělo obsahující pouze `input`: `{"input":{…}}`. Schéma vstupu každého nástroje získejte z aktuálního katalogu.

## Připravte a potvrďte akce [#prepare-and-confirm-actions]

Řiďte se polem `confirmation` v katalogu: čtení obvykle potvrzení nepotřebuje, ale aktualizace Statistik je vyžaduje, přestože jde o čtení. Vyhledání částí nahrávání, dokončení a zrušení pokračují v již autorizovaném přenosu přes `/call`.

1. Přesný věcný vstup pošlete na `/prepare`. Úspěšná odpověď obsahuje `status: "confirmation_required"`, `confirmationCapability`, `expiresAt`, `inputDigest` a volitelný `summary`.
2. Před vypršením platnosti pošlete stejný vstup na `/confirm`. Vrácené potvrzovací oprávnění vložte do `X-Publish-Confirmation` a nový klíč vytvořený volajícím do `Idempotency-Key`.
3. Uchovejte vstup, potvrzovací oprávnění a klíč společně. Po přerušeném nebo nejistém potvrzení použijte pro stejný požadavek znovu všechny 3 hodnoty. Nejistý výsledek neobnovujte přípravou náhradní akce.

Idempotentní klíč obsahuje 16–200 znaků z `A–Z`, `a–z`, `0–9`, `.`, `_`, `:` a `-`. Potvrzovací oprávnění jsou neprůhledné tajné hodnoty. Klíč poslaný na `/call` nebo `/prepare` nerezervuje potvrzený zápis.

Transportní potvrzení je oddělené od schválení publikování. Při publikování nebo změně plánu předložte úplný aktuální podklad ke kontrole: účty, text, nastavení, skutečné náhledy médií nebo odkazy, naplánovaný čas a časové pásmo. U způsobilých kontrol sociálního textu, obrázků a videí může klient předat nový výslovný lidský souhlas pomocí `approval: "approved"`; nesmí si souhlas vymýšlet ani za něj považovat přípravu. Influence jej zaznamená jako souhlas nahlášený klientem. Podporovaná vložená karta nebo kontrola po přihlášení zaznamenává vlastní akci člověka.

TikTok Direct přijímá výslovné volby a souhlas v chatu přes [postup kontroly](/cs/developers/mcp#prepare-finished-content). Úplné volby uložte pomocí `campaignReview` a před provedením získejte nové schválení aktualizované kontroly. Karta ke kontrole je volitelná. Běžné plánování API/CLI nečerpá limit plánování AI; samostatný [limit MCP a Influence IQ](/cs/help/ai-assistants#scheduling-allowance) se řídí těmito postupy, i když je uložená AI kontrola později schválena v Influence. Ostatní požadavky tarifu a poskytovatele stále platí. Před další akcí načtěte uložený záznam výsledku; `needs_review` vyžaduje ověření skutečného stavu, nikoli nové odeslání.

## Chyby a nejisté výsledky [#handle-errors-and-uncertain-results]

Kontrolujte stav HTTP i tělo odpovědi. Úspěšné nástroje vracejí `{"ok":true,"toolName":"…","output":{…}}`. Chyby nástrojů vracejí `{"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}}` a mohou přijít s HTTP 200. Transportní chyby používají `{"error":{"code":"…","message":"…","retryable":false}}` bez `ok` a `toolName`.

Kód 401 znamená požadavek na ověření; zkontrolujte vypršení platnosti nebo odvolání přístupu. Chybějící oprávnění vyžaduje příslušné povolení, ne opakované požadavky. Kód 503 může znamenat nedostupnost služby nebo to, že pracovní prostor právě aktualizuje jiný požadavek plánování. Řiďte se vráceným kódem chyby a pokyny k opakování; akci publikování automaticky neopakujte. Timeout nedokazuje, že zápis selhal: uchovejte jeho potvrzovací údaje a před opakováním načtěte aktuální stav. Přijetí, naplánování a publikování jsou různé výsledky.

## Nahrávání médií [#upload-media]

Pro místní soubory upřednostněte `uploadMedia` ze SDK nebo `media:upload` z CLI. Používají stejné nástroje vícedílného nahrávání a při opakování zachovávají stabilní `clientKey`. Přiložit lze pouze připravený výsledek s `assetId`. Pro autorizovaný odkaz HTTPS použijte `mediaImport` s `url` a volitelným `name`. Skutečné odkazy na hostitelské soubory používají samostatný objekt `file`; veřejná URL nepotřebuje vymyšlené ID hostitelského souboru. Místní cesta není URL ke stažení. Viz [limity médií](/cs/help/media): import videa přes HTTPS má strop 250 MiB, i když přímé nahrání umožňuje větší hotové MP4.

`POST /api/v1/media/import` podporuje existující přenos malých obrázků: připravte `mediaImport` s přesným popisem nahrávání a poté odešlete stejné bajty jako `application/octet-stream`. Připojte `X-Publish-Confirmation`, `Idempotency-Key` a `X-Publish-Upload` s popisem JSON zakódovaným pro URI. Bajty musí odpovídat jeho velikosti a SHA-256. Tento přenos je omezený na 3 MiB; pro větší podporované soubory použijte pomocnou funkci nahrávání. Nahrání nikdy neschvaluje publikování.

[Projděte referenci API](/cs/api-reference) nebo [stáhněte specifikaci OpenAPI](/specs/influence.openapi.json).
