Configurer l'API eBay pour un agent IA de mise en vente
L’agent IA qui met mes articles en vente sur eBay peut regrouper mes photos, identifier l’article, en fixer le prix à partir des ventes comparables que je lui fournis et préparer l’annonce. Il ne peut pas ouvrir son propre compte développeur eBay. Pour ça, eBay veut une personne, et pour quelques écrans supplémentaires ensuite aussi.
Ce guide de configuration de l’API eBay partage donc le travail en deux. Tu t’occupes de six pages eBay et colles trois valeurs dans un fichier sur ton propre disque. Ton agent fait le reste depuis un terminal : la page de confidentialité, le lien de consentement, l’échange du code contre un jeton, la vérification des politiques. Chaque titre d’étape indique à qui de jouer : Toi, ou Toi et ton agent. Dans une étape, une instruction simple s’adresse à toi. Une ligne qui commence par “Demande à ton agent” lui passe la main, et tu peux regarder le JSON défiler.
Qui fait quoi pour configurer l’API eBay
| Étape | Toi | Ton agent |
|---|---|---|
| Avant de commencer | Prévois un compte vendeur, un compte GitHub et un agent IA de programmation. Réponds aux questions de prise en main | Copie le code dans un dossier privé, l’installe et lance les tests |
| 1. Compte développeur | Inscris-toi, attends l’approbation | — |
| 2. Jeu de clés Production | Crée-le | — |
| 3. Déverrouiller le jeu de clés | Réponds au formulaire eBay sur la suppression de compte | — |
| 4. Page de confidentialité | Fournis un nom, un contact et ton service d’IA | Remplit le modèle, publie un Gist |
| 5. RuName (nom de l’URL de redirection) | Remplis un formulaire | — |
6. Fichier .env |
Colle trois valeurs | Crée le fichier, sélectionne Production |
| 7. Consentement | Accepte sur eBay, copie une adresse | Construit le lien, échange le code contre un jeton |
| 8. Conditions de vente | Crée les politiques de livraison, de paiement et de retour | Les vérifie, active ton adhésion si tu donnes ton accord |
9. account.json |
Fais les choix qu’il ne peut pas faire, approuve un nouvel emplacement | Écrit le fichier, applique tes réponses de prise en main et lance cinq vérifications |
Imagine que le jeton de renouvellement de l’étape 7 est ta clé de voiture, et que la chaîne de traitement est un voiturier muni d’un règlement. Le voiturier gare la voiture : ton agent prépare une offre non publiée que les acheteurs ne peuvent pas voir. Elle ne sort pas du parking tant que tu ne fais pas signe, parce que la publication exige ton accord explicite. Il faut quand même préciser une chose. La clé elle-même permet plus de choses que le règlement n’en autorise, alors elle reste dans .env sur ton disque, jamais dans une conversation.
Les numéros roses d’une capture d’écran correspondent aux numéros des instructions placées en dessous. Les libellés correspondent aux écrans d’eBay de novembre 2026. eBay renomme parfois des éléments, alors si un libellé diffère, fie-toi à la page eBay en lien.
Tout ce qui suit vient d’ebay-listing-agent, la chaîne de traitement des annonces que j’utilise sur mon propre compte vendeur. Ton agent a besoin du dépôt avant l’étape 1, alors récupère le lien maintenant.
Pourquoi cette configuration de l’API eBay passe directement à Production
eBay propose un Sandbox (bac à sable), une place de marché fictive pour les tests. Le guide du dépôt commence par là. Celui-ci, non. Tes annonces sont dans Production, et un utilisateur de test Sandbox commence sans conditions de vente et sans emplacement de stock. Créer tout ça dans le Sandbox, c’est une quête annexe. Ton agent se connecte donc à ton vrai compte vendeur dès le départ, et les garde-fous de la chaîne de traitement assurent la protection :
- Le workflow Lister s’arrête à une offre non publiée. Les acheteurs ne peuvent pas la voir.
publishsans--confirmaffiche un récapitulatif et refuse d’aller plus loin. Ton agent te montre ce récapitulatif et attend ton accord.- Les deux commandes qui modifient ton compte vendeur,
setup --opt-inetsetup --create-location, refusent elles aussi de s’exécuter sans--confirm. - Ton agent peut supprimer une offre non publiée dont tu ne veux pas avec
delete-offer. La commande refuse toute offre déjà publiée.
⚠️ Avertissement : Cette configuration connecte ton agent à ton vrai compte vendeur. Garde le Cert ID (identifiant du certificat) et le jeton de renouvellement uniquement dans
.env. Ne les colle pas dans une conversation. N’ajoute pas.envà un commit git.
Avant de commencer
Ce que tu apportes :
- Un compte vendeur eBay en règle, avec les paiements configurés. C’est là que seront tes annonces.
- La place de marché américaine (
EBAY_US). Les autres places de marché n’ont pas été testées. - Un compte GitHub. Ton agent y publie une petite page à l’étape 4.
- Un agent IA de programmation capable d’exécuter des commandes dans un terminal, comme Claude Code, Cursor ou Codex CLI.
Ce que fait ton agent :
- Il clone le dépôt et copie
core/dans un nouveau dossier privé. Une copie, pas un fork : sur GitHub, le fork d’un dépôt public est public, et tes dossiers d’annonces contiendront les identifiants de tes offres. - Il installe Python 3.10+, ImageMagick 7 et la CLI GitHub (
gh) s’ils manquent, puis les paquets Python, avant de lancer les tests. - Il te guide dans
ADOPTION-QUESTIONS.md: ton seuil de prix pour la vérification, le degré de confiance nécessaire avant de mettre en vente, les politiques à utiliser. Il note tes réponses et les applique à l’étape 9. Tes réponses sur la livraison et les retours déterminent ce que tu crées à l’étape 8.
Un prompt que tu peux coller :
Lis ADOPTION-GUIDE.md dans github.com/matbanik/ebay-listing-agent. Fais les étapes 1 à 3 avec moi. Nous configurons eBay dans Production, pas dans le Sandbox. Arrête-toi avant l’accès à l’API eBay.
Dis “Production” aussi clairement que ça. Le guide du dépôt propose de commencer par le Sandbox, et un agent consciencieux suit le dépôt.
1. Toi : rejoins l’eBay Developers Program (Programme développeur eBay)
Ton compte vendeur ne peut pas appeler l’API. Le programme développeur d’eBay, c’est un autre bâtiment avec sa propre porte d’entrée, alors il te faut un deuxième compte. Tu peux utiliser la même adresse e-mail que pour ton compte vendeur. Ça reste une connexion différente.
- Ouvre la page d’inscription à l’eBay Developers Program.
- Remplis le formulaire. Saisis ton adresse e-mail une deuxième fois à l’endroit indiqué.
- Accepte l’API License Agreement (Contrat de licence de l’API). Passe la vérification antirobot. Sélectionne Join (S’inscrire).
- Attends l’approbation. Elle peut prendre environ un jour ouvré. Tu ne peux pas créer de clés avant l’approbation.
eBay peut demander une adresse e-mail professionnelle. Fournis-en une si tu en as.
2. Toi : crée ton jeu de clés eBay Production
Un jeu de clés, c’est la carte d’identité de ton application : trois valeurs qui indiquent à eBay quelle application frappe à la porte. Il te faut celui de Production.
- Ouvre Application Keys (Clés d’application) sur le site développeur.
- Sous Production, crée un jeu de clés. Donne-lui le nom d’application de ton choix, par exemple “my-ebay-lister”.
- Vérifie que la section Production affiche App ID (Client ID) (Identifiant de l’application ou du client), Dev ID (Identifiant du développeur) et Cert ID (Client Secret) (Identifiant du certificat ou secret client).
- Garde cette page ouverte. Tu en auras encore besoin aux étapes 3, 5 et 6.
L’App ID identifie ton application. Le Cert ID est son mot de passe, alors traite-le comme tel. Le Dev ID n’est pas utilisé. Les deux liens encadrés sous l’App ID, User Tokens (Jetons utilisateur) et Notifications (Notifications), ouvrent les portes des étapes 5 et 3. Un nouveau jeu de clés Production affiche aussi “Your Keyset is currently disabled.” (Ton jeu de clés est actuellement désactivé.) C’est normal. L’étape 3 le déverrouille.
3. Toi : déverrouille le jeu de clés Production
eBay n’active pas un jeu de clés Production tant que tu n’as pas répondu à une question : quand un utilisateur eBay ferme son compte, comment ton application l’apprend-elle ? Les applications qui stockent des données d’utilisateurs eBay doivent recevoir ces notifications de suppression. Celles qui n’en stockent pas peuvent demander une exemption. Le formulaire se trouve derrière le lien Notifications, sous ton App ID Production. Tu peux aussi ouvrir directement la page des notifications Production.
⚠️ Attention : Ne sélectionne un motif d’exemption que s’il correspond à ta situation. Si aucun motif ne s’applique à ton application, ne fais pas de demande. Passe par le point de terminaison décrit à la fin de cette étape. Si une boîte de confirmation s’ouvre après l’activation du bouton, lis-la. Ne sélectionne Confirm (Confirmer) que si sa déclaration correspond à ta situation. Le formulaire indique : “Failure to provide correct information may result in penalties or having your account disabled.” (Si tu ne fournis pas des informations exactes, tu risques des sanctions ou la désactivation de ton compte.)
- Sélectionne Marketplace Account Deletion (Suppression de compte sur la place de marché).
- Active le bouton Exempted from Marketplace Account Deletion (Exempté des notifications de suppression de compte sur la place de marché).
- Sélectionne l’Exemption reason (Motif d’exemption) qui correspond à ta situation. Décris ce que tu stockes dans Additional information (Informations complémentaires).
- Sélectionne Submit (Envoyer).
- Ouvre à nouveau Application Keys. Vérifie si le jeu de clés Production affiche le message “Your Keyset is currently disabled.”
- Le message est toujours là ? Arrête-toi. Passe à la page de confidentialité de l’étape 4 en attendant. Ne commence pas le consentement de l’étape 7 tant que le message n’a pas disparu.
Voilà sur quoi porte ta décision. La chaîne de traitement ne fonctionne que sur ton propre compte vendeur. Elle ne connecte jamais d’autres utilisateurs eBay et ne conserve aucune donnée d’acheteur. Elle conserve bien sur ton disque des fichiers concernant tes propres annonces : titres, prix, identifiants d’offres et identifiants d’annonces. La formulation d’eBay, “any eBay data,” (toute donnée eBay), ne précise pas si cela compte. Je ne peux pas trancher à ta place, et ton agent non plus.
Si aucun motif ne convient, ou si eBay refuse l’exemption, l’autre solution consiste à abonner un point de terminaison HTTPS aux notifications d’eBay pour qu’il y réponde. Le dépôt n’en fournit pas, alors tu l’héberges toi-même, et le consentement de l’étape 7 attend qu’il fonctionne. Le guide eBay sur la suppression de compte explique la marche à suivre. Sur le forum d’eBay, certains développeurs signalent des jeux de clés restés “Non Compliant” (Non conformes) après leur demande, alors vérifie le jeu de clés avant de continuer.
4. Toi et ton agent : publie une page de confidentialité
eBay ne crée pas de RuName à l’étape 5 sans URL de politique de confidentialité. En rédiger une ressemble à un devoir à rendre. C’est surtout le travail de ton agent, parce que le dépôt fournit un modèle.
- Donne à ton agent un nom d’application, ton nom ou celui de ton entreprise, un contact public et le service d’IA que tu utilises.
- Demande à ton agent de remplir
PRIVACY-TEMPLATE.md. Il enregistre le résultat dansprivacy-policy.md. - Demande à ton agent de publier
privacy-policy.mdcomme Gist GitHub public. ghdemande une connexion ? Exécute toi-mêmegh auth login. Suis ses instructions.- Lis la page que ton agent publie. Vérifie le nom et le contact.
- Note le lien du Gist. Tu le colleras dans le formulaire RuName à l’étape 5.
Un prompt que tu peux coller :
Remplis PRIVACY-TEMPLATE.md pour “My eBay Lister”. Propriétaire : [ton nom ou celui de ton entreprise]. Contact : [l’adresse e-mail ou la page que tu publieras]. Service d’IA : [celui que tu utilises]. Enregistre le résultat dans privacy-policy.md, publie-le comme Gist public et donne-moi le lien.
Le modèle comporte cinq courtes parties : ce à quoi l’application accède, ce qu’elle stocke, avec qui elle partage ces données, comment les supprimer et comment te joindre. Il prévoit aussi une ligne pour nommer tout service d’IA qui analyse tes photos. Ton agent lit tes photos pour identifier les articles, alors nomme le service sur lequel tu le fais fonctionner. Le modèle n’en fait pas trop non plus : “C’est un point de départ, pas un avis juridique.” La publication elle-même tient en une ligne pour ton agent :
gh gist create --public --desc "Privacy policy: My eBay Lister" privacy-policy.md
5. Toi : crée ton RuName eBay
RuName est l’abréviation de “redirect URL name.” (nom de l’URL de redirection). C’est le petit nom qu’eBay donne à tes paramètres de redirection, et on dirait que le nom de ton application est passé à la déchiqueteuse : YourName-YourApp-ab12-cdefgh. L’étape du consentement en a besoin. Chaque jeu de clés a son propre RuName, alors crée celui-ci à partir du jeu de clés Production.
Pour accéder au formulaire :
- Dans Application Keys, sélectionne User Tokens sous l’App ID Production.
- Ouvre Get a Token from eBay via Your Application (Obtenir un jeton eBay via ton application). Sélectionne “You have no Redirect URLs. Click here to add one.” (Tu n’as aucune URL de redirection. Clique ici pour en ajouter une.)
- eBay demande une adresse légale ? Remplis le formulaire. Sélectionne Continue to create RuName (Continuer pour créer le RuName).
Remplis le formulaire. Les numéros roses correspondent à cette liste :
- Dans Your privacy policy URL (URL de ta politique de confidentialité), colle le lien du Gist de l’étape 4.
- Dans Your auth accepted URL (URL après acceptation de l’authentification) et Your auth declined URL (URL après refus de l’authentification), saisis n’importe quelle adresse HTTPS. Ma configuration utilise
https://example.com. - Saisis un Display Title (Titre affiché), par exemple “My eBay Lister”. Tu verras ce titre sur la page de consentement à l’étape 7.
- Enregistre le formulaire.
- Copie le RuName. Tu le colleras dans
.envà l’étape 6.
Pourquoi l’URL d’acceptation peut-elle être n’importe quelle page HTTPS ? Rien n’a besoin d’y fonctionner. Quand tu acceptes à l’étape 7, eBay envoie ton navigateur à cette adresse en y ajoutant un code à usage unique, et tu la copies directement depuis la barre d’adresse. Le formulaire d’eBay ajoute : “If you leave these fields blank, the eBay default accept and reject pages will be used.” (Si tu laisses ces champs vides, les pages d’acceptation et de refus par défaut d’eBay seront utilisées.) L’adresse que tu copies a alors une autre forme. L’étape 7 montre les deux.
eBay n’accepte pas non plus sa propre politique de confidentialité comme étant la tienne : l’URL doit utiliser HTTPS et “should not be eBay’s Privacy Policy URL.” (ne devrait pas être l’URL de la politique de confidentialité d’eBay.) Le Quick OAuth Guide (Guide rapide OAuth) d’eBay demande un RuName “OAuth Enabled” (OAuth activé). Si ton formulaire affiche cette option, active-la.
6. Toi et ton agent : remplis le fichier .env
.env est un fichier texte qui contient tes clés sur ton propre disque. Ton agent le crée. Tu y mets les secrets, pour qu’ils ne passent jamais par la conversation.
- Demande à ton agent de créer
.envà partir de.env.example, avecEBAY_ENVIRONMENT=production. - Ouvre
.envdans un éditeur de texte. - Colle l’App ID après
EBAY_CLIENT_ID=. - Colle le Cert ID après
EBAY_CLIENT_SECRET=. - Colle le RuName après
EBAY_REDIRECT_URI=. Colle le RuName, pas une URL. - Laisse
EBAY_USER_REFRESH_TOKEN=vide. L’étape 7 le remplit. - Enregistre le fichier.
Quand tu as terminé, les cinq lignes qui comptent ressemblent à ceci, avec tes valeurs à la place des éléments entre chevrons :
EBAY_ENVIRONMENT=production
EBAY_CLIENT_ID=<Production App ID>
EBAY_CLIENT_SECRET=<Production Cert ID>
EBAY_REDIRECT_URI=<Production RuName>
EBAY_USER_REFRESH_TOKEN=
La ligne du RuName est celle où la plupart des gens se trompent. Le paramètre s’appelle redirect_uri, alors une URL paraît être la bonne réponse. eBay veut le RuName. Y mettre une URL est la cause la plus fréquente des erreurs redirect_uri.
Si le Cert ID fuit un jour, ouvre Application Keys et sélectionne Rotate (Reset) Cert ID avec un délai de grâce de 0, pour que l’ancien cesse de fonctionner immédiatement. Colle le nouveau dans .env. Les jetons de renouvellement restent valides après la rotation, donc tu n’as pas à refaire l’étape 7.
7. Toi et ton agent : consentement et jeton de renouvellement eBay
C’est la poignée de main. En tant que vendeur, tu indiques à eBay que cette application peut gérer tes annonces. eBay transmet un code à usage unique à ton navigateur. Ton agent échange ce code contre un jeton de renouvellement, la clé de longue durée que la chaîne de traitement utilisera ensuite. Tu n’as que cinq minutes, alors lis d’abord la liste, puis lance-toi.
- Demande à ton agent d’exécuter
auth-url. Il te donne un lien de consentement. - Ouvre le lien de consentement dans ton navigateur.
- eBay demande une connexion ? Saisis le nom d’utilisateur et le mot de passe de ton compte vendeur. N’utilise pas le compte développeur.
- Lis les autorisations sur la page de consentement. Accepte-les.
- Copie l’adresse complète depuis la barre d’adresse de la page qui s’ouvre.
- Colle l’adresse complète dans la conversation.
- Demande à ton agent d’exécuter
exchange-codeavec cette adresse immédiatement. - Vérifie que ton agent indique
"stored": true. Il indiqueinvalid_grant? Reprends cette liste depuis le début.
Voilà à quoi ressemblent les deux adresses. Ton agent te donne la première. Tu lui rends la seconde.
You open (the consent link from your agent):
https://auth.ebay.com/oauth2/authorize?client_id=<App ID>&redirect_uri=<RuName>&response_type=code&scope=https%3A//api.ebay.com/oauth/api_scope%20...
You copy (from the address bar, after you accept):
https://example.com/?code=v%5E1.1%23i%5E1%23...&expires_in=299
La partie après code= change à chaque fois. Elle fonctionne une seule fois et expire après 299 secondes, ce que t’indique expires_in=299. Ton adresse peut contenir d’autres parties, comme state=. Copie-la en entier. Ton agent en extrait le code.
Est-ce prudent de coller ça dans une conversation ? Le code fonctionne une seule fois et expire en cinq minutes. eBay ne l’échange contre un jeton qu’avec ton Cert ID, et le Cert ID reste dans .env. Le code ne sert donc à rien sans le Cert ID. Deux endroits le voient quand même : la conversation, et le site derrière ton URL d’acceptation, qui peut enregistrer l’adresse à laquelle tu arrives. Aucun des deux ne reçoit ton Cert ID, et une fois que ton agent a échangé le code, il est consommé. Le lien de consentement affiche bien ton App ID et ton RuName. C’est normal : tous les liens de consentement OAuth les contiennent.
Tu as laissé l’URL d’acceptation vide à l’étape 5 ? eBay t’envoie alors sur sa propre page, et l’adresse commence comme ceci :
https://signin.ebay.com/ws/eBayISAPI.dll?ThirdPartyAuthSucessFailure&isAuthSuccessful=true&state=null&code=v%5E1...
Oui, “Sucess.” C’est l’orthographe d’eBay, pas la mienne. La partie code= y figure aussi, et exchange-code la lit dans n’importe quelle adresse. Cette méthode évite aussi d’envoyer le code à un site que tu ne gères pas. Ma propre configuration utilise example.com, alors je n’ai pas testé cette méthode moi-même.
| Élément | Durée | Qui s’en occupe |
|---|---|---|
| Code | 299 secondes, un seul usage | Tu le copies une fois |
| Jeton d’accès | 2 heures | L’outil le renouvelle tout seul |
| Jeton de renouvellement | Environ 18 mois | Refais cette étape quand il expire |
Si quelque chose se passe mal :
invalid_grant: le code a déjà été utilisé ou a plus de cinq minutes. Obtiens un nouveau lien et colle l’adresse plus vite.- Erreur
redirect_uri:.envcontient une URL, ou un RuName Sandbox, à la place du RuName Production. invalid_client: l’App ID et le Cert ID viennent de jeux de clés différents, ouEBAY_ENVIRONMENTn’est pas défini surproduction.
8. Toi et ton agent : crée les conditions de vente eBay
Les conditions de vente sont des réponses enregistrées aux questions que pose chaque annonce : comment se passe la livraison, comment l’acheteur paie-t-il et que se passe-t-il en cas de retour ? Ton agent les associe à chaque offre par leur identifiant. Son outil sait lire les politiques, mais n’a pas de commande pour les créer, alors cette partie te revient.
Demande d’abord à ton agent d’exécuter policies. La commande liste les politiques que tu as déjà. Si tu as déjà une politique de livraison gratuite, une politique de paiement et une politique de retour sous 30 jours, passe à l’étape 9. Si policies indique que ton compte n’a pas adhéré à Business Policies, ton agent peut exécuter setup --opt-in --confirm, mais seulement après ton accord. Demande-lui ensuite d’exécuter à nouveau policies. Une fois l’erreur d’adhésion disparue, crée tes politiques. Les notes du dépôt indiquent que cette attente peut aller de quelques minutes à 24 heures.
- Ouvre My eBay (Mon eBay). Sélectionne Account (Compte). Sélectionne Selling (Vente) dans le menu de gauche.
- Sélectionne Business Policies (Conditions de vente). La page Manage your business policies (Gérer tes conditions de vente) s’ouvre.
- Sélectionne Create policy (Créer une politique) en haut à droite. Sélectionne le type de politique.
Crée trois politiques de cette façon, une à la fois.
Politique de livraison
Le calcul du prix de la chaîne de traitement intègre les frais de livraison au prix de l’article, alors il lui faut une politique de livraison gratuite. Évite les frais de livraison calculés. Les questions de prise en main du dépôt les citent comme exemple de politique pouvant échouer à cause d’erreurs sur les colis.
- Sous Cost type (Type de coût), sélectionne Flat: Same cost to all buyers (Forfaitaire : même coût pour tous les acheteurs).
- Active Offer free shipping (Proposer la livraison gratuite).
- Saisis un Policy name (Nom de la politique), par exemple “Free domestic shipping” (Livraison nationale gratuite).
- Sélectionne le Shipping method (Mode de livraison) qui convient à tes articles.
- Sélectionne le Handling time (Délai de traitement) qui convient à tes articles.
- Sélectionne Save (Enregistrer).
Politiques de paiement et de retour
- Crée une politique de paiement. Active Require immediate payment when buyer uses Buy It Now (Exiger le paiement immédiat quand l’acheteur utilise l’achat immédiat). Sélectionne Save.
- Crée une politique de retour. Active Accept returns (Accepter les retours) dans les retours nationaux.
- Dans Allowed within (Délai autorisé), sélectionne 30 Days (30 jours). Dans Return shipping paid by (Frais de retour à la charge de), sélectionne Buyer (Acheteur). Sélectionne Save.
- Demande à ton agent d’exécuter à nouveau
policies. - Vérifie que les trois politiques apparaissent.
Ma politique de paiement exige le paiement immédiat, et la politique de retour par défaut du dépôt prévoit 30 jours, les frais de retour étant à la charge de l’acheteur. Le formulaire d’eBay ajoute sa propre incitation : “Offering a minimum 30-day return policy helps your listings qualify for Top Rated Seller Benefits.” (Proposer une politique de retour d’au moins 30 jours aide tes annonces à bénéficier des avantages réservés aux vendeurs les mieux notés.)
9. Toi et ton agent : écris account.json et lance les vérifications
Les identifiants de tes politiques et ton emplacement de stock sont différents de ceux des autres, alors ils sont dans account.json, un fichier privé à côté de .env. Ton agent l’écrit avec setup. Cette commande ne pose de questions à personne. Elle conserve les choix déjà enregistrés dans account.json. Sinon, elle prend le seul candidat disponible, par exemple ton unique emplacement ou ton unique politique de retour sous 30 jours. Quand elle ne peut pas choisir, elle le dit dans ses choices et attend une option. Ton rôle consiste à faire les choix qu’elle ne peut pas faire.
- Demande à ton agent d’exécuter
setup --dry-run. La commande indique ce qu’elle a trouvé et ce qu’elle ne peut pas décider. - Lis les
choicesavec ton agent. Une ligne indique “found: pass” ? Dis à ton agent quelle politique ou quel emplacement utiliser. - Pas d’emplacement de stock ? Donne à ton agent ton code postal américain, ta ville et ton État. Approuve la commande
--create-location. - Demande à ton agent d’exécuter à nouveau
setup --dry-runavec tes choix. problemscontient encore quelque chose ? Répète les étapes 2 à 4.- Demande à ton agent d’exécuter
setupavec les mêmes choix. La commande écritaccount.json. - Demande à ton agent d’appliquer le reste de tes réponses de prise en main.
ADOPTION-QUESTIONS.mdindique la clé ou le fichier pour chacune. - Vérifie le seuil de prix et le taux de frais dans la section
pipelined’account.json. - Demande à ton agent de lancer les cinq vérifications ci-dessous. Les cinq doivent réussir.
Tes choix sont transmis sous forme d’options. Ton agent transmet un identifiant de politique avec --fulfillment (c’est le nom qu’eBay donne à la livraison), --payment ou --return, et un emplacement avec --location-key. Deux réponses de prise en main suivent le même chemin : --disallow-fulfillment désigne une politique de livraison que ton agent ne doit jamais utiliser, et --return-14-day désigne une politique de retour sous 14 jours si tu en conserves une :
python tools/ebay_api.py setup --dry-run --fulfillment <ID> --return <ID> --location-key HOME-01
La commande de création d’emplacement que ton agent lance après ton accord ressemble à ceci :
python tools/ebay_api.py setup --create-location --location-key HOME-01 --postal-code <ZIP> --city <city> --state <ST> --confirm
Le point 7 ci-dessus passe facilement inaperçu, parce que setup lit ton compte eBay, pas tes réponses de prise en main. La commande remplit pipeline avec les valeurs par défaut du dépôt : vérification de tout ce qui dépasse 200 $, demande de ton avis si le degré de confiance est inférieur à 0,70, commission sur le prix final de 13,6 % et 0,40 $ par commande. Ces valeurs s’appliquent jusqu’à ce que ton agent modifie le fichier, et les exécutions suivantes de setup conservent ces modifications. Tes autres réponses, comme la source de tes photos et les sauvegardes, vont dans les fichiers de workflow et AGENTS.md. Les étapes 5 et 6 d’ADOPTION-GUIDE.md listent toutes les modifications. Son étape 7 ajoute une validation sur une annonce fictive de lampe frontale qui ne modifie rien sur eBay.
Ensuite, les cinq vérifications de l’étape 9 :
python tools/ebay_api.py setup --dry-run # "problems": [] means ready
python tools/ebay_api.py policies
python tools/ebay_api.py categories "flashlight"
python tools/ebay_api.py browse "flashlight" --limit 1
python tools/ebay_api.py reconcile
Voici un vrai setup --dry-run de mon propre compte, abrégé, avec les identifiants masqués. C’est une nouvelle exécution, ce qui explique pourquoi chaque choix indique “kept from account.json.” La ligne que tu cherches est "problems": [].
{
"file": "<your folder>/account.json",
"written": false,
...
"choices": {
"merchantLocationKey": "kept from account.json",
"fulfillment": "kept from account.json",
"payment": "kept from account.json",
"return": "kept from account.json"
},
"problems": [],
...
"next": "Ready: the Lister copies these IDs into offer.json; validate_payload.py checks them"
}
"written": false signifie que la simulation a vérifié sans toucher au fichier.
Ton premier article : qui fait quoi
La configuration de ton API eBay est terminée. À partir de là, tu déposes des photos dans un dossier et ton agent exécute cinq workflows, l’un après l’autre. Ta participation se réduit à quelques points de contrôle :
| Workflow | Ce que tu fais |
|---|---|
| Import | Dépose les photos. Vérifie le regroupement |
| Curator | Corrige l’identification si elle est fausse |
| Evaluator | Colle des ventes comparables issues de Terapeak quand il te les demande |
| Lister | Rien. Il s’arrête à une offre non publiée |
| Review | Lis listing-draft.md, puis approuve ou refuse |
Pourquoi Terapeak à la main ? La commande Browse de l’outil voit ce que les autres vendeurs demandent en ce moment, pas ce que les acheteurs ont réellement payé. Un prix demandé est un plafond, pas une vente. L’Evaluator te demande donc des ventes comparables, et Terapeak, dans Seller Hub (Espace vendeur), les fournit.
C’est le voiturier à l’œuvre. Il gare soigneusement chaque voiture dans le parking sous forme d’offre non publiée, et tout ce qui dépasse ton seuil de prix attend ton accord avant même d’être garé. Rien ne sort du parking tant que tu ne remets pas le ticket, et ce ticket, c’est ton accord à l’étape Review.
Récupère ebay-listing-agent sur GitHub, donne ADOPTION-GUIDE.md à ton agent et dis-lui “Production, pas Sandbox.” Si un libellé de ce guide de configuration de l’API eBay ne correspond plus à l’écran d’eBay, ouvre un ticket dans le dépôt pour éviter au prochain vendeur de devoir le chercher.
Ressources
- Programme développeur eBay : inscription
- Clés d’application eBay
- Premiers pas avec les API eBay
- Identifiants OAuth eBay
- Suppression de compte sur la place de marché eBay
- Guide rapide OAuth eBay (RuName, code de consentement)
- Réinitialiser ton identifiant de certificat
- Conditions de vente sur eBay (aide aux vendeurs)
- Conditions de vente (guide de l’API Account)
- ebay-listing-agent sur GitHub
- CLI GitHub : créer un Gist avec gh gist create
- Téléchargements de Python
- Téléchargements d’ImageMagick
The Focalia Letter
Une idée à utiliser. Environ sept minutes. Deux fois par mois.
À lire ensuite
Répare ta NVIDIA Shield en 7 minutes
Répare ta NVIDIA Shield en repérant d'abord la bonne couche, en appliquant une correction rapide et en laissant une IA suivre un gist pour les étapes plus longues.
Lire la suite →Pipeline de journaux de pare-feu avec Cursor
Construis un pipeline local de journaux de pare-feu sous Windows avec NXLog et SQLite, puis laisse Cursor l'interroger en lecture seule — aucun SIEM requis.
Lire la suite →Les garde-fous pour les agents de codage IA surpassent les modèles plus intelligents
Ton agent n'oublie pas parce qu'il est stupide. Il oublie parce que tu ne lui as donné aucun endroit où déposer les choses. Cinq garde-fous pour les agents de codage IA qui ont résolu le problème.
Lire la suite →