HTTP API
Mag-authenticate, tumuklas ng mga tool at magkumpirma ng pagbabago gamit ang kasalukuyang HTTP API.
Ipadala ang mga product API request sa pinagkakatiwalaang Influence origin, gaya ng https://influence.so. Hindi tumatanggap ng product API request ang domain ng dokumentasyon. Gamitin ang eksaktong mga path sa ibaba nang walang query parameter.
Gumawa ng API key na may angkop na pahintulot
Sa mga setting ng Influence, buksan ang Mga app at automation → Mga API key. Piliin ang kailangan mong pahintulot at petsa ng pag-expire. Isang beses lang ipapakita ang key: itago ito sa secret store bilang PUBLISH_API_TOKEN. Ipadala sa Authorization: Bearer …, hindi sa URL, request body o chat. Bawiin ito kapag hindi na kailangan.
Tumuklas ng mga tool at magbasa ng data
Itakda ang PUBLISH_API_URL sa pinagkakatiwalaang origin. Ipinapalagay ng mga halimbawa na may PUBLISH_API_TOKEN na ang proseso. Kailangan ng accountList ang integrations:read; sundan ang mga pagination field para makuha ang susunod na mga pahina.
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":{}}'
Mga path ng request
| Paraan | Path | Gamit |
|---|---|---|
GET |
/api/v1/tools |
Inililista ang mga tool na available sa credential na ito. |
POST |
/api/v1/tools/{tool}/call |
Tumatawag ng read-only na tool. |
POST |
/api/v1/tools/{tool}/prepare |
Inihahanda ang eksaktong pagbabago nang hindi ito isinasagawa. |
POST |
/api/v1/tools/{tool}/confirm |
Kinukumpirma ang inihandang pagbabago. |
POST |
/api/v1/media/import |
Kinukumpirma ang inihandang binary upload ng maliit na larawan. |
Gumagamit ang mga JSON request ng Content-Type: application/json at body na input lang ang laman: {"input":{…}}. Kunin ang input schema ng bawat tool mula sa kasalukuyang catalog.
Ihanda at kumpirmahin ang mga pagbabago
- Ipadala ang eksaktong input ng operasyon sa
/prepare. Kasama sa matagumpay na response angstatus: "confirmation_required",confirmationCapability,expiresAt,inputDigestat opsyonal nasummary. - Bago mag-expire, ipadala ang parehong input sa
/confirm. Ilagay ang natanggap na confirmation value saX-Publish-Confirmationat bagong key na ginawa ng client saIdempotency-Key. - Itago nang magkakasama ang input, confirmation value at key. Kapag naputol ang confirmation o hindi tiyak ang resulta, gamitin muli ang tatlo para sa parehong request. Huwag maghanda ng kapalit na operasyon para bawiin ang hindi tiyak na resulta.
May 16–200 character ang idempotency key mula sa A–Z, a–z, 0–9, ., _, : at -. Mga lihim na opaque value ang confirmation capability. Hindi nagrereserba ng kumpirmadong pagbabago ang key na ipinadala sa /call o /prepare.
Hiwalay ang pagkumpirma ng request sa pag-apruba ng publikasyon. Para mag-publish o magbago ng iskedyul, gawin at ipakita ang kumpleto at kasalukuyang review. Kailangan ng teksto ang bagong pag-apruba pagkatapos nito. Kailangan namang makita at aprubahan ng tao ang mga larawan at video sa suportadong interface o matapos mag-sign in sa Influence. Walang napapublish sa paghahanda ng review. Basahin ang naka-save na resulta bago kumilos muli; ang needs_review ay nangangailangang alamin muna ang nangyari, hindi magpadala ulit.
Pangasiwaan ang mga error at hindi tiyak na resulta
Suriin ang HTTP status at body. Ang tagumpay ay {"ok":true,"toolName":"…","output":{…}}. Ang tool failure ay {"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}} at maaari pa ring may HTTP 200. Ang transport failure ay {"error":{"code":"…","message":"…","retryable":false}}, walang ok o toolName.
Nangangailangan ng authentication ang 401: tingnan kung expired o binawi ang access. Kailangan ng angkop na pahintulot kapag kulang ang access, hindi paulit-ulit na request. Ibig sabihin ng 503 ay hindi available ang API sa environment na iyon. Sundin ang error at retry guidance. Hindi patunay ng kabiguan ang timeout: itago ang confirmation data at basahin ang status bago magpadala muli. Magkakaiba ang tinanggap, nakaiskedyul at na-publish.
Mag-upload ng media
Para sa lokal na file, gamitin ang uploadMedia ng SDK o media:upload ng CLI. Pareho ang multipart upload tools nila at pinananatili ang isang clientKey para sa mga retry. Ready na resultang may assetId lang ang maaaring ilakip. Para sa awtorisadong HTTPS file reference, gamitin ang mediaImport; hindi download URL ang lokal na path.
Sinusuportahan ng POST /api/v1/media/import ang kasalukuyang transport para sa maliliit na larawan: ihanda ang mediaImport gamit ang eksaktong upload descriptor, saka ipadala ang parehong bytes bilang application/octet-stream. Isama ang X-Publish-Confirmation, Idempotency-Key at X-Publish-Upload na may URI-encoded na JSON descriptor. Dapat tumugma ang bytes sa laki at SHA-256 nito. Hanggang 3 MiB ito; gamitin ang upload helper para sa mas malalaking suportadong file. Hindi kailanman pag-apruba ng publikasyon ang pag-upload.
Tingnan ang API reference o i-download ang OpenAPI specification.