Fluxos completos, não chamadas isoladas.
Parta de exemplos executáveis e conecte criação, acompanhamento, eventos e recuperação de falhas como uma integração de produção.
Criar e publicar uma oferta
Crie a oferta pendente, revise o resultado e só então peça a publicação nos grupos autorizados. A linha do tempo registra cada tentativa.
const base = "https://achadu.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.ACHADU_API_KEY}`,
"Content-Type": "application/json"
};
const offer = await fetch(`${base}/offers`, {
method: "POST", headers,
body: JSON.stringify({
url: "https://www.amazon.com.br/dp/...",
title: "Air fryer 5L", price: 329.90, currency: "BRL"
})
}).then(r => r.json());
const publication = await fetch(`${base}/publications`, {
method: "POST", headers,
body: JSON.stringify({ offer_id: offer.data.id, group_ids: ["grp_..."] })
}).then(r => r.json());Consumir webhooks sem processar duas vezes
Valide o corpo bruto, responda rapidamente e processe fora da requisição. Guarde event.id para tornar seu consumidor idempotente.
app.post("/webhooks/achadu", raw({ type: "application/json" }), (req, res) => {
verifyAchaduSignature(req.headers, req.body);
const event = JSON.parse(req.body.toString("utf8"));
if (alreadyProcessed(event.id)) return res.sendStatus(200);
enqueueByType(event.type, event.data);
markProcessed(event.id);
return res.sendStatus(202);
});Importar e conciliar receita
Envie o CSV do programa e acompanhe commissions/imports/{id}.
Dispare commissions/sync para buscar mudanças da integração conectada.
Crie o comprovante com referência externa, valor e moeda.
Execute receipts/{id}/reconcile e revise diferenças explicitamente.
Atender e automatizar no DU Inbox
Abra contato, notas e mensagens antes de responder.
Direcione ao operador ou fila responsável.
Envie texto pelo canal conectado usando o mesmo histórico.
Valide a definição, execute e acompanhe cada execução.