Démarrage rapide MPP
Payez une page de recherche avancée TwexAPI avec Tempo USDC et le client mppx.
Démarrage rapide MPP
Effectuez une requête de recherche avancée TwexAPI à l’usage sans clé API TwexAPI. Ce guide utilise le client mppx pour répondre au défi HTTP 402, payer avec Tempo USDC et réessayer automatiquement la requête.
Étape 1 : Installer les dépendances du client
npm install mppx viem
mppx gère les défis et paiements MPP. viem convertit une clé privée Tempo en compte portefeuille utilisé par le client.
Étape 2 : Créer et approvisionner un portefeuille Tempo
Créez un compte MPP local, puis exportez sa clé privée :
mppx account create
mppx account export
Approvisionnez l’adresse affichée en USDC sur Tempo. Stockez la clé privée exportée 0x... dans une variable d’environnement :
export TEMPO_PRIVATE_KEY="0x..."
Étape 3 : Effectuer une requête MPP
Créez mpp-search.ts :
import { Mppx, tempo } from "mppx/client";
import { privateKeyToAccount } from "viem/accounts";
Mppx.create({
methods: [
tempo({
account: privateKeyToAccount(
process.env.TEMPO_PRIVATE_KEY as `0x${string}`,
),
}),
],
});
const response = await fetch(
"https://api.twexapi.io/twitter/advanced_search/page",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
searchTerms: ["openai"],
sortBy: "Latest",
}),
},
);
if (!response.ok) {
throw new Error(`TwexAPI request failed: ${response.status}`);
}
console.log(await response.json());
Mppx.create() configure fetch pour gérer un défi MPP 402 Payment Required. Pour un endpoint éligible, il paie l’offre Tempo fournie par le serveur et réessaie la même requête avec le justificatif de paiement. Inspectez response.headers.get("Payment-Receipt") lorsque vous devez enregistrer le règlement.
Transmettez next_cursor dans le corps JSON lors de la continuation depuis une page précédente :
{
"searchTerms": ["openai"],
"sortBy": "Latest",
"next_cursor": "cursor-from-the-previous-response"
}
Étape 4 : Implémenter le flux HTTP brut
Sans mppx, demandez d’abord la page de recherche normalement :
curl -i --request POST 'https://api.twexapi.io/twitter/advanced_search/page' \
--header 'Content-Type: application/json' \
--data '{"searchTerms":["openai"],"sortBy":"Latest"}'
Sur 402, traitez le défi WWW-Authenticate: Payment avec une implémentation Tempo MPP compatible. Puis réessayez la requête exacte avec le justificatif généré :
curl -i --request POST 'https://api.twexapi.io/twitter/advanced_search/page' \
--header 'Content-Type: application/json' \
--header 'Authorization: Payment eyJjaGFsbGVuZ2UiOnsi...' \
--data '{"searchTerms":["openai"],"sortBy":"Latest"}'
La réponse réussie contient l’enveloppe JSON habituelle de TwexAPI et un en-tête de réponse Payment-Receipt. Enregistrez les reçus avec vos propres enregistrements de requêtes si votre application a besoin de rapprochement.
Étapes suivantes
- Machine Payments Protocol — examinez l’opération prise en charge, la séquence de paiement et la comparaison avec les clés API.
- Vue d’ensemble de l’API — parcourez l’authentification par clé API et le catalogue complet des endpoints.