HTTP API
Autentifică-te, descoperă instrumentele și confirmă modificările prin API-ul HTTP existent.
Trimite cererile API ale produsului către originea Influence de încredere, de exemplu https://influence.so. Domeniul documentației nu acceptă cereri API ale produsului. Folosește exact căile de mai jos, fără parametri de interogare.
Creează o cheie API cu permisiuni limitate
În setările Influence, deschide Aplicații și automatizări → Chei API. Alege permisiunile necesare și un termen de expirare. Păstrează cheia afișată doar 1 dată în depozitul tău de secrete, ca PUBLISH_API_TOKEN. Trimite-o în Authorization: Bearer …; nu o include niciodată într-un URL, în corpul cererii sau în chat. Revoc-o când nu mai ai nevoie de ea.
Descoperă instrumentele și citește conturile
Setează PUBLISH_API_URL la originea de încredere. Exemplele presupun că procesul tău are deja PUBLISH_API_TOKEN. accountList necesită integrations:read; urmează câmpurile sale de paginare pentru a obține paginile următoare.
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":{}}'
Căile cererilor
| Metodă | Cale | Scop |
|---|---|---|
GET |
/api/v1/tools |
Listează instrumentele disponibile acestor date de acces. |
POST |
/api/v1/tools/{tool}/call |
Apelează un instrument care nu necesită confirmare, inclusiv continuările autorizate ale încărcărilor. |
POST |
/api/v1/tools/{tool}/prepare |
Pregătește o modificare exactă fără a o executa. |
POST |
/api/v1/tools/{tool}/confirm |
Confirmă modificarea pregătită. |
POST |
/api/v1/media/import |
Confirmă încărcarea binară pregătită a unei imagini mici. |
Cererile JSON ale instrumentelor folosesc Content-Type: application/json și un corp care conține doar input: {"input":{…}}. Obține schema de intrare a fiecărui instrument din catalogul actual.
Pregătește și confirmă acțiunile
Folosește câmpul confirmation din catalog: citirile nu necesită de obicei confirmare, însă actualizarea statisticilor o necesită, deși este o citire. Obținerea informațiilor despre părțile încărcării, finalizarea și anularea continuă o încărcare deja autorizată prin /call.
- Trimite datele exacte ale operațiunii la
/prepare. Un răspuns reușit conținestatus: "confirmation_required",confirmationCapability,expiresAt,inputDigestși, opțional,summary. - Înainte de expirare, trimite aceleași date de intrare la
/confirm. Pune permisul returnat înX-Publish-Confirmationși o cheie nouă generată de apelant înIdempotency-Key. - Păstrează împreună datele de intrare, permisul și cheia. După o confirmare întreruptă sau incertă, refolosește-le pe toate cele 3 pentru aceeași cerere. Nu pregăti o înlocuire pentru a recupera un rezultat incert.
O cheie de idempotență conține 16–200 de caractere din A–Z, a–z, 0–9, ., _, : și -. Permisele de confirmare sunt secrete opace. O cheie trimisă la /call sau /prepare nu rezervă o modificare confirmată.
Confirmarea transportului este separată de aprobarea publicării. Pentru modificări ale publicării sau programării, prezintă verificarea curentă completă: conturi, text, setări, previzualizări sau linkuri către fișierele media reale, ora programată și fusul orar. Clientul poate raporta o aprobare umană nouă și explicită prin approval: "approved" pentru verificările eligibile ale postărilor sociale cu text, imagini și video; nu trebuie să inventeze consimțământul sau să trateze pregătirea ca aprobare. Influence o înregistrează ca aprobare raportată de client. Un card încorporat compatibil sau o verificare după autentificare înregistrează propria acțiune umană.
TikTok Direct acceptă alegeri explicite și consimțământ în chat prin fluxul de verificare. Salvează toate alegerile prin campaignReview, apoi obține o nouă aprobare a verificării actualizate înainte de execuție. Cardul de verificare este opțional. Programarea obișnuită prin API/CLI nu consumă limita de programare prin IA; limita separată MCP și Influence IQ se aplică acelor fluxuri chiar și când o verificare IA salvată este aprobată ulterior în Influence. Celelalte cerințe ale planului și platformei rămân valabile. Citește rezultatul salvat înainte de alte acțiuni; needs_review cere reconciliere, nu o nouă trimitere.
Gestionează erorile și rezultatele incerte
Verifică atât starea HTTP, cât și corpul răspunsului. Apelurile reușite ale instrumentelor returnează {"ok":true,"toolName":"…","output":{…}}. Erorile instrumentelor returnează {"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}} și pot veni cu HTTP 200. Erorile de transport folosesc {"error":{"code":"…","message":"…","retryable":false}}, fără ok sau toolName.
Un 401 înseamnă că autentificarea este necesară; verifică expirarea sau revocarea. O permisiune lipsă cere acordarea accesului potrivit, nu cereri repetate. Un 503 poate indica indisponibilitatea serviciului sau o altă cerere de programare care actualizează spațiul de lucru. Urmează codul de eroare și instrucțiunile de reîncercare primite; nu repeta automat o acțiune de publicare. Depășirea timpului de așteptare nu dovedește că o modificare a eșuat: păstrează datele de confirmare și citește starea curentă înainte de retrimitere. Acceptat, programat și publicat sunt rezultate diferite.
Încarcă fișiere media
Pentru fișiere locale, preferă uploadMedia din SDK sau media:upload din CLI. Folosesc aceleași instrumente de încărcare multipart și păstrează un clientKey stabil pentru reîncercări. Poate fi atașat doar un rezultat gata de utilizare, cu assetId. Pentru un link HTTPS autorizat, folosește mediaImport cu url și, opțional, name. Referințele reale la fișierele gazdei folosesc obiectul file separat; un URL public nu are nevoie de un ID inventat de fișier al gazdei. O cale de fișier local nu este un URL de descărcare. Vezi limitele media: importul video prin HTTPS este limitat la 250 MiB, chiar dacă un MP4 pregătit mai mare ar fi permis prin încărcare directă.
POST /api/v1/media/import acceptă transportul existent pentru imagini mici: pregătește mediaImport cu descriptorul exact al încărcării, apoi trimite aceiași octeți ca application/octet-stream. Include X-Publish-Confirmation, Idempotency-Key și X-Publish-Upload, care conține descriptorul JSON codificat pentru URI. Octeții trebuie să corespundă dimensiunii și SHA-256 din descriptor. Acest transport este limitat la 3 MiB; pentru fișiere compatibile mai mari, folosește funcția de încărcare. Încărcarea nu aprobă niciodată publicarea.