Pular para o conteúdo principal

Delivery Direto Store API (1.0.0)

Download OpenAPI specification:Download

Essa é a especificação da API Pública do Delivery Direto.

Notas gerais:

  • Todos os Endpoints requerem o uso de um ID do Delivery Direto. Esse ID identifica unicamente uma loja e deve ser passado pelos Headers.

    • Nome do Header: X-DeliveryDireto-ID
  • Todas as integrações criadas a partir de 01/12/2021 devem enviar o Header X-DeliveryDireto-Client-Id em todas as requisições, contendo o client_id utilizado pela integração. Integrações criadas antes dessa data tem até o dia 01/02/2022 para se adaptar.

Authentication

Operações de autenticação utilizando OAuth2

Realizar autenticação utilizando OAuth2

Responses

Response samples

Content type
application/json
Example
{
  • "expires_in": 21600,
  • "access_token": "3d4fcad2...",
  • "token_type": "bearer"
}

Requisitar autorização para requests do browser

Authorizations:
(deliverydiretoIdoauth)

Responses

Addresses

Informações de endereços para uso da plataforma.

Buscar um endereço pelo identificador

Authorizations:
(deliverydiretoIdoauth)
path Parameters
id
required
integer

O identificador do endereço

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Criar um endereço

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json

Informações do endereço a ser cadastrado

street
required
string
number
required
string
zipcode
required
string
neighborhood
required
string
city
required
string
state
required
string
complement
required
string
reference_point
string or null
lat
number or null <float>

A latitude do endereço sendo criado. Opcional, caso não seja informado, o endereço será geolocalizado.

lng
number or null <float>

A longitude do endereço. Opcional, caso não seja informado, o endereço será geolocalizado.

Responses

Request samples

