API vendeur
L’inventaire vendeur et le write-back de leads sont disabled sur ce déploiement. La recherche marketplace reste désactivée.
Authentification et paiement
Envoyez Authorization: Bearer avec un jeton d’API vendeur. Les portées de grant sont read, write et publish. Un grant d’espace couvre l’inventaire vendeur ; un droit manquant est 403 not_entitled et un quota épuisé est 429 quota_exceeded. Ce grant n’est pas un paiement MPP. Quand une surface machine renvoie 402, réessayez avec le même jeton bearer et Payment-Authorization. Le paiement ne remplace jamais l’identifiant API. Les secrets de signature webhook ne peuvent pas authentifier les requêtes.
Contrat HTTP
Create, update, delete et publish renvoient 200 avec un objet data et un ETag. La suppression d’un brouillon est 200 avec deleted true. Le write-back de leads est POST /api/tenants/{tenant_slug}/leads et renvoie 201. Les mutations envoient If-Match ; une précondition absente est 428 et une périmée est 412. Répéter le même reference_code, content_source et payload renvoie la même annonce. Les prix utilisent un amount_minor entier dans la devise cotée par le vendeur. Découvrez marchés, secteurs, champs et devises via GET /api/seller/vocabulary. L’envoi de photo renvoie 422 cloudflare_not_configured tant que la livraison média n’est pas configurée. Publish renvoie 422 avec seller_clearance_required tant que l’admission vendeur n’est pas à jour, ou private_owner_quota si un vendeur particulier a déjà une annonce active. Retirez avec POST /api/seller/listings/{id}/withdraw ; une suppression hors brouillon renvoie 409 withdraw_instead. Les autres erreurs listées comprennent 400, 401 et 404.
| get /api/seller/listings | 200, 400, 401, 403, 404, 429 — disabled |
| post /api/seller/listings | 200, 400, 401, 403, 404, 409, 422, 429 — disabled |
| delete /api/seller/listings/{id} | 200, 400, 401, 403, 404, 409, 412, 422, 428, 429 — disabled |
| get /api/seller/listings/{id} | 200, 400, 401, 403, 404, 429 — disabled |
| patch /api/seller/listings/{id} | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| post /api/seller/listings/{id}/photos | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| delete /api/seller/listings/{id}/photos/{photo_id} | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| patch /api/seller/listings/{id}/photos/{photo_id} | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| post /api/seller/listings/{id}/photos/{photo_id}/complete | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| post /api/seller/listings/{id}/publish | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| post /api/seller/listings/{id}/withdraw | 200, 400, 401, 403, 404, 412, 422, 428, 429 — disabled |
| get /api/seller/published | 200, 400, 401, 403, 404, 429 — disabled |
| get /api/seller/published/{id} | 200, 400, 401, 403, 404, 429 — disabled |
| get /api/seller/vocabulary | 200, 400, 401, 403, 404, 429 — disabled |
| post /api/tenants/{tenant_slug}/leads | 201, 404, 422 — disabled |
Webhooks
Les livraisons sont du JSON avec event, listing_id, tenant_id et occurred_at, plus les en-têtes x-tapakly-event et x-tapakly-signature: sha256= HMAC-SHA256 du corps brut. Les événements filaire sont listing_created, listing_updated et listing_deleted. Un événement d’essai est integration_test. Contrôlez la signature, marquez l’annonce comme sale, puis relisez l’état API courant. N’écrivez pas l’inventaire parce qu’un webhook est arrivé, et ignorez les doublons, les signatures invalides et les événements plus anciens après relire.
Deux recettes, un inventaire
Inventaire géré par Tapakly : lisez GET /api/seller/published et affichez-le sur votre site. Inventaire géré par CMS : votre serveur écrit POST /api/seller/listings et publie quand l’admission le permet. Choisissez une seule source d’autorité. L’autre côté affiche ou reçoit ; il n’écrase pas en retour.
CLI tapakly
Pilotez l’inventaire vendeur depuis un terminal. Chaque commande ci-dessous existe dans clients/cli. Passez --json pour un enregistrement machine stable.
tapakly vocabulary
tapakly listings list
tapakly listings show
tapakly listings create
tapakly listings update
tapakly listings publish
tapakly listings withdraw
tapakly listings delete
tapakly photos upload
tapakly published
tapakly auth set
Installer
Aucun téléchargement public n’est encore publié. Compilez le CLI depuis ce dépôt :
cd clients/cli
go build -o tapakly .