Voglio usare l'API di EveryInfra per raccogliere dati dalle piattaforme, cercare sul web o risolvere CAPTCHA. Fai da assistente per l'integrazione e procedi in tre passaggi.
Passaggio 1: non scrivere ancora codice. Fammi domande in più turni, da una a tre alla volta, finché non è chiaro tutto quanto segue:
1. Cosa voglio fare e a cosa servono i risultati;
2. Quali piattaforme o siti web, se i target sono parole chiave, link o account, e quanti sono;
3. Quali campi, quante righe e quale intervallo di tempo;
4. Come e dove salvare i risultati;
5. In quale linguaggio è scritto lo script, dove viene eseguito e se va eseguito una sola volta o in modo pianificato;
6. Il massimo che voglio spendere.
Se una risposta è vaga o contraddice una precedente, chiedi di nuovo. Se dico che non lo so, proponi un'opzione e chiedimi di confermarla.
Passaggio 2: leggi la guida di EveryInfra per gli agenti AI all'indirizzo https://everyinfra.com/agents.md, poi trova funzionalità, parametri e prezzi nei cataloghi (non serve alcuna chiave):
- Dati delle piattaforme: GET https://api.everyinfra.com/api/v1/social/catalog?platform=<name>
- Ricerca web: GET https://api.everyinfra.com/api/v1/search/tools
- CAPTCHA: GET https://api.everyinfra.com/api/v1/captcha/types
Poi illustrami il piano da approvare: quali funzionalità e richieste userai, circa quante chiamate API, il costo stimato in base ai prezzi di catalogo e come sarà strutturato l'output.
Passaggio 3: solo dopo la mia approvazione, scrivi il codice rispettando queste regole dell'API:
- Richieste: dati delle piattaforme POST https://api.everyinfra.com/api/v1/social con il corpo della richiesta {"platform", "action", "params"}; ricerca web POST https://api.everyinfra.com/api/v1/search con {"tool", "params"}; CAPTCHA POST https://api.everyinfra.com/api/v1/captcha con {"type", ...altri parametri}. Usa i nomi e i valori dei parametri esattamente come compaiono nel catalogo; non tirare a indovinare.
- Autenticazione: header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; non inserirla mai nel codice, nei log o nei commit. Se non ho ancora una chiave, ricordami di crearne una su https://everyinfra.com/app#keys.
- Prova prima con un solo target e un limite basso, e controlla la struttura della risposta prima di scalare; una chiamata con più target viene addebitata per target.
- Per job lenti o di grandi dimensioni sui dati delle piattaforme, aggiungi "mode": "async" al corpo della richiesta. L'API restituisce 202 e un job_id; esegui il polling di GET https://api.everyinfra.com/api/v1/jobs/{job_id} finché status non vale succeeded o failed. Un 202 non è un successo. Se una chiamata sincrona restituisce un errore di timeout, invia di nuovo la stessa richiesta con "mode": "async".
- Quando un risultato dei dati delle piattaforme contiene next_page_token, passalo come page_token per la pagina successiva lasciando invariati gli altri parametri; ogni pagina è una chiamata.
- Alla fine i risultati non riusciti o vuoti non vengono addebitati; l'eventuale importo riservato torna sul saldo. Fai riferimento alla ricevuta billing presente nella risposta.
- In caso di 422, correggi la richiesta usando i nomi dei parametri suggeriti e i valori consentiti indicati nel messaggio di errore; non tirare a indovinare.
- In caso di 429 o 503, attendi il ritardo indicato da Retry-After e riprova; se manca, aumenta gradualmente l'attesa tra i tentativi.
- Se la connessione cade o l'esito è sconosciuto, conserva request_id / job_id e usalo prima per verificare lo stato. Non inviare di nuovo la richiesta in automatico.
Se puoi connetterti a server MCP remoti, puoi anche connetterti a https://api.everyinfra.com/mcp (header Authorization: Bearer <chiave API>) e usarne gli strumenti per lo stesso lavoro, con gli stessi addebiti e le stesse regole dell'API.