Documentação da API do Entregas Expressas

Postman collection → OpenAPI spec →

Introdução

Esta documentação detalha os endpoints disponíveis na API do Entregas Expressas para integração do seu sistema com o Entregas Expressas da Dono do App.

Esta documentação tem como objetivo fornecer todas as informações necessárias para o seu sistema trabalhar com a API do Entregas Expressas.

Endpoint da API

O endpoint da API é a URL base do painel administrativo seguido de /api/v1:

https://entregasexpressas.com.br/api/v1

Códigos HTTP das respostas

O Entregas Expressas utiliza respostas HTTP convencionais para indicar sucesso ou falha nas requisições. Respostas com status 200 indicam sucesso, status 4xx indicam falhas decorrentes de erros nas informações enviadas, e status 500 indicam erros internos no servidor do Dono do App.

Código HTTP Descrição
200 - OK Sua requisição foi bem sucedida.
201 - Created O recurso foi criado com sucesso.
400 - Bad Request Algum parâmetro obrigatório não foi enviado ou é inválido. Neste caso a própria resposta indicará qual é o problema.
401 - Unauthorized Não foi enviada API Key ou ela é inválida.
403 - Forbidden Requisição não autorizada. Abuso da API ou uso de parâmetros não permitidos podem gerar este código.
404 - Not Found O endpoint ou o objeto solicitado não existe.
429 - Too Many Requests Muitos pedidos em um determinado período de tempo.
500 - Internal Server Error Algo deu errado no servidor do Dono do App.

Todos os endpoints da API do Entregas Expressas recebem e respondem em JSON.

Exemplo de resposta para HTTP 400:

{
    "mensagem": "Erro de validação",
    "errors": {
        "tipo_veiculo_id": [
            "O tipo de veículo é obrigatório"
        ],
        "categoria_id": [
            "A categoria é obrigatória"
        ]
    }
}

Autenticação

Para autenticar requisições, inclua o cabeçalho Authorization com o valor "Bearer {SUA_CHAVE_API}".

Todos os endpoints autenticados são marcados com o badge requer autenticação na documentação abaixo.

Seu Bearer Token estará disponível no menu administrativo na aba Integrações.

Pedidos

Endpoints para gerenciar pedidos de entrega.

Calcular Valor

POST
https://entregasexpressas.com.br
/api/v1/orders/calcular
requires authentication

Antes de enviar o pedido, você pode verificar o valor enviando os dados do pedido e recebendo de volta a distância e valor final.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros do Corpo

Exemplo de requisição:
curl --request POST \
    "https://entregasexpressas.com.br/api/v1/orders/calcular" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo_veiculo_id\": 1,
    \"categoria_id\": 3,
    \"endereco_coleta\": {
        \"endereco\": \"Rua teste, 123 - Teste, São Paulo - SP, 00000-000\",
        \"latitude\": -23.570914,
        \"longitude\": -46.645079,
        \"nome\": \"João\",
        \"telefone\": \"(11) 99999-9923\"
    },
    \"enderecos_entrega\": [
        {
            \"endereco\": \"Rua teste, 33 - Teste 2, São Paulo - SP, 00000-000\",
            \"latitude\": -23.585292,
            \"longitude\": -46.655723,
            \"nome\": \"Maria\",
            \"telefone\": \"(11) 12131-9923\"
        }
    ],
    \"cliente_id\": 3,
    \"dimensoes_pacote\": {
        \"peso\": 15,
        \"largura\": 15,
        \"altura\": 15,
        \"comprimento\": 15
    },
    \"retorno_necessario\": true,
    \"prova_entrega_necessaria\": false
}"
Exemplo de resposta:
{
    "preco": 9.09,
    "distancia": 5.92,
    "precoDescricao": "R$ 9,09",
    "distanciaDescricao": "5.92 km"
}

Listar Pedidos

GET
https://entregasexpressas.com.br
/api/v1/orders
requires authentication

Lista os pedidos paginados. Também é possível buscar pedidos específicos por id ou external_id.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de Query

page
integer

Número da página (padrão: 1).

Example:
1
limit
integer

