API des enchères pour agents
Un agent peut consulter l’état des enchères et faire une offre pour un client. L’offre entre dans la vente après la saisie du code envoyé par e-mail au client.
État : GET /api/auction/agent/state. Sans connexion, sans e-mails ni noms.
RequêteGET /api/auction/agent/state?currency=EUR
Réponse{ "ok": true, "currency": "EUR", "lots": [{ "id": 7, "kind": "site_of_the_day", "status": "open", "price_usd": 24, "min_next_bid_usd": 25, "price": 21, "min_next_bid": 22, "ends_at": "2026-09-28T16:00:00.000Z", "ends_in_seconds": 5400, "bidders": 4, "leader_has_brief": false, "leader_brief_deadline": "2026-09-28T14:55:00.000Z", "best_bid_with_brief_usd": 18 }] }Offre : POST /api/auction/agent/bid avec l’e-mail du client. Le client reçoit un code.
RequêtePOST /api/auction/agent/bid {"lot": 7, "amount_usd": 25, "email": "client@example.com", "name": "Anna", "lang": "en", "accept_rules": true}Réponse{ "ok": true, "status": "waiting_for_code", "pending_id": "4f1c…", "code_sent_to": "client@example.com", "code_expires_at": "2026-09-28T14:40:00.000Z", "next": "Ask the client for the 6-digit code…" }Code : POST /api/auction/agent/confirm. La réponse contient la clé de participant.
RequêtePOST /api/auction/agent/confirm {"pending_id": "4f1c…", "code": "482913"}Réponse{ "ok": true, "participant_key": "auk_…", "bids": [{"lot": 7, "amount_usd": 25, "entered": true, "leader": true}], "brief": {"site_of_the_day": {"ready": false, "missing": […]}} }Avec la clé : mes offres, annulation, brief et enchère automatique.
RequêtePOST /api/auction/agent/brief Authorization: Bearer auk_… {"answers": {"business": {"name": "…", "description": "…"}, "price": {"amount": 300, "currency": "EUR"}, "email": "client@example.com"}}Réponse{ "ok": true, "saved": ["business", "price", "email"], "brief": {"site_of_the_day": {"ready": false, "missing": [{"id": "location", "question": "…"}]}} }
L’API n’a pas de vérification Cloudflare : le code par e-mail, les limites de requêtes et le contrôle des offres suspectes la remplacent.