Headers
Autenticação
Authorization: Basic <base64(clientId:clientSecret)>O valor é a concatenação da palavra Basic com as duas chaves separadas por :,
codificadas em base64. As chaves são geradas pela Grocers e entregues pelos canais
oficiais de contato.
printf '%s' 'clientId:clientSecret' | base64Identificação do tenant
x-contractAccountId: 9f36a666-acd5-4987-a47f-3de247f65d82Obrigatório na maioria das rotas. Identifica a conta do contrato dona do dado.
Seleção de warehouses
x-warehouseIds: F04674FA-4E95-4908-29FA-08DD1FA446F0,9DFA4C73-F94D-4F1E-29FB-08DD1FA446F0Aceita múltiplos GUIDs separados por vírgula. O middleware lê o header e guarda a lista no contexto da requisição.
Rastreio de operação
x-operationiD: 402fe685-2060-432b-ac57-223eb2e680f3Opcional. Quando enviado, propaga o seu identificador de operação pela cadeia de processamento, o que facilita correlacionar logs entre os dois lados.
A grafia é x-operationiD mesmo — i minúsculo e D maiúsculo no final. Não é
erro de digitação desta página: é exatamente a string que o middleware procura. Como
nome de header HTTP é case-insensitive por especificação, na prática x-operationid
também funciona; o que não funciona é confiar em alguém tendo escrito
x-operationId na sua camada de log e achar que é o mesmo campo.
Chave de API (rotas do core)
X-API-KEY: <chave fornecida>Algumas rotas ficam no serviço principal (o core), não na API de integração, e usam
autenticação por chave em vez de Basic — é o caso de
GET /v1/gateway/orders/{id}/details.
Resumo
| Header | Onde se aplica | Obrigatório |
|---|---|---|
Authorization: Basic | todas as rotas da integração, exceto /v1/Health, /v1/Health/ready, GET /v1/batch/Warehouses/stock e POST /v1/Webhooks/process-event | sim |
x-contractAccountId | maioria das rotas | sim, na prática |
x-warehouseIds | nenhuma rota atual | não |
x-operationiD | qualquer rota | não |
X-API-KEY | rotas do core | sim, nessas rotas |
Requisição sem Authorization responde 401 sem corpo. Se você recebeu uma resposta
vazia com 401, é autenticação, não um bug no seu parser.