Content type
application/json
{
  • "street": "Rua Drausio",
  • "number": "123",
  • "zipcode": "05511-010",
  • "neighborhood": "Butantã",
  • "city": "São Paulo",
  • "state": "SP",
  • "complement": "Próximo ao posto de gasolina",
  • "reference_point": "Próximo à praça",
  • "lat": -23.45,
  • "lng": -45.67
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar endereços do usuário

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Associar um endereço a um usuário

Authorizations:
(deliverydiretoIdoauth)
path Parameters
addressId
required
integer

ID do endereço

Request Body schema: application/json
description
string or null

Descrição do endereço do usuário. Opcional.

Responses

Request samples

Content type
application/json
{
  • "description": "Casa da Praia"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Desassociar um endereço de um usuário

Authorizations:
(deliverydiretoIdoauth)
path Parameters
addressId
required
integer

ID do endereço a ser desassociado

Responses

Response samples

Content type
application/json
{
  • "status": "success"
}

Banners

Informações sobre banners promocionais de uma loja

Banners promocionais da loja

Authorizations:
(deliverydiretoIdoauth)
query Parameters
platform
string
Enum: "ANDROID" "IOS" "WEB"

Filtrar os banners por plataforma

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Brand

Informações sobre a marca das lojas (multilojas)

Informações sobre a marca representada pelo ID do Delivery Direto.

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{}

Listagem das lojas da marca representada pelo ID do Delivery Direto.

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{}

Informa ao usuário que ele está na fila de espera.

Authorizations:
(deliverydiretoIdoauth)
path Parameters
code
required
string

O código da posição na fila.

Responses

Response samples

Content type
application/json
{}

Checkoutquestions

Informações sobre perguntas ao fechar o pedido

Informações sobre perguntas ao fechar o pedido

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Creditcards

Informações sobre cartões de crédito

Cartões de crédito aceitos pela loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca a marca de cartão associada a um cartão de crédito

Authorizations:
(deliverydiretoIdoauth)
path Parameters
cardNumber
required
integer

O número do cartão

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar os cartões de crédito cadastrados pelo usuário

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Cria um novo cartão de crédito do usuário

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json

Dados do cartão a ser cadastrado

number
required
integer

O número do cartão

expiryMonth
required
integer

O mes de expiração do cartão

expiryYear
required
integer

O ano de expiração do cartão

holderName
required
string

O nome impresso no cartão

document
required
string

O documento do titular do cartão

verificationCode
integer or null

O código de verificação do cartão. Opcional, mas requerido em alguns casos.

billingAddressId
integer or null

O identificador do endereço de entrega do usuário. Opcional, mas pode ser exigido em alguns casos.

Responses

Request samples

Content type
application/json
{
  • "number": 424242424242,
  • "expiryMonth": 12,
  • "expiryYear": 2020,
  • "holderName": "JOAO DA SILVA",
  • "document": "111.222.333-44",
  • "verificationCode": 123,
  • "billingAddressId": 123
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Apagar um cartão de crédito do usuário

Authorizations:
(deliverydiretoIdoauth)
path Parameters
creditcardId
required
integer

O identificador do cartão de crédito

Responses

Response samples

Content type
application/json
{
  • "status": "success"
}

Categories

Informações sobre as categorias dos produtos

Listar as categorias

Authorizations:
(deliverydiretoIdoauth)
query Parameters
offset
integer
Default: 0

Posição inicial do objeto a ser retornado.

limit
integer
Default: 30

Quantidade de objetos a ser retornado.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Customers

Informações sobre os clientes

Informações do usuário autenticado

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Atualizar dados do usuário atual

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json

Dados a serem atualizados do usuário

firstName
string or null

O primeiro nome do cliente

lastName
string or null

O sobrenome do cliente

email
string or null

O e-mail do cliente. Pode ser vazio.

telephone
string or null

O telefone do cliente.

(ISO8601Date (string or null))

A data de nascimento do cliente.

Responses

Request samples

Content type
application/json
{
  • "firstName": "João",
  • "lastName": "da Silva",
  • "email": "joaodasilva@mailinator.com",
  • "telephone": "11968686868",
  • "birthDate": "2020-01-01"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Cadastrar um usuário para a loja

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json

Dados do usuário a ser adicionado

firstName
required
string
lastName
required
string
email
required
string

O e-mail do cliente.

telephone
required
string

O telefone do cliente.

(ISO8601Date (string or null))

A data de nascimento do cliente.

document
string or null

O CPF/CNPJ do cliente.

password
required
string

A senha do cliente cadastrado.

receivePromotionalEmail
required
boolean

Se o cliente deseja receber emails promocionais ou não.

Responses

Request samples

Content type
application/json
{
  • "firstName": "João",
  • "lastName": "da Silva",
  • "email": "joaodasilva@mailinator.com",
  • "telephone": "11968686868",
  • "birthDate": "2020-01-01",
  • "document": "12345678912",
  • "password": "segredo123",
  • "receivePromotionalEmail": true
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Ver preferências de campanhas do usuário logado

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Alterar preferências de campanhas do usuário logado

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json
emailActive
required
boolean

Se o usuário deseja receber campanhas por e-mail.

notificationActive
required
boolean

Se o usuário deseja receber notificações. Somente válido caso a loja possua um app, e o usuário tenha entrado na loja pelo app.

Responses

Request samples

Content type
application/json
{
  • "emailActive": true,
  • "notificationActive": true
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Alterar senha do usuário logado

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json
currentPassword
required
string

A senha atual do usuário.

newPassword
required
string

A nova senha a ser usada pelo usuário.

Responses

Request samples

Content type
application/json
{
  • "currentPassword": "senhavelha",
  • "newPassword": "senhanova"
}

Response samples

Content type
application/json
{
  • "status": "success"
}

Listar as notificações da loja para o usuário

Authorizations:
(deliverydiretoIdoauth)
query Parameters
before
string

Data da notificação mais antiga recebida.

limit
integer
Default: 10

Número limite de notificações a serem buscadas.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Marca as notificações do usuário como lidas

Authorizations:
(deliverydiretoIdoauth)

Responses

Delivery Areas

Informações sobre áreas de entrega

Áreas de entrega da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar endereços do cliente disponíveis para entrega

Authorizations:
(deliverydiretoIdoauth)
query Parameters
scheduling
string (ISO8601DateTime)
Example: scheduling=2020-01-01T09:00:00-03:00

Filtra por endereços disponível na data do agendamento

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Locais específicos da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Delivery Fees

Informações sobre taxas das áreas de entrega

Calcula a taxa de entrega esperada.

Authorizations:
(deliverydiretoIdoauth)
path Parameters
addressId
required
integer

ID do endereço a ser calculado.

Request Body schema: application/json

Informação necessária para o calculo da taxa de entrega

required
object (Money)

Uma descrição de quantidade de dinheiro

(ISO8601DateTime (string or null))

O horário de agendamento do pedido. Caso nulo, calcula a taxa para pedidos não agendados.

Responses

Request samples

Content type
application/json
{
  • "subtotal": {
    },
  • "scheduling": "2020-01-01T09:00:00-03:00"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Items

Informações sobre os item de uma categoria

Lista os items de uma categoria

Authorizations:
(deliverydiretoIdoauth)
path Parameters
categoryId
required
integer

ID da categoria.

query Parameters
offset
integer
Default: 0

Posição inicial do objeto a ser retornado.

limit
integer
Default: 30

Quantidade de objetos a ser retornado.

include
string
Value: "properties"

Campos adicionais a serem inclusos

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "data": {
    }
}

Busca detalhes de um item

Authorizations:
(deliverydiretoIdoauth)
path Parameters
itemId
required
integer

ID do item.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca de itens

Authorizations:
(deliverydiretoIdoauth)
query Parameters
query
required
string

Parâmetros da busca

limit
integer

Número máximo de resultados da busca

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Lista os tamanhos de pizza disponíveis na loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Locations

Informações sobre locais

Buscar pelo CEP

Authorizations:
(deliverydiretoIdoauth)
path Parameters
zipcode
required
string

O CEP a ser buscado.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": null
}

Buscar locais pela latitude e longitude

Authorizations:
(deliverydiretoIdoauth)
path Parameters
lat
required
number

A latitude a ser buscada.

lng
required
number

A longitude a ser buscada.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": null
}

Buscar pelo endereço

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json

Dados do endereço para o retorno da geolocalização

street
required
string

A rua do endereço.

number
required
string

O número do endereço.

zipcode
required
string

O CEP do endereço.

neighborhood
required
string

O bairro do endereço.

city
required
string

A cidade do endereço.

state
required
string

O estado do endereço.

Responses

Request samples

Content type
application/json
{
  • "street": "Rua Drausio",
  • "number": "123",
  • "zipcode": "05511-010",
  • "neighborhood": "Butantã",
  • "city": "São Paulo",
  • "state": "SP"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Loyalty Programs

Informações sobre programa de fidelidade

Busca o programa de fidelidade ativo da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca informações sobre o programa de fidelidade deste cliente

Authorizations:
(deliverydiretoIdoauth)
query Parameters
daysToExpirePoints
integer

Filtro de busca de pontos a serem expirados pela quantia de dias.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca o histórico de pontos do programa de fidelidade deste cliente

Authorizations:
(deliverydiretoIdoauth)

Responses

Member Get Members

Informações sobre programa de indique uma amigo

Busca o código do programa de Indique um Amigo do cliente.

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca as informações do programa de Indique um Amigo do cliente.

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca as informações gerais do programa de Indique um Amigo.

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Buscar um prêmio do programa de Indique um Amigo do cliente.

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Orders

Informações dos pedidos

Cria um novo pedido

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json
required
DeliveryOrderFulfillmentDTO (object) or TakeoutOrderFulfillmentDTO (object) or TableOrderFulfillmentDTO (object)

Descreve como será feito o atendimento do pedido. Atualmente, pode ser tanto por entrega ou retirada na loja.

required
CreateOrderOfflinePaymentDTO (object) or CreateOrderOnlinePaymentDTO (object)

Descreve como será feito o pagamento do pedido. Pode ser tanto por pagamento online (caso a loja suporte), ou pagamento na entrega/retirada.

required
Array of objects (OrderItemDTO)

A lista de itens que estão inclusos neste pedido.

required
Array of objects (OrderPizzaItemDTO)

A lista de itens de pizza inclusos neste pedido.

required
object (OrderValuesDTO)
(ISO8601DateTime (string or null))

Caso presente, indica que o pedido será agendado para este horário.

contactName
string or null

Caso presente, indica qual o nome de quem irá receber o pedido. Se não for preenchido, será usado o nome do usuário que está fazendo o pedido.

invoiceDocument
string or null

Documento a ser usado na nota fiscal. Opcional.

hasLoyaltyProgramReward
required
boolean

Se este pedido irá resgatar o prêmio do programa de fidelidade.

hasMemberGetMemberReward
required
boolean

Se este pedido irá resgatar o prêmio do programa Indique um Amigo.

voucherCode
string or null

O código do cupom a ser utilizado nesse pedido. Opcional.

(CreateOrderCustomerDTO (object or null))

Caso presente, indica os dados do cliente que realizou o pedido. Isso permite a criação de um pedido sem usuário. Se não estiver presente, será necessário estar logado para realizar um pedido.

apiSource
string or null

Caso presente, indica a fonte desse pedido. Pode ser lida por meio do campo apiSource na resposta do pedido.

Responses

Request samples

Content type
application/json
{
  • "fulfillment": {
    },
  • "payment": {
    },
  • "items": [
    ],
  • "pizzaItems": [
    ],
  • "values": {
    },
  • "scheduling": "2020-01-01T09:00:00-03:00",
  • "contactName": "Misaka Mikoto",
  • "invoiceDocument": "12345678910",
  • "hasLoyaltyProgramReward": false,
  • "hasMemberGetMemberReward": false,
  • "voucherCode": "CODIGODOCUPOM",
  • "customer": {
    },
  • "apiSource": "Integração de Teste"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Valida os dados para a criação de um pedido

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json
orderType
required
string
Enum: "DELIVERY" "TAKEOUT" "TABLE"

Tipo de pedido

  • DELIVERY: Pedido para entregar
  • TAKEOUT: Pedido para retirar no local
  • TABLE: Pedido de mesa
required
Array of objects (OrderItemDTO)

A lista de itens que estão inclusos neste pedido.

required
Array of objects (OrderPizzaItemDTO)

A lista de itens de pizza inclusos neste pedido.

(ISO8601DateTime (string or null))

Caso presente, indica que o pedido será agendado para este horário.

Responses

Request samples

Content type
application/json
{
  • "orderType": "DELIVERY",
  • "items": [
    ],
  • "pizzaItems": [
    ],
  • "scheduling": "2020-01-01T09:00:00-03:00"
}

Response samples

Content type
application/json
{
  • "status": "success"
}

Valida os dados relacionados a entrega/retirada de um pedido

Authorizations:
(deliverydiretoIdoauth)
Request Body schema: application/json
required
DeliveryOrderFulfillmentDTO (object) or TakeoutOrderFulfillmentDTO (object)

Descreve como será feito o atendimento do pedido. Atualmente, pode ser tanto por entrega ou retirada na loja.

(ISO8601DateTime (string or null))

Caso presente, indica que o pedido será agendado para este horário.

required
object (Money)

Uma descrição de quantidade de dinheiro

Responses

Request samples

Content type
application/json
{
  • "fulfillment": {
    },
  • "scheduling": "2020-01-01T09:00:00-03:00",
  • "orderSubtotal": {
    }
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Lista os últimos pedidos do usuário.

Authorizations:
(deliverydiretoIdoauth)
query Parameters
offset
integer >= 0
Default: 0

Posição inicial do objeto a ser retornado.

limit
integer <= 30
Default: 5

Quantidade de objetos a ser retornado.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Busca informações de um pedido do cliente

Authorizations:
(deliverydiretoIdoauth)
path Parameters
id
required
integer

O identificador do pedido

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Cancela o pedido do cliente

Authorizations:
(deliverydiretoIdoauth)
path Parameters
id
required
integer

O identificador do pedido

Responses

Response samples

Content type
application/json
{
  • "status": "error",
  • "code": "invalid_fields",
  • "message": "Preencha os campos corretamente!"
}

Stores

Informações sobre a loja

Buscar uma página customizada da loja

Authorizations:
(deliverydiretoIdoauth)
path Parameters
page
required
string

A página a ser lida

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Informação da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{}

Listar as formas de pagamento aceitas pela loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar os contatos gerais da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar os contatos de suporte da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar os horários de agendamento disponiveis para entrega da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar os horários de agendamento disponiveis para retirada na loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Listar os textos da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Tablesections

Informações sobre as seções e mesas

Seções das mesas

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Vouchers

Informações sobre os vouchers (cupons de desconto)

Verificar cupom

Authorizations:
(deliverydiretoIdoauth)
path Parameters
id
required
integer

Identificador do cupom a ser verificado.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Verificar cupom

Authorizations:
(deliverydiretoIdoauth)
path Parameters
code
required
string

O cupom a ser verificado.

query Parameters
subtotal
number <currency>

Subtotal do pedido

schedule
string <date-time>

Data do agendamento

isDelivery
boolean

Se o pedido é para entrega

header Parameters
X-App-Version
string

Versão do app

Request Body schema: application/json

Os itens do pedido

any

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Ver cupons compartilhados da loja

Authorizations:
(deliverydiretoIdoauth)
query Parameters
subtotal
number <currency>

Subtotal do pedido

schedule
string <date-time>

Data do agendamento

items[]
Array of numbers

Ids dos itens do carinho

isDelivery
boolean

Se o pedido é para entrega

header Parameters
X-App-Version
string

Versão do app

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Rewards

Recompensas de uma promoção (programa de fidelidade ou indique um amigo) considerando ou não o usuário

Busca todas as recompensas das promoções relacionadas a um cliente

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}

Buscar todas as recompensas do programa de fidelidade da loja

Authorizations:
(deliverydiretoIdoauth)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "data": {
    }
}