⚠️ Para não ter diferenças de preço entre a estimativa e a criação do pedido, é necessário passar os mesmos endereços nas duas requisições.
Substitua as variáveis e use esta consulta:
GraphQL
query {
estimateCreateOrder(
pickups: [
{
address: {
address: "ENDERECO_COLETA"
complement: "COMPLEMENTO_COLETA"
}
instructions: "INSTRUCOES_COLETA"
}
]
packages: [
{
pickupIndex: 0
recipient: { name: "NOME_DESTINATARIO_1", phone: "FONE_DESTINATARIO_1" }
address: {
address: "ENDERECO_ENTREGA_1"
complement: "COMPLEMENTO_ENTREGA_1"
}
instructions: "INSTRUCOES_ENTREGA_1"
}
{
pickupIndex: 0
recipient: { name: "NOME_DESTINATARIO_2", phone: "FONE_DESTINATARIO_2" }
address: {
address: "ENDERECO_ENTREGA_2"
complement: "COMPLEMENTO_ENTREGA_2"
}
instructions: "INSTRUCOES_ENTREGA_2"
}
]
routing: false
) {
totalEstimate {
totalCost
totalEta
totalDistance
}
packagesWithErrors {
originalIndex
error
resolvedAddress
}
}
}
Nome Tipo Descrição pickups
Pickup
Ponto de coleta. packages
List(Package)
Lista de pontos de entrega. routing
Boolean
Define se a rota deve ser otimizada pela Loggi (true) ou se deve seguir a ordem enviada na requisição (false). Por padrão, é true.
⚠️ A API só aceita um único ponto de coleta.
Nome Tipo Descrição Exemplo address
Address
Endereço de coleta. instructions
String
Instruções de coleta. "Retirar pacote com Jorge"
⚠️ Sempre informe o endereço mais completo possível. Inclua rua, número, bairro, cidade, estado, CEP e complemento. Mais informações aqui .
Nome Tipo Descrição Exemplo address
String
Endereço completo. "Av. Paulista, 100 - Bela Vista, São Paulo - SP, Brasil" complement
String
Complemento do endereço. "Apto 302"
⚠️ A API não bloqueia, mas não é recomendado criar um pedido com mais de 20 pontos de entrega.
Nome Tipo Descrição Exemplo pickupIndex
Int
Campo fixo. Sempre enviar 0. 0 recipient
Recipient
Destinatário. address
Address
Ponto de entrega. instructions
String
Instruções de entrega. "Entregar pacote na portaria."
Nome Tipo Descrição Exemplo name
String
Nome. "Maria Júlia" email
String
E-mail. "[email protected] " phone
String
Número celular. "31996412605"
GraphQL
query {
estimateCreateOrder(
pickups: [
{
address: {
address: "Rua Curupaiti, 513, Padre Eustáquio, Belo Horizonte"
complement: "8o andar"
}
instructions: "Retirar pedido com Jorge"
}
]
packages: [
{
pickupIndex: 0
recipient: { name: "Engenharia Reversa Corp", phone: "1122819603" }
address: {
address: "R. Rio Grande do Sul, 499 - Centro, Belo Horizonte - MG, 30180-916"
complement: "Apto 133"
}
instructions: "Entregar pedido para Spinoza"
}
]
routing: true
) {
totalEstimate {
totalCost
totalEta
totalDistance
}
packagesWithErrors {
originalIndex
error
resolvedAddress
}
}
}
GraphQL
query {
estimateCreateOrder(
pickups: [
{
address: {
address: "Rua Curupaiti, 513, Padre Eustáquio, Belo Horizonte"
complement: "8o andar"
}
instructions: "Retirar pedido com Jorge"
}
]
packages: [
{
pickupIndex: 0
recipient: { name: "Engenharia Reversa Corp", phone: "1122819603" }
address: {
address: "R. Rio Grande do Sul, 499 - Centro, Belo Horizonte - MG, 30180-916"
complement: "Apto 133"
}
instructions: "Entregar pedido para Spinoza"
}
{
pickupIndex: 0
recipient: { name: "Engenharia Reversa Corp", phone: "1122819603" }
address: {
address: "Rua Mantena, 290, Ouro Preto, Belo Horizonte"
complement: "Apto 200"
}
instructions: "Entregar pedido para Spinoza"
}
]
routing: true
) {
totalEstimate {
totalCost
totalEta
totalDistance
}
packagesWithErrors {
originalIndex
error
resolvedAddress
}
}
}
Nome Tipo Descrição totalCost
String
Custo total do pedido. totalEta
Float
Tempo total estimado da rota de entrega. totalDistance
Float
Distância total (em quilômetros) a ser percorrida na rota.
Nome Tipo Descrição originalIndex
Int
Ordem do endereço na requisição. error
String
Mensagem de erro. resolvedAddress
String
Endereço resolvido pela API.
JSON
{
"data": {
"estimateCreateOrder": {
"totalEstimate": {
"totalCost": "15.19",
"totalEta": 1329.0,
"totalDistance": 4.81
},
"packagesWithErrors": []
}
}
}
JSON
{
"errors": [
{
"message": "You must be logged in",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"estimateCreateOrder"
]
}
],
"data": {
"estimateCreateOrder": null
}
}
JSON
{
"data": {
"estimateCreateOrder": {
"totalEstimate": null,
"packagesWithErrors": [
{
"originalIndex": 1,
"error": "Local fora da área de cobertura para a cidade São Paulo",
"resolvedAddress": "R. Maj. Lage, 84 - Ouro Preto, Belo Horizonte - MG, 31310-200, Brazil"
}
]
}
}
}