Itens por página (máx: 100, padrão: 50).

Example:
50
id
integer

Filtrar por ID do pedido.

external_id
string

Filtrar por ID externo do pedido.

Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/orders?page=1&limit=50" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
{
    "current_page": 1,
    "data": [
        {
            "id": 127,
            "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "central_id": 1,
            "external_id": "AShb23",
            "external_display_id": "PED-127",
            "user_id": 3,
            "assigned_vehicle_types": null,
            "assigned_vehicle_types_date": null,
            "block_envio": false,
            "started_at": "2025-01-15 10:30:00",
            "pickup_location": "Rua teste, 123 - Teste, São Paulo - SP, 00000-000",
            "pickup_location_data": {
                "endereco": "Rua teste, 123 - Teste, São Paulo - SP, 00000-000",
                "latitude": -23.570914,
                "longitude": -46.645079,
                "nome": "João",
                "telefone": "(11) 99999-9923",
                "external_id": "125"
            },
            "delivery_locations_data": [
                {
                    "endereco": "Rua teste, 33 - Teste 2, São Paulo - SP, 00000-000",
                    "latitude": -23.585292,
                    "longitude": -46.655723,
                    "nome": "Maria",
                    "telefone": "(11) 12131-9923",
                    "external_id": "1500",
                    "delivered": false,
                    "evidence": null
                }
            ],
            "need_return_to_pickup_location": false,
            "need_delivery_proof": false,
            "distance": 5.92,
            "return_distance": 0,
            "total_value": 9.09,
            "pickup_delay_tax": 0,
            "repassado": 0,
            "customer_observation": null,
            "valor_pedidos": null,
            "offline_payment_method_id": null,
            "pagamento_faturado": false,
            "origem_pedido": "integracao",
            "payment_gateway": null,
            "gateway_method": null,
            "payment_code": null,
            "payment_base64": null,
            "payment_expiration_date": null,
            "payment_url": null,
            "payment_status": null,
            "order_status": "accepted",
            "type": "delivery",
            "status_observation": null,
            "category_id": 3,
            "vehicle_type_id": 1,
            "height": 15,
            "length": 15,
            "width": 15,
            "weight": 15,
            "created_at": "2025-01-15T10:30:00.000000Z",
            "updated_at": "2025-01-15T10:35:00.000000Z",
            "deleted_at": null,
            "integracao_ids": null,
            "integracao_referencia_id": null,
            "integracao_order_status": null,
            "integracao_order_data": null,
            "order_import_detail_id": null,
            "accepted_at": "2025-01-15T10:35:00.000000Z",
            "arrived_pickup_location_at": null,
            "arrived_limit_date": null,
            "picked_up_at": null,
            "delivered_at_data": null,
            "finished_at": null,
            "collect_limit_date": null,
            "fatura_id": null,
            "status": "Aceito",
            "courier": "Entregador João",
            "courier_data": {
                "id": 17,
                "name": "Entregador João",
                "location": {
                    "latitude": -23.56501282480426,
                    "longitude": -46.652052565889385
                }
            },
            "category": {
                "id": 3,
                "name": "Documentos"
            },
            "vehicle_type": {
                "id": 1,
                "name": "Moto"
            },
            "user": {
                "id": 3,
                "name": "cliente",
                "email": "[email protected]",
                "external_id": null
            },
            "tracking_url": "https://entregasexpressas.com.br/tracking/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
        }
    ],
    "first_page_url": "https://entregasexpressas.com.br/api/v1/orders?page=1",
    "from": 1,
    "last_page": 77,
    "last_page_url": "https://entregasexpressas.com.br/api/v1/orders?page=77",
    "limit": 50,
    "next_page_url": "https://entregasexpressas.com.br/api/v1/orders?page=2",
    "path": "https://entregasexpressas.com.br/api/v1/orders",
    "prev_page_url": null,
    "to": 50,
    "total": 3814
}

Novo Pedido

POST
https://entregasexpressas.com.br
/api/v1/orders
requires authentication

Cria um novo pedido de entrega. Os endereços de coleta e entrega devem conter latitude e longitude, ou o endereço textual para geocodificação automática.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros do Corpo

