Passer des commandes
Une commande exécute un vérificateur sur une liste. Les étapes sont les mêmes pour tous les vérificateurs.
1. Choisissez un vérificateur
GET /checkers liste ce que votre compte peut commander, à vos prix. Chacun a un id, comme whatsapp_status_detection, et accepte des téléphones, des e-mails ou des noms d’utilisateur. Voir Vérificateurs.
curl "https://api.talismanleads.io/v1/checkers" \
-H "Authorization: Bearer tl_live_your_key_here"2. Envoyez votre liste
Placez jusqu’à 100 000 entrées et 4 MB dans la requête sous entries. Pour une liste plus grande, demandez un lien à POST /uploads, envoyez le fichier à ce lien avec PUT, puis utilisez son upload_id. Le lien est valable 2 heures. N’envoyez pas votre clé API à ce lien.
- Un fichier est un
.txtavec une entrée par ligne, jusqu’à 200 MB et 10 000 000 d’entrées. - Écrivez les numéros de téléphone avec leur indicatif de pays, comme
+14155550142. - Les numéros de téléphone d’un fichier devraient provenir d’un seul pays : au moins 90 % d’entre eux. Divisez une liste mixte en un fichier par pays.
- Une seule ligne non valide entraîne le refus de toute la liste, et la réponse montre des exemples.
- Un fichier importé attend une commande pendant 24 heures, puis il est supprimé.
- Vous pouvez avoir 20 fichiers ou 100 MB en attente à la fois, quel que soit le nombre de clés API utilisées, et faire 500 importations par jour. Un fichier de toute taille autorisée peut s’y ajouter lorsque vous êtes en dessous de ces limites.
Demandez un lien
curl -X POST "https://api.talismanleads.io/v1/uploads" \
-H "Authorization: Bearer tl_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"file_name":"list.txt","size_bytes":1048576}'Envoyez-y le fichier
UPLOAD_URL="PASTE_upload_url_FROM_THE_ANSWER_ABOVE"
curl --upload-file list.txt "$UPLOAD_URL" \
-H "Content-Type: text/plain" \
-w "%{http_code}\n"3. Voyez le prix
POST /estimates compte les entrées et calcule le prix, sans rien débiter. billed_entries peut être supérieur à entries, car chaque fichier est facturé au minimum 2 000 entrées.
curl -X POST "https://api.talismanleads.io/v1/estimates" \
-H "Authorization: Bearer tl_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"checker":"whatsapp_status_detection","entries":["+14155550142","+12125550187"]}'4. Passez la commande
POST /orders débite votre solde et met le travail en file d’attente. Envoyez une Idempotency-Key, pour qu’une nouvelle tentative ne puisse pas vous débiter deux fois : voir Nouvelles tentatives sûres. Pour être sûr du prix, envoyez expected_charge, et la commande est refusée avec price_changed si elle coûte un autre montant. Prévoyez jusqu’à 5 minutes pour la réponse, car la lecture d’une grande liste prend du temps.
curl -X POST "https://api.talismanleads.io/v1/orders" \
-H "Authorization: Bearer tl_live_your_key_here" \
-H "Idempotency-Key: crm-export-2026-11-05" \
-H "Content-Type: application/json" \
-d '{"checker":"whatsapp_status_detection","entries":["+14155550142","+12125550187"]}'5. Suivez son état
Interrogez GET /orders/{id} en laissant 30 secondes ou plus entre deux appels. Un grand fichier est découpé en parties en arrière-plan, mais une commande a un seul état et un seul total.
queued- En attente de démarrage.
processing- En cours d’exécution.
completed- Terminée, toutes les parties ont été traitées.
partially_completed- Terminée, certaines parties ont échoué. Ces parties sont remboursées : `refunded` indique ce qui a été restitué.
failed- Aucune partie n’a pu être traitée. Le débit est remboursé : `refunded` indique ce qui a été restitué.
D’autres états peuvent être ajoutés : traitez donc un état que vous ne connaissez pas comme encore en cours.
curl "https://api.talismanleads.io/v1/orders/ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f" \
-H "Authorization: Bearer tl_live_your_key_here"6. Récupérez le résultat
GET /orders/{id}/results donne un lien de téléchargement pour chaque partie, valable 15 minutes. Demandez un nouveau lien à tout moment : les résultats sont conservés. Un fichier est généralement un zip contenant all.csv, une feuille de calcul et des listes de texte, ou un seul CSV. Des colonnes peuvent être ajoutées : lisez-les donc par nom plutôt que par position. N’envoyez pas votre clé API à ces liens.
curl "https://api.talismanleads.io/v1/orders/ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f/results" \
-H "Authorization: Bearer tl_live_your_key_here"Débits et remboursements
charge est ce que la commande a coûté au moment où vous l’avez passée, et refunded est la part qui vous a été restituée. Une partie qui échoue est remboursée intégralement, et pour une partie que le fournisseur a comptée en moins, la différence est restituée, jusqu’au minimum facturé pour cette partie. Les deux se font automatiquement.
La même liste sur le même vérificateur en l’espace d’environ un jour, avec une nouvelle clé d’idempotence, est débitée à nouveau comme une nouvelle commande, et peut renvoyer votre résultat précédent plutôt qu’une nouvelle vérification.
Commandes passées ailleurs
Les commandes que vous passez sur le site web figurent aussi dans la liste. Les commandes de l’API apparaissent dans Mes tâches sur le site web avec un badge API, et n’envoient rien sur Telegram, sauf si vous le demandez là-bas.