API HTTP
Uwierzytelniaj się, wykrywaj narzędzia i potwierdzaj zmiany przez istniejące API HTTP.
Wysyłaj żądania do API produktu pod zaufany adres bazowy Influence, np. https://influence.so. Domena dokumentacji nie przyjmuje żądań do API produktu. Używaj dokładnych ścieżek podanych poniżej, bez parametrów zapytania.
Utwórz klucz API o ograniczonych uprawnieniach
W ustawieniach Influence otwórz Aplikacje i automatyzacje → Klucze API. Wybierz potrzebne uprawnienia i termin ważności. Zapisz klucz, który jest pokazywany tylko raz, w magazynie sekretów jako PUBLISH_API_TOKEN. Wysyłaj go w Authorization: Bearer …; nigdy nie umieszczaj go w adresie URL, treści żądania ani czacie. Unieważnij go, gdy nie będzie już potrzebny.
Wykrywaj narzędzia i odczytuj konta
Ustaw PUBLISH_API_URL na zaufany adres bazowy. Te przykłady zakładają, że Twój proces ma już PUBLISH_API_TOKEN. accountList wymaga integrations:read; korzystaj z jego pól paginacji, aby pobierać kolejne strony.
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":{}}'
Ścieżki żądań
| Metoda | Ścieżka | Cel |
|---|---|---|
GET |
/api/v1/tools |
Wyświetl narzędzia dostępne dla tych danych uwierzytelniających. |
POST |
/api/v1/tools/{tool}/call |
Wywołaj narzędzie niewymagające potwierdzenia, w tym do kontynuowania autoryzowanego przesyłania. |
POST |
/api/v1/tools/{tool}/prepare |
Przygotuj dokładną operację zapisu bez jej wykonywania. |
POST |
/api/v1/tools/{tool}/confirm |
Potwierdź przygotowaną operację zapisu. |
POST |
/api/v1/media/import |
Potwierdź przygotowane przesłanie małego obrazu w postaci binarnej. |
Żądania JSON do narzędzi używają Content-Type: application/json i treści zawierającej tylko input: {"input":{…}}. Schemat wejściowy każdego narzędzia pobierz z aktualnego katalogu narzędzi.
Przygotowuj i potwierdzaj działania
Korzystaj z pola confirmation w katalogu: odczyty zwykle nie wymagają potwierdzenia, ale odświeżenie Statystyk wymaga go, mimo że jest odczytem. Wyszukiwanie części przesyłanego pliku, zakończenie i anulowanie przesyłania kontynuują już autoryzowany transfer przez /call.
- Wyślij dokładne dane wejściowe operacji do
/prepare. Pomyślna odpowiedź zawierastatus: "confirmation_required",confirmationCapability,expiresAt,inputDigesti opcjonalnesummary. - Przed upływem terminu ważności wyślij te same dane wejściowe do
/confirm. Umieść zwróconą wartość confirmationCapability wX-Publish-Confirmation, a nowy klucz wygenerowany przez wywołującego wIdempotency-Key. - Przechowuj razem dane wejściowe, wartość confirmationCapability i klucz. Po przerwanym potwierdzeniu lub niepewnej odpowiedzi użyj ponownie wszystkich trzech wartości dla tego samego żądania. Nie przygotowuj zastępczego żądania, aby odzyskać niepewny wynik.
Klucz idempotencji zawiera 16–200 znaków z zestawu A–Z, a–z, 0–9, ., _, : i -. Wartości confirmationCapability są nieprzezroczystymi sekretami. Klucz wysłany do /call lub /prepare nie rezerwuje potwierdzonej operacji zapisu.
Potwierdzenie na poziomie transportu jest oddzielne od zatwierdzenia publikacji. W przypadku publikacji lub zmiany harmonogramu przedstaw kompletną, aktualną wersję do weryfikacji: konta, tekst, ustawienia, podglądy rzeczywistych multimediów lub linki do nich, zaplanowany czas i strefę czasową. Klient może zgłosić nowe, wyraźne zatwierdzenie przez człowieka za pomocą approval: "approved" w kwalifikujących się przypadkach weryfikacji postów społecznościowych z tekstem, obrazem lub filmem; nie może wymyślać zgody ani traktować przygotowania jako zatwierdzenia. Influence zapisuje to jako zatwierdzenie zgłoszone przez klienta. Obsługiwana osadzona karta lub weryfikacja po zalogowaniu zapisuje własne działanie człowieka.
TikTok Direct przyjmuje wyraźne wybory i zgodę z czatu w ramach procesu weryfikacji. Zapisz komplet wyborów za pomocą campaignReview, a następnie uzyskaj nowe zatwierdzenie zaktualizowanej wersji przed wykonaniem działania. Karta weryfikacji jest opcjonalna. Zwykłe planowanie przez API/CLI nie wykorzystuje limitu planowania przez AI; odrębny limit MCP i Influence IQ dotyczy tych procesów nawet wtedy, gdy zapisany przegląd AI zostanie później zatwierdzony w Influence. Pozostałe wymagania planu i dostawcy nadal obowiązują. Przeczytaj zapisane potwierdzenie wyniku przed dalszym działaniem; needs_review wymaga wyjaśnienia stanu, a nie kolejnego wysłania.
Obsługuj błędy i niepewne wyniki
Sprawdzaj zarówno status HTTP, jak i treść odpowiedzi. Pomyślne wywołania narzędzi zwracają {"ok":true,"toolName":"…","output":{…}}. Błędy narzędzi zwracają {"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}} i mogą nadejść ze statusem HTTP 200. Błędy transportu używają {"error":{"code":"…","message":"…","retryable":false}} bez ok ani toolName.
Status 401 oznacza, że wymagane jest uwierzytelnienie; sprawdź, czy dane wygasły lub zostały cofnięte. Brak uprawnienia wymaga odpowiedniego nadania dostępu, a nie powtarzania żądań. Status 503 może oznaczać niedostępność usługi albo aktualizowanie obszaru roboczego przez inne żądanie planowania. Kieruj się zwróconym kodem błędu i wskazówkami ponowienia; nie powtarzaj automatycznie działania publikującego. Przekroczenie czasu oczekiwania nie dowodzi, że operacja zapisu się nie powiodła: zachowaj dane potwierdzenia i odczytaj aktualny status przed ponownym wysłaniem. Przyjęcie, zaplanowanie i opublikowanie to różne wyniki.
Przesyłaj multimedia
Dla plików lokalnych wybieraj uploadMedia z SDK lub media:upload z CLI. Korzystają one z tych samych narzędzi przesyłania wieloczęściowego i zachowują stały clientKey na potrzeby ponawiania prób. Dołączyć można tylko gotowy wynik z assetId. Dla autoryzowanego linku HTTPS użyj mediaImport z url i opcjonalnym name. Rzeczywiste odwołania do plików udostępnianych przez hosta używają odrębnego obiektu file; publiczny adres URL nie potrzebuje wymyślonego identyfikatora pliku hosta. Lokalna ścieżka pliku nie jest adresem URL do pobrania. Zobacz limity multimediów: import filmu przez HTTPS jest ograniczony do 250 MiB, nawet jeśli większy gotowy plik MP4 byłby dozwolony przy bezpośrednim przesyłaniu.
POST /api/v1/media/import obsługuje istniejący transport małych obrazów: przygotuj mediaImport z dokładnym deskryptorem przesyłania, a następnie wyślij te same bajty jako application/octet-stream. Dołącz X-Publish-Confirmation, Idempotency-Key i X-Publish-Upload zawierający deskryptor JSON zakodowany w formacie URI. Bajty muszą być zgodne z jego rozmiarem i SHA-256. Limit tego transportu wynosi 3 MiB; do większych obsługiwanych plików użyj funkcji pomocniczej przesyłania. Przesłanie pliku nigdy nie zatwierdza publikacji.
Przeglądaj dokumentację API lub pobierz specyfikację OpenAPI.