Exemplo de requisição:
curl --request POST \
    "https://entregasexpressas.com.br/api/v1/orders" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo_veiculo_id\": 1,
    \"categoria_id\": 3,
    \"endereco_coleta\": {
        \"endereco\": \"Rua teste, 123 - Teste, São Paulo - SP, 00000-000\",
        \"latitude\": -23.570914,
        \"longitude\": -46.645079,
        \"nome\": \"João\",
        \"telefone\": \"(11) 99999-9923\",
        \"external_id\": \"1552\"
    },
    \"enderecos_entrega\": [
        {
            \"endereco\": \"Rua teste, 33 - Teste 2, São Paulo - SP, 00000-000\",
            \"latitude\": -23.585292,
            \"longitude\": -46.655723,
            \"nome\": \"Maria\",
            \"telefone\": \"(11) 12131-9923\",
            \"external_id\": \"123\"
        }
    ],
    \"cliente_id\": 3,
    \"cliente\": {
        \"nome\": \"João Silva\",
        \"email\": \"[email protected]\",
        \"telefone\": \"(11) 99999-9923\",
        \"senha\": \"senha123\"
    },
    \"external_id\": \"AS@&ahb23\",
    \"dimensoes_pacote\": {
        \"peso\": 15,
        \"largura\": 15,
        \"altura\": 15,
        \"comprimento\": 15
    },
    \"retorno_necessario\": true,
    \"prova_entrega_necessaria\": false,
    \"metodo_pagamento\": \"faturado\"
}"
Exemplo de resposta:
{
    "id": 127,
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "central_id": 1,
    "external_id": "AShb23",
    "external_display_id": "PED-127",
    "user_id": 3,
    "assigned_vehicle_types": null,
    "assigned_vehicle_types_date": null,
    "block_envio": false,
    "started_at": "2025-01-15 10:30:00",
    "pickup_location": "Rua teste, 123 - Teste, São Paulo - SP, 00000-000",
    "pickup_location_data": {
        "endereco": "Rua teste, 123 - Teste, São Paulo - SP, 00000-000",
        "latitude": -23.570914,
        "longitude": -46.645079,
        "nome": "João",
        "telefone": "(11) 99999-9923",
        "external_id": "125"
    },
    "delivery_locations_data": [
        {
            "endereco": "Rua teste, 33 - Teste 2, São Paulo - SP, 00000-000",
            "latitude": -23.585292,
            "longitude": -46.655723,
            "nome": "Maria",
            "telefone": "(11) 12131-9923",
            "external_id": "1500",
            "delivered": false,
            "evidence": null
        }
    ],
    "need_return_to_pickup_location": false,
    "need_delivery_proof": false,
    "distance": 5.92,
    "return_distance": 0,
    "total_value": 9.09,
    "pickup_delay_tax": 0,
    "repassado": 0,
    "customer_observation": null,
    "valor_pedidos": null,
    "offline_payment_method_id": null,
    "pagamento_faturado": false,
    "origem_pedido": "integracao",
    "payment_gateway": null,
    "gateway_method": null,
    "payment_code": null,
    "payment_base64": null,
    "payment_expiration_date": null,
    "payment_url": null,
    "payment_status": null,
    "order_status": "accepted",
    "type": "delivery",
    "status_observation": null,
    "category_id": 3,
    "vehicle_type_id": 1,
    "height": 15,
    "length": 15,
    "width": 15,
    "weight": 15,
    "created_at": "2025-01-15T10:30:00.000000Z",
    "updated_at": "2025-01-15T10:35:00.000000Z",
    "deleted_at": null,
    "integracao_ids": null,
    "integracao_referencia_id": null,
    "integracao_order_status": null,
    "integracao_order_data": null,
    "order_import_detail_id": null,
    "accepted_at": "2025-01-15T10:35:00.000000Z",
    "arrived_pickup_location_at": null,
    "arrived_limit_date": null,
    "picked_up_at": null,
    "delivered_at_data": null,
    "finished_at": null,
    "collect_limit_date": null,
    "fatura_id": null,
    "status": "Aceito",
    "courier": "Entregador João",
    "courier_data": {
        "id": 17,
        "name": "Entregador João",
        "location": {
            "latitude": -23.56501282480426,
            "longitude": -46.652052565889385
        }
    },
    "category": {
        "id": 3,
        "name": "Documentos"
    },
    "vehicle_type": {
        "id": 1,
        "name": "Moto"
    },
    "user": {
        "id": 3,
        "name": "cliente",
        "email": "[email protected]",
        "external_id": null
    },
    "tracking_url": "https://entregasexpressas.com.br/tracking/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Obter Pedido

GET
https://entregasexpressas.com.br
/api/v1/orders/{order}
requires authentication

Busque os dados de um pedido específico pelo seu ID.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de URL

order
integer
required

ID do Pedido.

Example:
127
Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/orders/127" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
{
    "id": 127,
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "central_id": 1,
    "external_id": "AShb23",
    "external_display_id": "PED-127",
    "user_id": 3,
    "assigned_vehicle_types": null,
    "assigned_vehicle_types_date": null,
    "block_envio": false,
    "started_at": "2025-01-15 10:30:00",
    "pickup_location": "Rua teste, 123 - Teste, São Paulo - SP, 00000-000",
    "pickup_location_data": {
        "endereco": "Rua teste, 123 - Teste, São Paulo - SP, 00000-000",
        "latitude": -23.570914,
        "longitude": -46.645079,
        "nome": "João",
        "telefone": "(11) 99999-9923",
        "external_id": "125"
    },
    "delivery_locations_data": [
        {
            "endereco": "Rua teste, 33 - Teste 2, São Paulo - SP, 00000-000",
            "latitude": -23.585292,
            "longitude": -46.655723,
            "nome": "Maria",
            "telefone": "(11) 12131-9923",
            "external_id": "1500",
            "delivered": false,
            "evidence": null
        }
    ],
    "need_return_to_pickup_location": false,
    "need_delivery_proof": false,
    "distance": 5.92,
    "return_distance": 0,
    "total_value": 9.09,
    "pickup_delay_tax": 0,
    "repassado": 0,
    "customer_observation": null,
    "valor_pedidos": null,
    "offline_payment_method_id": null,
    "pagamento_faturado": false,
    "origem_pedido": "integracao",
    "payment_gateway": null,
    "gateway_method": null,
    "payment_code": null,
    "payment_base64": null,
    "payment_expiration_date": null,
    "payment_url": null,
    "payment_status": null,
    "order_status": "accepted",
    "type": "delivery",
    "status_observation": null,
    "category_id": 3,
    "vehicle_type_id": 1,
    "height": 15,
    "length": 15,
    "width": 15,
    "weight": 15,
    "created_at": "2025-01-15T10:30:00.000000Z",
    "updated_at": "2025-01-15T10:35:00.000000Z",
    "deleted_at": null,
    "integracao_ids": null,
    "integracao_referencia_id": null,
    "integracao_order_status": null,
    "integracao_order_data": null,
    "order_import_detail_id": null,
    "accepted_at": "2025-01-15T10:35:00.000000Z",
    "arrived_pickup_location_at": null,
    "arrived_limit_date": null,
    "picked_up_at": null,
    "delivered_at_data": null,
    "finished_at": null,
    "collect_limit_date": null,
    "fatura_id": null,
    "status": "Aceito",
    "courier": "Entregador João",
    "courier_data": {
        "id": 17,
        "name": "Entregador João",
        "location": {
            "latitude": -23.56501282480426,
            "longitude": -46.652052565889385
        }
    },
    "category": {
        "id": 3,
        "name": "Documentos"
    },
    "vehicle_type": {
        "id": 1,
        "name": "Moto"
    },
    "user": {
        "id": 3,
        "name": "cliente",
        "email": "[email protected]",
        "external_id": null
    },
    "tracking_url": "https://entregasexpressas.com.br/tracking/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
    "mensagem": "Pedido não encontrado"
}

Cancelar Pedido

DELETE
https://entregasexpressas.com.br
/api/v1/orders/{order}
requires authentication

Cancele um pedido. Disponível apenas para pedidos que ainda não foram aceitos (status: pending, waiting, scheduled ou preparing).

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de URL

order
integer
required

ID do Pedido.

Example:
127
Exemplo de requisição:
curl --request DELETE \
    "https://entregasexpressas.com.br/api/v1/orders/127" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
{
    "mensagem": "Pedido cancelado"
}
{
    "mensagem": "O pedido não pode ser cancelado pois já foi aceito"
}
{
    "mensagem": "Pedido não encontrado"
}

Tipos de Veículos

Endpoints para consultar os tipos de veículos e suas categorias disponíveis.

Listar Categorias do Tipo de Veículo

GET
https://entregasexpressas.com.br
/api/v1/tipos-veiculos/{id}/categorias
requires authentication

Lista as categorias de um Tipo de Veículo, sendo possível filtrar pelo nome enviando o texto de busca no parâmetro nome.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de URL

id
integer
required

ID do Tipo de Veículo.

Example:
1

Parâmetros de Query

nome
string

Filtrar pelo nome da categoria.

Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/tipos-veiculos/1/categorias" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
[
    {
        "id": 1,
        "nome": "Alimentos",
        "has_media": false,
        "media": []
    },
    {
        "id": 2,
        "nome": "Documentos",
        "has_media": false,
        "media": []
    },
    {
        "id": 3,
        "nome": "Eletrônicos",
        "has_media": true,
        "media": []
    }
]
{
    "message": "Tipo de veículo não encontrado"
}

Listar Tipos de Veículos

GET
https://entregasexpressas.com.br
/api/v1/tipos-veiculos
requires authentication

Lista os Tipos de Veículos disponíveis, sendo possível filtrar pelo nome enviando o texto de busca no parâmetro nome.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de Query

nome
string

Filtrar pelo nome do tipo de veículo.

Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/tipos-veiculos" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
[
    {
        "id": 1,
        "nome": "Moto",
        "peso_e_dimensoes": true,
        "limitar_peso_e_dimensoes": true,
        "altura_maxima": 50,
        "largura_maxima": 50,
        "comprimento_maximo": 50,
        "peso_maximo": 30,
        "has_media": true,
        "media": []
    },
    {
        "id": 2,
        "nome": "Carro",
        "peso_e_dimensoes": false,
        "limitar_peso_e_dimensoes": false,
        "altura_maxima": null,
        "largura_maxima": null,
        "comprimento_maximo": null,
        "peso_maximo": null,
        "has_media": true,
        "media": []
    }
]

Usuários

Endpoints para gerenciar usuários (clientes) do sistema.

Buscar Usuários

GET
https://entregasexpressas.com.br
/api/v1/usuarios
requires authentication

Busque cadastros de usuários através do email ou id externo. Se nenhum filtro for informado, retorna todos os usuários.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de Query

email
string

Filtrar por e-mail do usuário.

external_id
string

Filtrar por ID externo do usuário.

Parâmetros do Corpo

Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/usuarios?email=cliente%40entregasexpressas.com" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"
Exemplo de resposta:
{
    "data": [
        {
            "id": 3,
            "nome": "cliente",
            "email": "[email protected]",
            "telefone": "(11) 99999-9923",
            "external_id": "12516",
            "faturamento": true,
            "saldo": 0,
            "has_media": false,
            "media": [],
            "data_criacao": "2024-01-15 10:30:00"
        }
    ]
}

Cadastrar Usuário

POST
https://entregasexpressas.com.br
/api/v1/usuarios
requires authentication

Cadastra um novo usuário (cliente) no sistema.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros do Corpo

Exemplo de requisição:
curl --request POST \
    "https://entregasexpressas.com.br/api/v1/usuarios" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"Novo Usuário\",
    \"email\": \"[email protected]\",
    \"senha\": \"0346nlkasd\",
    \"telefone\": \"(11) 12532-1234\",
    \"external_id\": \"12516\"
}"
Exemplo de resposta:
{
    "data": {
        "id": 3,
        "nome": "cliente",
        "email": "[email protected]",
        "telefone": "(11) 99999-9923",
        "external_id": "12516",
        "faturamento": true,
        "saldo": 0,
        "has_media": false,
        "media": [],
        "data_criacao": "2024-01-15 10:30:00"
    }
}
{
    "mensagem": "Erro de validação",
    "errors": {
        "email": [
            "O email informado está em uso"
        ]
    }
}

