Enviar fretes entregues para o Slack

Use webhooks do FreteFlow + Incoming Webhook do Slack.

1. Crie um Incoming Webhook no Slack

No Slack, crie um app, ative Incoming Webhooks e copie a URL (formato https://hooks.slack.com/services/...).

2. Crie um endpoint intermediário

O FreteFlow envia o payload original; um pequeno relay traduz para o formato do Slack. Exemplo em Cloudflare Worker / Edge Function:

ts
export default {
  async fetch(req: Request, env: { SLACK_WEBHOOK: string }) {
    const event = await req.json();
    if (event.type !== "freight.delivered") return new Response("ok");

    const f = event.data;
    await fetch(env.SLACK_WEBHOOK, {
      method: "POST",
      headers: { "content-type": "application/json" },
      body: JSON.stringify({
        text: `✅ Frete #${f.code} entregue`,
        blocks: [
          { type: "section", text: { type: "mrkdwn",
            text: `*Frete #${f.code}* entregue\n${f.origin_city} → ${f.destination_city}\nMotorista: ${f.driver_name}\nValor: R$ ${f.price}` } },
        ],
      }),
    });
    return new Response("ok");
  },
};

3. Cadastre o webhook no FreteFlow

Em Integrações → Webhooks, crie um webhook apontando para a URL do relay e marque o evento freight.delivered. Veja o catálogo completo de eventos em webhooks/events.

Verifique a assinatura

Sempre valide o header X-FreteFlow-Signature antes de processar o payload. Detalhes em webhooks.