Felo API PlatformFelo API Platform

OpenAPI rozliczenia i błędy

Dostawca: Felo · Płatność z salda platformy

Ta strona dotyczy /api/v1/data/*, czyli wyłącznych dla platformy API OpenAPI Felo. Wywołania korzystają z salda platformy, salda kredytów usługowych denominowanego w USD. Nie zużywają kredytów Felo Pro. Starsze Felo APIs pod /v2 używają kredytów Pro.

Odczytaj bieżące ceny

curl -sS https://openapi.felo.ai/api/v1/data/prices

Ten publiczny punkt końcowy nie wymaga klucza. Dopasowuj jego wpisy po identyfikatorze operacji i odczytuj bieżącą stawkę oraz jednostkę rozliczeniową; nie zakładaj, że każda operacja kosztuje tyle samo, ani nie przenoś stawki z przykładu do swojej aplikacji.

ID operacjiJednostka rozliczeniowa
web.search, web.read, chatŻądanie
x.user.info, x.user.search, x.user.tweets, x.tweet.search, x.tweet.repliesZwrócony wynik
ppt.generateWygenerowana strona
ppt.exportŻądanie eksportu
ppt.generate.status, ppt.generate.historical, ppt.export.status, ppt.deleteBrak nowej opłaty

Bezpłatne zapytanie o status nie czyni darmowym samego generowania ani eksportu. W przypadku X stronicowanie i zagnieżdżone zwrócone rekordy mogą zwiększyć rozliczane użycie.

Saldo i rezerwacje

Przed wykonaniem usługa może zarezerwować wystarczające saldo dla operacji. Udane wykonanie rozlicza się względem tej rezerwacji; potwierdzona porażka ją zwalnia. W przypadku zadań asynchronicznych zwrócenie identyfikatora nie oznacza, że rozliczenie jest już ostateczne.

Cennik stron PPT rezerwuje dziesięć stron przy utworzeniu. Udane generowanie rozlicza rzeczywisty wynik i zwalnia niewykorzystane środki. Generowanie i eksport to osobne opłaty. Zobacz przepływ pracy PPT w sprawie zachowania przy ponownym eksporcie.

Jeśli wykonanie lub rozliczenie jest niepewne, rezerwacja może pozostać w stanie oczekującym, podczas gdy usługa ją uzgadnia. Nie traktuj każdego timeoutu ani 5xx jako dowodu, że nic się nie wydarzyło lub że powtórzone żądanie jest darmowe.

Sprawdź dostępne saldo i użycie w Console Billing. W kwestiach doładowania na poziomie konta zobacz Billing and Credits.

Sprawdzaj użycie portfela przez API

Właściciele kont mogą sprawdzać rekordy wywołań portfela, używając tokena logowania Felo. Ten poświadczenie różni się od API Key używanego do wywołań Data API; nie zastępuj go FELO_API_KEY.

curl -sS 'https://openapi.felo.ai/api/wallet/usage?call_type=data' \
  -H 'Authorization: Bearer YOUR_FELO_LOGIN_TOKEN'

Rekordy znajdują się w data.items; call_type=data filtruje wywołania możliwości. Porównaj użycie z aktualnymi cenami konta. Odczyt rekordów nie wysyła kolejnego zadania generowania. Console Billing pozostaje dostępne do przeglądu konta i doładowań.

Czytaj błędy defensywnie

Najpierw sprawdź status HTTP. Błędy mogą przyjmować jedną z tych postaci; poniższe wartości mają charakter poglądowy:

{"error":{"code":"invalid_parameter","message":"Check the request fields"},"request_id":"example-request-id"}
{"status":402,"code":"INSUFFICIENT_BALANCE","message":"Insufficient balance","request_id":"example-request-id"}

Odczytaj error.code / error.message, gdy są obecne, w przeciwnym razie code / message. Zachowaj request_id, jeśli został zwrócony. Udane odpowiedzi różnią się w zależności od operacji; nie wymuszaj ich wszystkich do tego samego błędu lub otoczki data.

Zdecyduj, co zrobić dalej

Status HTTPTypowa przyczynaNastępny krok
400Brakujący lub nieprawidłowy parametrPopraw żądanie przed ponowną próbą
401Brakujący, nieprawidłowy, odwołany lub wygasły kluczSprawdź klucz i nagłówek uwierzytelniania
402Niewystarczające saldo platformySprawdź dostępne saldo i oczekujące rezerwacje; w razie potrzeby doładuj
404Zasób brakujący lub niedostępny dla tego kontaSprawdź identyfikator i konto tworzące
409Operacja koliduje z bieżącym stanem zadania lub wykonanie nie jest potwierdzoneOdczytaj kod błędu i sprawdź istniejące zadanie; nie duplikuj go od razu
410Zasób wygasł lub został usuniętyUżyj zapisanego pliku; utwórz nowe zadanie tylko jeśli to konieczne
429Przekroczono limit żądań lub limit quota klucza APISprawdź informacje o odnowieniu; zwolnij tempo lub poczekaj na reset quota
502 / 503 / 504Awaria nadrzędna, dostępności, limitu czasu lub rozliczeniaSprawdź, czy praca już istnieje, zanim ponownie spróbujesz operacji płatnej

execution_unconfirmed (409) i billing_settlement_pending (503) wymagają szczególnej ostrożności: nie wysyłaj natychmiast ponownie płatnej pracy. Sprawdź znane zadania lub skontaktuj się ze wsparciem, podając identyfikator żądania. Udany status HTTP z pustym wynikiem to co innego niż odpowiedź błędu.

Ponawiaj bez tworzenia duplikatów pracy

  • W przypadku tylko do odczytu zapytań o status zadania i status eksportu używaj ograniczonego backoffu i respektuj Retry-After, gdy jest obecny.
  • W przypadku nieudanego żądania utworzenia z zapisanym task_id sprawdź to zadanie przed utworzeniem kolejnego.
  • Jeśli połączenie nie powiodło się zanim otrzymałeś identyfikator, wynik może być nieznany. Nie zakładaj, że ponowne wysłanie zduplikuje żądanie w sposób deduplikowany.
  • W przypadku 429 odróżnij krótki limit szybkości od okna quota klucza API; wielokrotne ponawianie nie zresetuje quota.
  • Zatrzymaj ponawianie po skonfigurowanym terminie i pokaż wywołującemu działający komunikat o błędzie.

Do wsparcia podaj punkt końcowy, przybliżony czas, status HTTP i identyfikator żądania. Nigdy nie podawaj pełnego klucza API.

Potrzebujesz pomocy?