Editar Usuário

PUT
PATCH
https://entregasexpressas.com.br
/api/v1/usuarios/{id}
requires authentication

Atualiza os dados de um usuário existente. Apenas os campos enviados serão atualizados.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de URL

id
string
required

The ID of the usuario.

Example:
architecto
usuario
integer
required

ID do Usuário.

Example:
3

Parâmetros do Corpo

Exemplo de requisição:
curl --request PUT \
    "https://entregasexpressas.com.br/api/v1/usuarios/architecto" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"Novo Nome\",
    \"telefone\": \"(11) 99999-8888\",
    \"external_id\": \"11111\",
    \"senha\": \"NovaSenha123\"
}"
Exemplo de resposta:
{
    "data": {
        "id": 3,
        "nome": "cliente",
        "email": "[email protected]",
        "telefone": "(11) 99999-9923",
        "external_id": "12516",
        "faturamento": true,
        "saldo": 0,
        "has_media": false,
        "media": [],
        "data_criacao": "2024-01-15 10:30:00"
    }
}
{
    "mensagem": "Usuário não encontrado"
}

URLs de Webhook

Endpoints para gerenciar as URLs de Webhook que receberão atualizações sobre os pedidos.

Ao cadastrar uma URL de Webhook, todos os pedidos e todas as mudanças de status serão enviadas para a URL configurada, enviando todos os detalhes do pedido no ato da alteração via requisição POST.

