Headers
Os seguintes headers são obrigatórios em todas as requisições:
Nome | Valor |
---|---|
Content-Type | application/json |
Authorization | ApiKey EMAIL:API_KEY |
Veja aqui como gerar o header de autorização.
GraphQL
Todos os comandos da API usam GraphQL para fazer uma requisição POST
no endpoint https://www.loggi.com/graphql. Antes de fazer uma requisição com um comando GraphQL, é necessário convertê-lo para JSON. Sugestão de ferramenta: GraphQL to JSON. Após converter o comando, basta utilizá-lo como paylodad de uma requisição HTTP normal:
curl --location --request POST 'https://www.loggi.com/graphql' \
--header 'Content-Type: application/json' \
--header 'Authorization: ApiKey EMAIL:API_KEY' \
--data-raw 'GRAPHQL_CONVERTIDO_PARA_JSON'
Exemplo
A seguir, temos um comando GraphQL de exemplo:
mutation {
createOrder(
input: {
paymentMethod: 4665540
pickups: [
{
address: {
address: "Alameda Santos, 2400 - Jardim Paulista, São Paulo - SP, Brasil"
complement: "8o andar"
}
instructions: "Retirar pacote na portaria."
}
]
packages: [
{
pickupIndex: 0
recipient: { name: "Engenharia Reversa Corp", phone: "1122819603" }
address: {
address: "Alameda Santos, 2444 - Jardim Paulista, São Paulo - SP, Brasil"
complement: "Sala 1"
}
dimensions: { width: 10, height: 10, length: 10, weight: 10 }
instructions: "Entregar pacote."
}
]
}
) {
success
orders {
pk
pricing {
totalCm
}
packages {
pickupWaypoint {
index
eta
legDistance
}
waypoint {
index
eta
legDistance
}
}
}
errors {
field
message
}
}
}
Após convertê-lo para JSON, obtemos:
{
"query": "mutation { createOrder( input: { paymentMethod: 4665540 pickups: [ { address: { address: \"Alameda Santos, 2400 - Jardim Paulista, São Paulo - SP, Brasil\" complement: \"8o andar\" } instructions: \"Retirar pacote na portaria.\" } ] packages: [ { pickupIndex: 0 recipient: { name: \"Engenharia Reversa Corp\", phone: \"1122819603\" } address: { address: \"Alameda Santos, 2444 - Jardim Paulista, São Paulo - SP, Brasil\" complement: \"Sala 1\" } dimensions: { width: 10, height: 10, length: 10, weight: 10 } instructions: \"Entregar pacote.\" } ] } ) { success orders { pk pricing { totalCm } packages { pickupWaypoint { index eta legDistance } waypoint { index eta legDistance } } } errors { field message } }}"
}
Agora, basta substituir as variáveis e fazer a requisição:
curl --location --request POST 'https://www.loggi.com/graphql' \
--header 'Content-Type: application/json' \
--header 'Authorization: ApiKey [email protected]:5f4acc56194fa397e71fa7b3350a9625473bf274' \
--data-raw '{
"query": "mutation { createOrder( input: { paymentMethod: 4665540 pickups: [ { address: { address: \"Alameda Santos, 2400 - Jardim Paulista, São Paulo - SP, Brasil\" complement: \"8o andar\" } instructions: \"Retirar pacote na portaria.\" } ] packages: [ { pickupIndex: 0 recipient: { name: \"Engenharia Reversa Corp\", phone: \"1122819603\" } address: { address: \"Alameda Santos, 2444 - Jardim Paulista, São Paulo - SP, Brasil\" complement: \"Sala 1\" } dimensions: { width: 10, height: 10, length: 10, weight: 10 } instructions: \"Entregar pacote.\" } ] } ) { success orders { pk pricing { totalCm } packages { pickupWaypoint { index eta legDistance } waypoint { index eta legDistance } } } errors { field message } }}"
}'