Documentação da API Paylog Documentação da API Paylog API pública v1
API v1

Introdução

Convenções, formatos, status e inventário dos endpoints públicos da API Paylog v1.

Nesta página 9

A API Paylog permite integrar clientes, produtos, pacotes, pedidos e cotações de frete à sua operação. Os recursos são HTTP, recebem e retornam JSON e são isolados pela conta vinculada ao token.

Observação

Esta é a documentação semântica 1.0.0 da API disponível sob /api/v1.

Endereço base

text
https://ev.paylog.cash/api/v1

Todos os endpoints desta referência usam esse endereço. Por exemplo, a rota relativa /clientes corresponde a https://ev.paylog.cash/api/v1/clientes.

Convenções das requisições

Item Valor Obrigatoriedade Observação
Authorization Bearer SEU_TOKEN Obrigatório Enviado em todas as chamadas da API v1.
Accept application/json Obrigatório Garante respostas JSON inclusive em erros.
Content-Type application/json Condicional Obrigatório quando a requisição possui corpo JSON.
Codificação UTF-8 Obrigatório Use UTF-8 nos textos enviados.
Datas ISO 8601 ou formato indicado no campo Condicional Cada recurso informa o formato aceito e retornado.
bash
curl --request GET \
  --url 'https://ev.paylog.cash/api/v1/clientes?page=1' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer SEU_TOKEN'

Como ler as tabelas

Os contratos desta documentação distinguem a presença de um campo na requisição e na resposta:

Termo Significado
Obrigatório A requisição é rejeitada quando o campo não é enviado ou não é válido.
Opcional O campo pode ser omitido; a página informa o valor padrão ou o comportamento resultante.
Condicional O campo é exigido somente na condição descrita.
Sempre A chave existe em toda resposta de sucesso daquele endpoint, mesmo quando o valor é null ou [].
Quando aplicável A chave só aparece quando a condição descrita ocorre.
Importante

Opcional não significa que o campo não influencia o resultado. Na calculadora de frete, por exemplo, omitir o peso ou o valor declarado transforma a cotação em estimativa.

Valores monetários

Não existe uma unidade monetária única para todos os campos. Consulte a tabela do endpoint antes de enviar ou interpretar um valor.

Contexto Unidade Exemplo
Campos identificados como *_centavos centavos, inteiro 12990 representa R$ 129,90.
Valores de clientes, produtos, pacotes e pedidos unidade indicada na página do recurso Não converta sem conferir o contrato do campo.
valor_declarado da calculadora de frete reais, número decimal 197.00 representa R$ 197,00.
valor_centavos da cotação de frete centavos, inteiro 2079 representa R$ 20,79.
jsonc
{
  "valor_declarado": 197.00, // Requisição de frete: reais (R$ 197,00).
  "valor_centavos": 2079     // Resposta de frete: centavos (R$ 20,79).
}

Endpoints públicos da v1

Todos os endpoints abaixo pertencem à integração do produtor. A Calculadora de Frete exige somente um token válido; os demais também verificam a permissão indicada na conta.

Método Endpoint Permissão Finalidade
GET /clientes listar_cliente_api Listar clientes.
GET /clientes/{id} editar_cliente_api Consultar um cliente.
POST /clientes criar_cliente_api Cadastrar um cliente.
PUT /clientes/{id} editar_cliente_api Atualizar um cliente.
GET /produtos listar_produtos_api Listar produtos.
GET /produtos/{id} listar_produtos_api Consultar um produto.
POST /produtos criar_produtos_api Cadastrar um produto com tipo, peso e dimensões.
PATCH /produtos/{id} criar_produtos_api Atualizar os campos enviados de um produto.
GET /pacotes listar_pacote_api Listar pacotes.
GET /pacotes/{id} listar_pacote_api Consultar um pacote.
GET /pedidos listar_pedido_api Listar pedidos.
GET /pedidos/{id} listar_pedido_api Consultar um pedido.
GET /pedidos/{id}/rastreamento listar_pedido_api Consultar o histórico de rastreamento.
POST /pedidos criar_pedido_api Criar um pedido com pacote.
POST /pedidos/carrinho criar_pedido_api Criar um pedido informando os produtos.
POST /pedidos/{id}/aprovar editar_pedido_api Aprovar um pedido.
POST /pedidos/{id}/cancelar editar_pedido_api Cancelar um pedido que ainda não saiu.
POST /pedidos/{id}/pausar editar_pedido_api Pausar o processamento.
POST /pedidos/{id}/retomar editar_pedido_api Retomar um pedido pausado.
POST /frete/calcular Token válido Cotar as transportadoras habilitadas.

Status dos pedidos

O campo status_code_id usa os códigos abaixo.

Código Status
1 Pendente
2 Aguardando Faturamento
3 Faturado
4 Preparação
5 Devolvido
6 Estornado
7 Enviado
8 Parado
9 Cancelado
10 Pago - Aguardando NF/DC
11 Correção
12 Pedidos Agregado (Upsell)
13 Falha no Faturamento
14 Entregue
15 Reenviado
16 Aguardando Transportadora
17 Etiqueta Pronta
18 Aguardando Retirada
19 Saiu para Entrega
20 Ao Remetente

Motivos de pedido parado

Quando status_code_id é 8, motivo_parado_id pode identificar a causa atual.

Código Motivo
1 Falta de Estoque
2 Falta de Crédito
3 Não Conseguiu Contato
4 A pedido do produtor
5 Erro fiscal
6 Tipo De Emissão não Configurado
7 Pacote Desativado
8 Produto Desativado
9 Produtor Desativado
10 Produtor Suspenso
11 Inadimplência
12 Integração Inativa
13 Aguardando Edição do Produtor
14 Produto Não Associado
15 Erro na Baixa de Estoque
16 Parado manualmente
17 Erro fiscal permanente (emissor)

Status de pacotes e produtos

Recurso Código Status
Pacote 0 Pendente
Pacote 1 Ativo
Pacote 2 Desabilitado
Produto 0 Pendente
Produto 1 Aprovado
Produto 2 Desabilitado

Respostas e erros

HTTP Significado Contrato de resposta
200 Consulta ou atualização concluída JSON descrito na página do endpoint.
201 Recurso criado JSON com o recurso ou identificador criado, conforme a página.
401 Token ausente, inválido ou expirado Mensagem de não autenticação.
403 Usuário sem a permissão necessária Mensagem de acesso negado.
404 Recurso inexistente ou fora da conta autenticada Usado por /pacotes/{id}. Os demais recursos usam outro status para o mesmo caso — veja a nota abaixo.
422 Dados inválidos Objeto com os erros de validação.
429 Limite de requisições excedido Só a calculadora de frete é limitada: 60 requisições por minuto por usuário autenticado. Os demais endpoints não têm limite próprio.
500 Erro interno inesperado Mensagem genérica; não repita indefinidamente.
Importante

Não existe um único status para "recurso não encontrado". Um ID inexistente e um ID de outra conta sempre recebem a mesma resposta — nunca revelando dados de terceiros — mas o status varia por recurso, e em produtos varia até por verbo: /clientes/{id} e /pedidos/{id} (inclusive /rastreamento e os comandos) retornam 401, /pacotes/{id} retorna 404, GET /produtos/{id} retorna 204 No Content e PATCH /produtos/{id} retorna 404 com { "message": "Produto não encontrado." }. Trate todos esses casos como "não encontrado" na sua integração.

Dica

Em integrações automáticas, registre o status HTTP, o corpo da resposta e um identificador próprio da operação. Nunca registre o token.

Atualizado em 07/08/2026