Skip to main content
POST
/
v1
/
logistics
/
delivery
curl --request POST \
  --url https://opendelivery.gohusky.net/logistic/v1/logistics/delivery \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "orderId": "ORDER-12345",
  "orderDisplayId": "ORD-12345",
  "merchant": {
    "id": "MERCHANT-001",
    "name": "Restaurante Exemplo"
  },
  "pickupAddress": {
    "country": "Brasil",
    "state": "SP",
    "city": "São Paulo",
    "district": "Centro",
    "street": "Rua Exemplo",
    "number": "123",
    "postalCode": "01310-100",
    "complement": "Apto 45",
    "reference": "Próximo ao metrô",
    "latitude": -23.5505,
    "longitude": -46.6333,
    "pickupLocation": "Balcão",
    "parkingSpace": true,
    "instructions": "Entregar na recepção"
  },
  "notifyPickup": true,
  "notifyConclusion": true,
  "returnToMerchant": false,
  "canCombine": false,
  "deliveryAddress": {
    "country": "Brasil",
    "state": "SP",
    "city": "São Paulo",
    "district": "Pinheiros",
    "street": "Av. Exemplo",
    "number": "456",
    "postalCode": "05433-000",
    "complement": null,
    "reference": "Edifício exemplo",
    "latitude": -23.5675,
    "longitude": -46.6925,
    "pickupLocation": null,
    "parkingSpace": false,
    "instructions": "Entregar no portão"
  },
  "customerName": "João Silva",
  "customerPhone": "+5511999999999",
  "vehicle": {
    "type": [
      "MOTORBIKE_BAG"
    ],
    "container": "NORMAL",
    "containerSize": null,
    "instruction": null
  },
  "limitTimes": {
    "pickupLimit": 30,
    "deliveryLimit": 60,
    "orderCreatedAt": "2024-01-15T10:30:00.000Z"
  },
  "totalOrderPrice": {
    "value": 45.5,
    "currency": "BRL"
  },
  "orderDeliveryFee": {
    "value": 8.5,
    "currency": "BRL"
  },
  "totalWeight": 500,
  "packageVolume": 2000,
  "packageQuantity": 1,
  "specialInstructions": "Produto frágil",
  "additionalPricePercentual": null,
  "payments": {
    "method": "ONLINE",
    "wirelessPos": false,
    "offlineMethod": null,
    "change": null
  },
  "combinedOrdersIds": null,
  "sourceAppId": null,
  "sourceOrderId": null,
  "customerPhoneLocalizer": null
}
'
{
"deliveryId": "123e4567-e89b-12d3-a456-426614174000",
"event": "PENDING",
"completion": {
"estimate": "2024-01-15T11:30:00.000Z",
"rejectAfter": "2024-01-15T12:00:00.000Z"
}
}
Este endpoint permite criar uma nova entrega com todas as informações necessárias, incluindo endereços de coleta e entrega, dados do cliente, informações de pagamento e configurações do veículo. Importante:
  • A requisição é processada de forma assíncrona
  • A resposta retorna um deliveryId que deve ser usado para rastrear o status da entrega
  • O endpoint retorna status 202 (Accepted) quando a entrega é aceita para processamento
  • É necessário estar autenticado com token OAuth válido

Authorizations

Authorization
string
header
required

Token de acesso OAuth 2.0 obtido através do endpoint /oauth/token.

Use o formato: Authorization: Bearer {access_token}

O token deve ser incluído em todas as requisições aos endpoints protegidos.

Body

application/json
orderId
string
required

Identificador único do pedido no sistema do cliente

Example:

"ORDER-12345"

orderDisplayId
string
required

Identificador de exibição do pedido

Example:

"ORD-12345"

merchant
object
required
pickupAddress
object
required

Endereço de coleta do pedido.

returnToMerchant
boolean
required

Informa se o entregador deve retornar ao endereço de coleta após a entrega ter sido efetuada.

Example:

false

canCombine
boolean
required

Informa se a logística pode combinar este pedido com outros pedidos na mesma entrega.

Example:

false

deliveryAddress
object
required

Endereço de entrega do pedido.

customerName
string
required

Nome do cliente

Example:

"João Silva"

vehicle
object
required
totalOrderPrice
object
required
totalWeight
integer
required

Peso total do pedido em gramas

Required range: x >= 0
Example:

500

payments
object
required
notifyPickup
boolean

Se deve notificar quando a coleta for iniciada

Example:

true

notifyConclusion
boolean

Se deve notificar quando a entrega for concluída

Example:

true

customerPhone
string

Telefone do cliente (formato internacional recomendado)

Example:

"+5511999999999"

limitTimes
object
orderDeliveryFee
object
packageVolume
integer

Volume do pacote em centímetros cúbicos

Required range: x >= 0
Example:

2000

packageQuantity
integer

Quantidade de pacotes

Required range: x >= 1
Example:

1

specialInstructions
string

Instruções especiais para a entrega

Example:

"Produto frágil"

additionalPricePercentual
number<float>

Percentual adicional no preço (0-100)

Required range: 0 <= x <= 100
Example:

10.5

combinedOrdersIds
string[]

IDs de pedidos combinados

Example:
["ORDER-123", "ORDER-124"]
sourceAppId
string

ID da aplicação de origem

Example:

"APP-001"

sourceOrderId
string

ID do pedido no sistema de origem

Example:

"SRC-12345"

customerPhoneLocalizer
string

Código localizador. Usado hoje para integração de pedido Ifood, para o fluxo de confirmação de pedido.

Example:

"12345678"

Response

Entrega aceita para processamento

deliveryId
string<uuid>
required

Identificador único da entrega criada

Example:

"123e4567-e89b-12d3-a456-426614174000"

event
enum<string>
required

Status inicial do evento da entrega

Available options:
PENDING
Example:

"PENDING"

completion
object
required