Buscar na documentação
ctrl+4K
Módulos
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Soluções

Critérios para homologação

Prepare sua integração Merchant API para produção.
Prerequisitos:
  • Aplicativo completamente pronto para teste
  • Conta Profissional (CNPJ) — Contas Pessoal/Estudante (CPF) não são aceitas
  • Token de acesso válido fornecido durante onboarding
Valide que cada endpoint funciona corretamente:
EndpointMétodoCritério de aprovação
/merchantsGETRetorna array de lojas com id, name, corporateName
/merchants/{merchantId}GETRetorna objeto com operações e endereço completo
/merchants/{merchantId}/statusGETRetorna state (OK/WARNING/CLOSED/ERROR) com validações
/merchants/{merchantId}/interruptionsGETRetorna array vazio ou com interrupções ativas
/merchants/{merchantId}/interruptionsPOSTCria pausa com id, start, end e retorna 201
/merchants/{merchantId}/interruptions/{id}DELETERemove pausa e retorna 204 sem conteúdo
/merchants/{merchantId}/opening-hoursGETRetorna array de turnos com dayOfWeek, start, duration
/merchants/{merchantId}/opening-hoursPUTAtualiza horários e retorna 201 com turnos criados
Teste: Requisição sem token Expected: 401 Unauthorized com mensagem clara Pass: Erro retornado com código 401Teste: Token inválido Expected: 401 Unauthorized Pass: Erro retornado com código 401Teste: Token válido Expected: 200 com dados da loja Pass: Resposta bem-sucedidaTeste: GET /merchants sem parâmetros Expected: Array com todas as lojas Pass: Mínimo 1 loja retornada com id válidoTeste: GET /merchants?page=1&size=10 Expected: Máximo 10 lojas por página Pass: Resposta contém até 10 lojasTeste: GET /merchants/{merchantId}/status com loja ABERTA Expected: state: OK ou WARNING com available: true Pass: Validação is-connected retorna OKTeste: GET /merchants/{merchantId}/status com loja FECHADA Expected: state: CLOSED com available: false Pass: Validação opening-hours retorna CLOSEDTeste: Criar pausa válida com POST /interruptions Expected: Response 201 com ID da pausa criada Pass: Pausa aparece em GET /interruptionsTeste: Criar pausa com sobreposição Expected: 409 InterruptionOverlap Pass: Erro retornadoTeste: Remover pausa com DELETE /interruptions/{id} Expected: Response 204 (sem conteúdo) Pass: Pausa não aparece em listagem posteriorTeste: Consultar horários com GET /opening-hours Expected: Array de turnos configurados Pass: Cada turno tem dayOfWeek, start, durationTeste: Atualizar horários com múltiplos turnos Expected: Response 201 com turnos criados Pass: GET /opening-hours retorna novos valoresTeste: Tentar turnos sobrepostos Expected: 400 BadRequest Pass: Erro retornado
Verifique respostas de erro para:
CódigoCenárioVerificação
400Parâmetros inválidosCorpo inclui code e message
401Token inválido/expiradoMensagem clara sobre autenticação
403Sem acesso à lojaErro indica permissão insuficiente
409Recurso em conflitoCódigo específico (ex: InterruptionOverlap)
429Rate limitHeader Retry-After presente
500Erro do servidorMensagem genérica, sem expor detalhes
  • Implemente retry com backoff exponencial para erros 5xx
  • Respeite limite de 1000 requisições por segundo
  • Use polling mínimo de 30 segundos para status
  • Valide tokens antes de usar em produção
  • Teste em ambiente homologação antes de subir para produção
Esta página foi útil?
Avalie sua experiência no novo Developer portal: