Activer eBay sur ShipAndCheap
Guide complet, de la création du keyset développeur à la première annonce en ligne. Chaque étape indique ce qui se passe côté eBay, ce que fait SACP, et comment diagnostiquer si ça bloque.
Temps de mise en route : environ 30 minutes en Sandbox, quelques jours en production (validation du compte vendeur par eBay).
GET /ebay/status
{
"connected": true,
"environment": "sandbox",
"marketplaceId": "EBAY_FR",
"policies": {
"fulfillmentPolicyId": "6••••",
"paymentPolicyId": "6••••",
"returnPolicyId": "6••••"
},
"listings": { "total": 12, "published": 10, "failed": 2 },
"ready": true,
"blockers": []
}Un compte vendeur neuf est plafonné par eBay
eBay limite les nouveaux vendeurs à un faible volume le premier mois (souvent de l'ordre de 10 articles ou 500 €), relevé ensuite selon l'historique de ventes et la satisfaction client. La taille de votre catalogue n'y change rien.
C'est pourquoi ShipAndCheap publie par lots bornés(10 par défaut, 25 maximum) et jamais automatiquement. Dès qu'eBay signale une limite atteinte, le lot en cours s'interrompt proprement : l'état de chaque SKU est enregistré, la reprise repart de là où vous en étiez.
Ce qu'il faut avoir avant de connecter
Trois de ces quatre points dépendent d'eBay et non de SACP. Les régler en amont évite de perdre du temps à déboguer une intégration qui, elle, fonctionne.
Un compte vendeur eBay
Idéalement un compte professionnel sur le marché visé (eBay France pour EBAY_FR). Un compte particulier fonctionne mais subit des plafonds de vente plus stricts.
Un compte développeur eBay
Créé sur developer.ebay.com. Il fournit le keyset (App ID, Cert ID, RuName) dont SACP a besoin pour parler à l'API.
Les Business Policies activées
Politiques de paiement, de livraison et de retour. Sans les trois, eBay refuse toute publication d'annonce — c'est la cause n°1 d'échec.
Un catalogue chargé dans SACP
Les produits doivent exister dans la table produits avec un prix, du stock et au moins une image.
Cinq étapes, de zéro à la première annonce
Keyset développeur et RuName
Le keyset identifie l'applicationSACP auprès d'eBay. Il est distinct du compte vendeur : un seul keyset suffit, même si plusieurs vendeurs se connectent.
- Sandbox d'abord. Le keyset Sandbox est gratuit et immédiat. Il permet de valider toute la chaîne sans risquer une vraie annonce.
- Le RuName n'est pas une URL.C'est un nom symbolique généré par eBay, du type
Karraz-…-abcdef. C'est lui qu'attend le paramètre de redirection — une URL à cet endroit provoque uninvalid_requestsans explication. - L'URL d'acceptationdéclarée derrière le RuName doit pointer exactement vers le callback SACP, sinon l'échange de jetons échoue en
invalid_grant.
URL d'acceptation à déclarer chez eBay
https://api.shipandcheap.com /auth/ebay/callback
Cette route est volontairement publique: c'est eBay qui redirige le vendeur dessus, aucune session ne peut l'accompagner. La sécurité repose sur un paramètre state à usage unique, valable 10 minutes.
Configurer SACP
Les identifiants eBay sont des paramètres de la stack backend. Ils ne transitent jamais par le navigateur et ne sont jamais stockés dans le code.
| Paramètre | Valeur | Rôle |
|---|---|---|
| EbayEnv | sandbox | production | Bascule l'environnement. Le code est identique, seules les URLs eBay changent. |
| EbayClientId | App ID (Client ID) | Identifiant public du keyset. |
| EbayClientSecret | Cert ID (Client Secret) | Secret du keyset. Paramètre NoEcho : jamais réaffiché par CloudFormation. |
| EbayRuName | RuName | ⚠️ Ce n'est PAS une URL. eBay attend le nom symbolique déclaré dans le keyset. |
Passer de Sandbox à production consiste uniquement à changer EbayEnv et à fournir le keyset de production. Aucune ligne de code ne change.
Les Business Policies
eBay refuse de publier une annonce si le vendeur n'a pas défini ses trois politiques. Elles se créent une seule fois, côté eBay, dans Mon eBay → Préférences de vente → Règles professionnelles.
- Paiement — moyens acceptés et délai de règlement.
- Livraison — transporteurs, délais et zones desservies. Sans poids produit, seule la livraison au forfait est possible.
- Retour — délai et prise en charge des frais. Doit refléter votre politique réelle : une incohérence entre le site et eBay peut restreindre le compte.
SACP lit ces politiques automatiquement et utilise la première de chaque type. Le diagnostic vous dit laquelle manque, avant même d'essayer de publier.
Diagnostic quand il manque une politique
{
"ready": false,
"blockers": [
"Politique de RETOUR absente
sur eBay (Business Policies)."
]
}Ce que fait SACP pour chaque produit
eBay sépare le produit et son prix. Publier une annonce demande donc quatre appels enchaînés, que SACP orchestre pour vous.
Inventory Location
Emplacement de stock, créé automatiquement par SACP au premier appel.
Inventory Item
Le produit, identifié par son SKU : titre, description, images, marque, EAN, poids.
Offer
Le prix et les politiques, pour un marché donné. Un même SKU peut avoir une offre par pays.
Publish
Met l'annonce en ligne et renvoie le listingId eBay.
Le prix eBay n'est pas votre prix catalogue
ShipAndCheap calcule un prix propre au canal : il absorbe la commission eBay (environ 11 à 12 % sur les pièces auto), les frais fixes de transaction et votre marge. Le prix de votre catalogue sert de coût de référence, jamais de prix de vente.
Ces trois paramètres sont réglables par connexion : commission, marge et prix plancher.
Publier son premier lot
Commencez petit : un seul SKU dont vous connaissez bien la fiche. Vous vérifiez l'annonce sur eBay, puis vous augmentez.
- SACP choisit par défaut les produits en stock, avec prix et image, non encore publiés sur ce marché.
- Chaque produit est validé avant tout appel réseau : un produit sans image ou sans prix est écarté sans consommer de quota.
- Republier un SKU déjà publié met à jour l'annonce existante au lieu d'en créer une seconde.
- Le stock suit automatiquement : la synchronisation temps réel du catalogue met à jour les quantités.
POST /ebay/listings/publish
{ "limit": 10 } ← lot borné (max 25)
{ "skus": ["ECKM…"] } ← ou une liste explicite
→ { "published": 9, "failed": 1,
"results": [
{ "sku": "ECKM…", "status": "published",
"listingId": "1102…", "price": 219.9 },
{ "sku": "ECKM…", "status": "failed",
"error": "eBay 400 [25709] Missing required aspects" }
] }Ce qui fait accepter ou refuser une annonce
Bloquant — l'annonce ne partira pas
- ✕Aucune image. eBay en exige au moins une, en HTTPS.
- ✕Prix absent ou nul.
- ✕Titre manquant. Il est tronqué à 80 caractères, limite eBay.
Avertissement — ça passe, mais moins bien
- !Marque absente ou réduite à « - » : publiée en Unbranded, ce qui pénalise la visibilité.
- !Code-barres invalide : le GTIN est vérifié par checksum et omis s'il est faux, plutôt que rejeté par eBay.
- !Poids absent : interdit les frais de port calculés, seul le forfait reste possible.
Les erreurs eBay les plus fréquentes
Les messages d'eBay sont laconiques. SACP les remonte tels quels, avec leur code : cherchez-le ici.
Prix à zéro ou négatif, ou stock nul. Le produit n'a pas de prix marketplace calculé : vérifiez qu'il a bien un prix de base et du stock dans SACP.
Une des trois Business Policies manque côté eBay. Ouvrez le diagnostic : il indique précisément laquelle (livraison, paiement ou retour).
L'offre a été retirée ou clôturée côté eBay. Retirez l'annonce dans SACP puis republiez pour repartir d'un état propre.
La catégorie suggérée automatiquement n'est pas une catégorie feuille. Forcez une catégorie précise dans les réglages de la connexion.
La catégorie exige des caractéristiques que le produit n'a pas (souvent Marque). Les produits dont la marque vaut « - » partent en « Unbranded » ; complétez la fiche pour faire mieux.
Plafond de compte atteint. SACP interrompt automatiquement le lot en cours. Attendez le relèvement du plafond ou demandez-le à eBay.
Le RuName utilisé ne correspond pas à celui du keyset, ou le code d'autorisation a expiré (5 minutes). Relancez la connexion.
Le refresh token eBay a une durée de vie limitée (~18 mois). Le vendeur doit réautoriser SACP depuis Intégrations.
Plusieurs marchés, un seul catalogue
eBay traite chaque pays comme un marché distinct. SACP gère aujourd'hui la France, la Belgique, les Pays-Bas et l'Allemagne.
- Le produit (SKU) est partagé entre les marchés.
- L'offre — donc le prix — est propre à chaque marché.
- Chaque marché exige ses propres Business Policies côté eBay.
Les pièces automobiles peuvent en outre relever d'eBay Motors et de la compatibilité véhicule, qui demande des données de fitment spécifiques.
Prêt à publier ?
Vérifiez le diagnostic, puis lancez votre premier lot.