logo
logo

Visão geral

O webhook usa heartbeats para indicar presença. Os servidores enviam heartbeats periódicos, que identificam a presença de um merchant.Ao habilitar o webhook, as requests de presença começam no próximo ciclo de heartbeat (até 30 segundos). Existem dois tipos de heartbeat: por aplicativo e por merchant, para controle detalhado da presença.

Requests por aplicativo

Para as integrações que não tem controle fino de presença temos a configuração para realizar uma única request de heartbeat periódica para o aplicativo, fazendo com que todos os merchants da aplicação fiquem online.Nesse caso, requests com resposta 202 Accepted fazem com que a mensagem de heartbeat seja gerada, e qualquer outra resposta faz com que o heartbeat não seja gerado. O response body será ignorado.
Na prática, isso significa que todos os merchants com scope order da integração ficarão abertos na listagem, desde que atendam aos outros critérios.
{
    "code":"KEEPALIVE",
    "fullCode":"KEEPALIVE",
    "id":"a38ba215-f949-4b2c-982a-0582a9d0c10e"
}
Consulte o impacto da formatação na assinatura.
curl --location 'http://localhost:8080/webhook' \
--header 'X-IFood-Signature: 6c0a429606266905349388ebc1eb12b8b98524dddd6b4bdc41c4b67591075b4c' \
--header 'Content-Type: application/json' \
--data '{
    "code":"KEEPALIVE",
    "fullCode":"KEEPALIVE",
    "id":"a38ba215-f949-4b2c-982a-0582a9d0c10e"
}'
Enviamos apenas informações relevantes para a integração e mantemos compatibilidade com eventos de pedido.

Requests por merchant

Quando a integração usa controle fino de presença, o sistema envia requests de heartbeat para grupos de merchants. Cada request pode incluir até 1000 merchants.A resposta deve ter status 202 Accepted e listar os merchants online no corpo da resposta. O sistema gera heartbeats apenas para esses merchants.
{
    "code":"KEEPALIVE",
    "fullCode":"KEEPALIVE",
    "id":"a38ba215-f949-4b2c-982a-0582a9d0c10e",
    "merchantIds": ["cad65e8f-6fc6-438a-b159-e64a902a6b9a", "438a5e8f-6fc6-438a-b159-e64a902a6879"]
}
{
   "merchantIds": ["cad65e8f-6fc6-438a-b159-e64a902a6b9a"]
}
Consulte o impacto da formatação na assinatura.
curl --location 'http://localhost:8080/webhook' \
--header 'X-IFood-Signature: dc900bca38c8b6f908ea688a24604fa581921d1211da4211e4f5e139732c2ff1' \
--header 'Content-Type: application/json' \
--data '{
    "code":"KEEPALIVE",
    "fullCode":"KEEPALIVE",
    "id":"a38ba215-f949-4b2c-982a-0582a9d0c10e",
    "merchantIds": ["cad65e8f-6fc6-438a-b159-e64a902a6b9a", "438a5e8f-6fc6-438a-b159-e64a902a6879"]
}'
Enviamos apenas informações relevantes para a integração e mantemos compatibilidade com eventos de pedido.