Cabeçalhos enviados

Cabeçalho Valor
Content-Type application/json
Accept application/json
webhook-security Código de segurança configurado (se definido)

Status do Pedido (order_status)

Status Descrição
waiting Pedido com pagamento online aguardando pagamento (só acontece em pedidos com pagamento online)
scheduled Pedido agendado
preparing Pedido em preparo (só disponível se o status em preparo estiver ativo)
pending Pedido buscando entregador
accepted Pedido aceito por um entregador
arrived_pickup_location Entregador no local de coleta
collected Pedido coletado
delivered Pedido com todos os endereços entregues fazendo retorno ao local de coleta (só em pedidos com retorno)
completed Pedido finalizado com sucesso
cancelled Pedido cancelado

Exemplo de payload recebido na sua URL

{
  "event": "ORDER_UPDATED",
  "order": {
    "id": 1234,
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "central_id": null,
    "external_id": null,
    "user_id": 10,
    "started_at": "2025-01-15 10:30:00",
    "pickup_location": "Rua Exemplo, 100 - Centro",
    "pickup_location_data": {
      "latitude": -23.5505,
      "longitude": -46.6333,
      "endereco": "Rua Exemplo, 100 - Centro"
    },
    "delivery_locations_data": [
      {
        "id": "abc123",
        "latitude": -23.5605,
        "longitude": -46.6433,
        "endereco": "Rua Destino, 200 - Bairro",
        "rua": "Rua Destino",
        "numero": "200",
        "bairro": "Bairro",
        "cidade": "Sao Paulo",
        "estado": "SP",
        "complemento": "Apto 101",
        "cep": "01001-000",
        "nome": "Joao Silva",
        "telefone": "(11) 99999-9999",
        "delivered": false,
        "delivered_date": null,
        "delivery_failed": false,
        "evidence": {
          "photo": "https://exemplo.com/foto.jpg",
          "signature": null,
          "document": "123.456.789-00",
          "name": "Joao Silva"
        }
      }
    ],
    "need_return_to_pickup_location": false,
    "need_delivery_proof": false,
    "distance": 5.2,
    "return_distance": 0,
    "total_value": 15.50,
    "pickup_delay_tax": 0,
    "repassado": false,
    "customer_observation": "Pedido via integração",
    "valor_pedidos": 89.90,
    "offline_payment_method_id": null,
    "pagamento_faturado": false,
    "payment_gateway": "carteira_digital",
    "gateway_method": null,
    "payment_code": null,
    "payment_base64": null,
    "payment_expiration_date": null,
    "payment_url": null,
    "payment_status": "paid",
    "order_status": "accepted",
    "type": "delivery",
    "status_observation": null,
    "category_id": 1,
    "vehicle_type_id": 1,
    "height": null,
    "length": null,
    "width": null,
    "weight": null,
    "created_at": "2025-01-15T10:30:00.000000Z",
    "updated_at": "2025-01-15T10:35:00.000000Z",
    "deleted_at": null,
    "accepted_at": "2025-01-15T10:35:00.000000Z",
    "arrived_pickup_location_at": null,
    "arrived_limit_date": null,
    "picked_up_at": null,
    "delivered_at_data": null,
    "finished_at": null,
    "collect_limit_date": null,
    "fatura_id": null,
    "status": "Aceito",
    "courier": "Carlos Entregador",
    "courier_data": {
      "id": 5,
      "name": "Carlos Entregador",
      "location": {
        "latitude": -23.5510,
        "longitude": -46.6340
      }
    },
    "category": {"id": 1, "name": "Alimentação"},
    "vehicle_type": {"id": 1, "name": "Moto"},
    "user": {
      "id": 10,
      "email": "[email protected]",
      "name": "Restaurante Exemplo",
      "external_id": null
    },
    "tracking_url": "https://entregasexpressas.com.br/tracking/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}

Listar Webhooks

GET
https://entregasexpressas.com.br
/api/v1/webhooks
requires authentication

Lista todas as URLs de Webhook cadastradas.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json
Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/webhooks" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
[
    {
        "id": 1,
        "url": "https://meusite.com/webhook",
        "codigo_seguranca": "Aas#asdg@fngasd"
    },
    {
        "id": 2,
        "url": "https://meusite.com/webhook2",
        "codigo_seguranca": null
    }
]

Cadastrar Webhook

POST
https://entregasexpressas.com.br
/api/v1/webhooks
requires authentication

Cadastra uma nova URL de Webhook para receber atualizações de pedidos.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros do Corpo

Exemplo de requisição:
curl --request POST \
    "https://entregasexpressas.com.br/api/v1/webhooks" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/entregas-expressas.teste\",
    \"codigo_seguranca\": \"Aas#asdg@fngasd\"
}"
Exemplo de resposta:
{
    "id": 1,
    "url": "https://meusite.com/webhook",
    "codigo_seguranca": "Aas#asdg@fngasd"
}
{
    "mensagem": "Erro de validação",
    "errors": {
        "url": [
            "Uma URL de webhook com este endereço já existe"
        ]
    }
}

Obter Webhook

GET
https://entregasexpressas.com.br
/api/v1/webhooks/{id}
requires authentication

Busque os dados de uma URL de Webhook específica.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de URL

id
string
required

The ID of the webhook.

Example:
architecto
webhook
integer
required

ID da URL de Webhook.

Example:
1
Exemplo de requisição:
curl --request GET \
    --get "https://entregasexpressas.com.br/api/v1/webhooks/architecto" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
{
    "id": 1,
    "url": "https://meusite.com/webhook",
    "codigo_seguranca": "Aas#asdg@fngasd"
}
{
    "mensagem": "Webhook não encontrado"
}

Remover Webhook

DELETE
https://entregasexpressas.com.br
/api/v1/webhooks/{id}
requires authentication

Remove uma URL de Webhook.

Cabeçalhos

Authorization
Example:
Bearer {SUA_CHAVE_API}
Content-Type
Example:
application/json
Accept
Example:
application/json

Parâmetros de URL

id
string
required

The ID of the webhook.

Example:
architecto
webhook
integer
required

ID da URL de Webhook.

Example:
1
Exemplo de requisição:
curl --request DELETE \
    "https://entregasexpressas.com.br/api/v1/webhooks/architecto" \
    --header "Authorization: Bearer {SUA_CHAVE_API}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Exemplo de resposta:
{
    "mensagem": "Webhook removido com sucesso"
}
{
    "mensagem": "Webhook não encontrado"
}