Skip to main content
Questo tutorial illustra il flusso completo di Ace Data Cloud X402 con una richiesta API minima. L’obiettivo non è scrivere codice complesso, ma comprendere: perché la prima richiesta restituisce 402, cosa c’è in accepts e come PAYMENT-SIGNATURE trasforma la stessa richiesta API in una richiesta già pagata.

Preparativi

Devi preparare: X402 non richiede un token API per chiamare l’API di Ace Data Cloud. La prima richiesta dell’SDK non include Authorization, il Gateway restituirà 402 Payment Required e la richiesta di pagamento; l’SDK riproverà automaticamente dopo la firma.

Installazione dell’SDK

Indirizzi del codice sorgente e del pacchetto: TypeScript:
Python:
Se desideri utilizzare Solana, è necessario installare le dipendenze corrispondenti:
La versione Python del firmatario Solana è già inclusa in acedatacloud-x402. Installazione e controllo dell’importazione in un ambiente temporaneo pulito:
Risultati:
  • I pacchetti npm e PyPI sono pacchetti pubblicati reali, non nomi segnaposto nella documentazione.
  • acedatacloud-x402[cli] installerà la CLI, il sottocomando approve-permit2 può essere utilizzato per l’autorizzazione Permit2 nello scenario upto.

La prima richiesta restituirà 402

Puoi prima utilizzare curl per vedere cosa restituisce una richiesta non pagata. L’esempio seguente non genererà addebiti, poiché non include PAYMENT-SIGNATURE:
Il corpo della risposta conterrà un array accepts, la struttura comune è la seguente:
La stessa sfida sarà anche presente in forma base64 nell’intestazione di risposta PAYMENT-REQUIRED, per consentire al client di leggere i requisiti di pagamento senza analizzare il corpo. Il riepilogo dell’output del programma per le richieste API non pagate è il seguente:
Risultati:
  • La prima richiesta non ha incluso Authorization o PAYMENT-SIGNATURE, quindi restituisce HTTP 402 e non genera addebiti.
  • accepts è l’unica base di firma attendibile per questa richiesta, contiene reti opzionali, schema, limite massimo, indirizzo di pagamento e indirizzo dell’asset.
  • network è l’identificatore CAIP-2, il client deve corrispondere la rete secondo la stringa CAIP-2.
  • L’importo massimo per la richiesta minima di chat gpt-4o-mini è 95215 USDC atomic, ovvero 0.095215 USDC.
  • Ogni richiesta dovrebbe leggere la risposta 402 corrente, non codificare l’importo di esempio nel codice aziendale.
Significato dei campi:

Completare il pagamento di retry con l’SDK

Di seguito è riportato un esempio minimo in TypeScript. Specifica network: 'skale', il gestore selezionerà il requisito di pagamento SKALE dalla risposta 402 corrente; l’importo effettivo e l’indirizzo di pagamento rimangono quelli di accepts.
Risultato dell’esecuzione del programma con SDK TypeScript sulla stessa catena:
Descrizione del risultato:
  • content ADC_TS_SDK_X402_OK è una stringa fissa restituita dal modello in base alla parola chiave, che indica che la richiesta è realmente entrata nell’API del modello dopo un tentativo di pagamento.
  • payer è l’indirizzo del portafoglio firmato localmente, la chiave privata non è stata inviata ad Ace Data Cloud.
  • SDK ha completato l’analisi del 402, la firma PAYMENT-SIGNATURE e il ripristino della richiesta originale; il codice aziendale è ancora scritto secondo il normale modo di chiamata dell’SDK.
Quattro passaggi sono avvenuti dietro questa parte di codice:
  1. SDK invia una normale richiesta API, senza Authorization.
  2. Gateway restituisce 402 Payment Required e accepts.
  3. createX402PaymentHandler seleziona il requisito di pagamento network = 'skale' e firma PAYMENT-SIGNATURE.
  4. SDK ripete la stessa richiesta, il Gateway chiama il Facilitator per verificare e regolare prima di rilasciare all’API di destinazione.

Visualizza le capacità di supporto del Facilitator

L’API X402 non dipende da un catalogo di risorse. Il client chiama direttamente API conosciute e utilizza il 402 Payment Required e accepts restituiti in tempo reale come unico riferimento per prezzo e firma. Le dichiarazioni di capacità del Facilitator si trovano in:
Descrive solo /supported, /verify, /settle e le reti di pagamento attualmente abilitate, senza elencare le risorse API. L’indirizzo del Facilitator di produzione di Ace Data Cloud è:
Puoi vedere quali reti e schemi supporta:
I kinds restituiti elencheranno le reti e gli schemi supportati dal Facilitator. Durante la chiamata effettiva, si fa riferimento a accepts restituito dall’API. Output di Facilitator /supported:
Descrizione del risultato:
  • /supported indica che il Facilitator ha capacità di verifica e regolazione per queste reti e schemi.
  • Base, SKALE e Solana supportano exact; upto è attualmente disponibile solo su Base.
  • Se un’API consente o meno una certa rete, si fa riferimento a accepts del 402 di quell’API.