Guia de Utilização da API
Este guia aborda as melhores práticas e padrões comuns para utilizar a API XD Soba de forma eficiente.
Padrões de Requisição
Paginação
A maioria dos endpoints de listagem suportam paginação usando os seguintes parâmetros:
?page=1&pageSize=20
page: O número da página (começa em 1)pageSize: Número de itens por página (padrão: 20, máximo: 100)
Exemplo de resposta:
{
"items": [...],
"totalCount": 100,
"pageSize": 20,
"currentPage": 1,
"totalPages": 5
}
Filtros
Muitos endpoints suportam filtros usando parâmetros de query:
# Filtrar por intervalo de datas
?startDate=2024-01-01&endDate=2024-12-31
# Filtrar por estado
?status=active
# Pesquisar por texto
?search=query
Ordenação
Ordene os resultados usando os parâmetros sortBy e sortDirection:
?sortBy=createdAt&sortDirection=desc
Operações Comuns
Criar Recursos
A maioria dos endpoints de criação seguem este padrão:
POST /gateway/{resource}
Content-Type: application/json
{
"name": "Exemplo",
"description": "Descrição opcional",
"status": "active"
}
Atualizar Recursos
Operações de atualização normalmente usam PUT ou PATCH:
PUT /gateway/{resource}/{id}
Content-Type: application/json
{
"name": "Nome Atualizado",
"status": "inactive"
}
Eliminar Recursos
A eliminação é normalmente feita com o método DELETE:
DELETE /gateway/{resource}/{id}
Boas Práticas
Tratamento de Erros
- Verifique sempre o código de estado da resposta
- Analise as respostas de erro para informações detalhadas
- Implemente lógica de retry para erros 5xx
- Trate o rate limiting (429) adequadamente
Desempenho
- Use paginação para limitar o tamanho da resposta
- Implemente caching do lado do cliente quando apropriado
- Use compressão (gzip) para respostas grandes
- Agrupe operações quando possível
Segurança
- Nunca guarde tokens em código do lado do cliente
- Rotacione as chaves da API regularmente
- Use HTTPS para todos os pedidos
- Valide todos os dados de entrada
Casos de Uso Comuns
Gestão de Entidades
# Criar uma nova entidade
POST /gateway/entities
{
"name": "Nova Entidade",
"type": "customer"
}
# Listar entidades com filtros
GET /gateway/entities?type=customer&status=active
# Atualizar entidade
PUT /gateway/entities/{id}
{
"status": "inactive"
}
Regiões de Entrega
# Criar região de entrega
POST /gateway/delivery-regions
{
"name": "Nome da Região",
"boundaries": [...]
}
# Listar regiões
GET /gateway/delivery-regions?active=true
Itens e Grupos
# Criar item
POST /gateway/items
{
"name": "Nome do Item",
"groupId": "group-id"
}
# Listar itens de um grupo
GET /gateway/items?groupId=group-id
Testes
- Use o ambiente de sandbox para testes
- Teste cenários de erro
- Verifique o comportamento do rate limiting
- Teste com diferentes volumes de dados
Suporte
Se precisar de ajuda:
- Consulte o Guia de Resolução de Problemas
- Reveja a Referência da API
- Contacte o suporte em support@xdsoba.com