Primeira requisição
1. Valide as credenciais
curl -X POST 'https://xpkedxpjsdgxymjtkwwx.supabase.co/functions/v1/validate-connection' \
-H 'Authorization: Bearer <CHAVE_PUBLICA_ANON>' \
-H 'apikey: <CHAVE_PUBLICA_ANON>' \
-H 'x-affiliate-token: <TOKEN_DO_PARCEIRO>' \
-H 'x-client-token: <TOKEN_DO_CLIENTE>' \
-H 'Accept: application/json'
Resposta esperada: {"valid":true,"connection_verified":true,"client":{"name":"Empresa Exemplo"},"affiliate":{"name":"Parceiro Exemplo"}}. A validação confirma os dois tokens, mas não prova relação contratual entre o parceiro e o cliente.
2. Envie um lote
curl -X POST 'https://xpkedxpjsdgxymjtkwwx.supabase.co/functions/v1/ingestao-erp' \
-H 'Authorization: Bearer <CHAVE_PUBLICA_ANON>' \
-H 'apikey: <CHAVE_PUBLICA_ANON>' \
-H 'x-affiliate-token: <TOKEN_DO_PARCEIRO>' \
-H 'x-client-token: <TOKEN_DO_CLIENTE>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data '{"type":"vendas","data":[{"id_externo":"erp:venda:1:123:1","tipo":"Venda","data_referencia":"2026-07-16","descricao":"Produto exemplo","quantidade":1,"preco_atual":12.99}]}'
Uma resposta de sucesso tem a forma {"success":true,"count":1}. Preserve id_externo nos reenvios para que o upsert atualize a linha em vez de duplicá-la. Registre status e resposta, mas retire tokens e dados pessoais dos logs.
Antes de montar um lote real, consulte o dicionário de campos para verificar os nomes, formatos e efeitos de cada variável.