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 oclient_id
utilizado pela integração. Integrações criadas antes dessa data tem até o dia 01/02/2022 para se adaptar.
Buscar um endereço pelo identificador
Authorizations:
path Parameters
id required | integer O identificador do endereço |
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "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,
- "id": 123
}
}
Criar um endereço
Authorizations:
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
- Payload
{- "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
- 201
- 422
{- "status": "success",
- "data": {
- "deliveryFeePricingRule": {
- "type": "FIXED",
- "dynamicPriceStart": "09:00:00-03:00",
- "dynamicPriceEnd": "09:00:00-03:00",
- "dynamicPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "freeDeliveryMinimumOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "freeDeliveryTimeout": "2020-01-01T09:00:00-03:00",
- "fixedPrice": {
- "value": 1000,
- "currency": "BRL"
}
}, - "address": {
- "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,
- "id": 123
}, - "minWaitingTime": 30,
- "maxWaitingTime": 60
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "customerAddresses": [
- {
- "address": {
- "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,
- "id": 123
}, - "description": "Casa da Praia"
}
]
}
}
Associar um endereço a um usuário
Authorizations:
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
- Payload
{- "description": "Casa da Praia"
}
Response samples
- 200
- 404
{- "status": "success",
- "data": {
- "address": {
- "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,
- "id": 123
}, - "description": "Casa da Praia"
}
}
Banners promocionais da loja
Authorizations:
query Parameters
platform | string Enum: "ANDROID" "IOS" "WEB" Filtrar os banners por plataforma |
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "banners": [
- {
- "id": 123,
- "storeId": 123,
- "name": "Promoção black friday",
- "platforms": [
- "WEB"
], - "status": "ACTIVE",
- "type": "EXTERNAL_URL",
- "viewOrder": 1,
- "availabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
]
}
}
Listagem das lojas da marca representada pelo ID do Delivery Direto.
Authorizations:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "stores": [
- {
- "status": "ACTIVE",
- "id": 123,
- "deliverydiretoId": "19adFA952...",
- "name": "Zé do Hamburger",
- "companyName": "Loja S/A",
- "description": "A Zé do Hamburger opera no mercado a...",
- "encodedName": "ze-do-hamburger",
- "lat": 23.56,
- "lng": 43.12,
- "minimumOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "takeoutMinimumOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "minWaitingTime": 30,
- "maxWaitingTime": 90,
- "onlinePaymentTypesAvailable": [
- "string"
], - "onlinePaymentAvailable": true,
- "offlinePaymentAvailable": true,
- "saveCardAvailable": true,
- "document": "121231234000012",
- "hideAddress": true,
- "businessHours": [
- {
- "id": 1234,
- "storesId": 1000,
- "shiftStart": "09:00:00-03:00",
- "shiftEnd": "09:00:00-03:00",
- "weekday": 3
}
], - "address": {
- "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,
- "id": 123
}, - "contactTelephone": "11912345678",
- "enabledReceiveOrders": true,
- "enabledAlertSound": true,
- "enabledAutoPrintNewOrders": true,
- "primaryColor": "#EB4034",
- "secondaryColor": "#EB4034",
- "fontColor": "#FFFFFF",
- "backgroundColor": "#FFFFFF",
- "backgroundPosition": "center",
- "backgroundRepeat": "no-repeat"
}
], - "pagination": {
- "currentOffset": 10,
- "limit": 10,
- "totalItems": 50
}
}
}
Informa ao usuário que ele está na fila de espera.
Authorizations:
path Parameters
code required | string O código da posição na fila. |
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "createdAt": "2020-01-01T09:00:00-03:00",
- "doneAt": "2020-01-01T09:00:00-03:00",
- "code": "string",
- "name": "João da Silva",
- "telephone": "\"(XX) 12345-6789\"",
- "size": 5,
- "position": 1,
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "checkoutquestions": [
- {
- "answerType": "TEXT",
- "status": "ACTIVE",
- "viewOrder": 1,
- "id": 123,
- "brandId": 123,
- "storeId": 123,
- "question": "true",
- "required": true
}
]
}
}
Listar os cartões de crédito cadastrados pelo usuário
Authorizations:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "creditcards": [
- {
- "id": 123,
- "brand": {
- "encodedName": "visa"
}, - "lastNumbers": 9999,
- "expiryMonth": 12,
- "expiryYear": 2020,
- "isPrimary": true,
- "holderName": "JOAO DA SILVA",
- "document": "12345678912",
- "billingAddress": {
- "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,
- "id": 123
}
}
]
}
}
Cria um novo cartão de crédito do usuário
Authorizations:
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
- Payload
{- "number": 424242424242,
- "expiryMonth": 12,
- "expiryYear": 2020,
- "holderName": "JOAO DA SILVA",
- "document": "111.222.333-44",
- "verificationCode": 123,
- "billingAddressId": 123
}
Response samples
- 201
- 422
{- "status": "success",
- "data": {
- "id": 123,
- "brand": {
- "encodedName": "visa"
}, - "lastNumbers": 9999,
- "expiryMonth": 12,
- "expiryYear": 2020,
- "isPrimary": true,
- "holderName": "JOAO DA SILVA",
- "document": "12345678912",
- "billingAddress": {
- "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,
- "id": 123
}
}
}
Listar as categorias
Authorizations:
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
- 200
{- "status": "success",
- "data": {
- "categories": [
- {
- "id": 123,
- "isPizzaModule": true,
- "status": "ACTIVE",
- "totalItems": 1234,
- "showOnMobile": true,
- "hiddenWhenUnavailable": true,
- "showOnlyImage": true,
- "name": "Bebidas",
- "description": "Bebidas diversas não alcoólicas",
- "viewOrder": 0
}
], - "pagination": {
- "currentOffset": 10,
- "limit": 10,
- "totalItems": 50
}
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "id": 123,
- "idempotencyKey": null,
- "firstName": "João",
- "lastName": "da Silva",
- "email": "joaodasilva@mailinator.com",
- "telephone": "11968686868",
- "birthDate": "2020-01-01",
- "document": "12345678912",
- "facebookId": "string",
- "facebookInfo": "string"
}
}
Atualizar dados do usuário atual
Authorizations:
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 |
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
- Payload
{- "firstName": "João",
- "lastName": "da Silva",
- "email": "joaodasilva@mailinator.com",
- "telephone": "11968686868",
- "birthDate": "2020-01-01"
}
Response samples
- 200
- 422
{- "status": "success",
- "data": {
- "id": 123,
- "idempotencyKey": null,
- "firstName": "João",
- "lastName": "da Silva",
- "email": "joaodasilva@mailinator.com",
- "telephone": "11968686868",
- "birthDate": "2020-01-01",
- "document": "12345678912",
- "facebookId": "string",
- "facebookInfo": "string"
}
}
Cadastrar um usuário para a loja
Authorizations:
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
- Payload
{- "firstName": "João",
- "lastName": "da Silva",
- "email": "joaodasilva@mailinator.com",
- "telephone": "11968686868",
- "birthDate": "2020-01-01",
- "document": "12345678912",
- "password": "segredo123",
- "receivePromotionalEmail": true
}
Response samples
- 201
- 422
{- "status": "success",
- "data": {
- "id": 123,
- "idempotencyKey": null,
- "firstName": "João",
- "lastName": "da Silva",
- "email": "joaodasilva@mailinator.com",
- "telephone": "11968686868",
- "birthDate": "2020-01-01",
- "document": "12345678912",
- "facebookId": "string",
- "facebookInfo": "string"
}
}
Alterar preferências de campanhas do usuário logado
Authorizations:
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
- Payload
{- "emailActive": true,
- "notificationActive": true
}
Response samples
- 200
- 422
{- "status": "success",
- "data": {
- "hasApp": true,
- "emailActive": true,
- "notificationActive": true
}
}
Alterar senha do usuário logado
Authorizations:
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
- Payload
{- "currentPassword": "senhavelha",
- "newPassword": "senhanova"
}
Response samples
- 200
- 403
- 422
{- "status": "success"
}
Listar as notificações da loja para o usuário
Authorizations:
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
- 200
{- "status": "success",
- "data": {
- "notifications": [
- {
- "created": "2020-01-01T09:00:00-03:00",
- "customData": {
- "type": "order_changed",
- "order_id": 71
}, - "id": "123",
- "title": "teste title",
- "body": "teste corpo",
- "isRead": false
}
]
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "deliveryAreas": [
- {
- "type": "POLYGON",
- "deliveryFeePricingRule": {
- "type": "FIXED",
- "dynamicPriceStart": "09:00:00-03:00",
- "dynamicPriceEnd": "09:00:00-03:00",
- "dynamicPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "freeDeliveryMinimumOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "freeDeliveryTimeout": "2020-01-01T09:00:00-03:00",
- "fixedPrice": {
- "value": 1000,
- "currency": "BRL"
}
}, - "id": 123,
- "minimumWaitingMinutes": 30,
- "maximumWaitingMinutes": 90,
- "inactivationPeriod": {
- "inactivationStart": "09:00:00-03:00",
- "inactivationEnd": "09:00:00-03:00"
}, - "isActive": true,
- "name": "string",
- "polygon": [
- {
- "lat": -23.45,
- "lng": -45.67
}
]
}
]
}
}
Listar endereços do cliente disponíveis para entrega
Authorizations:
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
- 200
- 422
{- "status": "success",
- "data": {
- "viableAddresses": [
- {
- "address": {
- "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,
- "id": 123
}, - "description": "Casa da Praia"
}
]
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "specificLocations": [
- {
- "type": "SPECIFIC",
- "id": 123,
- "minimumWaitingMinutes": 30,
- "maximumWaitingMinutes": 90,
- "inactivationPeriod": {
- "inactivationStart": "09:00:00-03:00",
- "inactivationEnd": "09:00:00-03:00"
}, - "deliveryFeePricingRule": null,
- "isActive": true,
- "name": "string",
- "street": "Rua das Flores",
- "neighborhood": "Jardim Belo",
- "zipcode": "01234-567"
}
]
}
}
Calcula a taxa de entrega esperada.
Authorizations:
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
- Payload
{- "subtotal": {
- "value": 1000,
- "currency": "BRL"
}, - "scheduling": "2020-01-01T09:00:00-03:00"
}
Response samples
- 200
- 422
{- "status": "success",
- "data": {
- "expectedDeliveryFee": {
- "value": 1000,
- "currency": "BRL"
}
}
}
Lista os items de uma categoria
Authorizations:
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
- 200
- 400
- 404
{- "status": "success",
- "data": {
- "items": [
- {
- "description": "Refrigerante Light de 350ml gelada",
- "hiddenWhenUnavailable": true,
- "customCode": "string",
- "promotionalOldPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "showAtCheckout": true,
- "dayLimitWithTheBadge": "2020-01-01",
- "name": "Refrigerante Light",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "type": "string",
- "status": "string",
- "viewOrder": 0,
- "isFractional": 0,
- "id": 0,
- "encodedName": "string",
- "filters": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "badges": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "pagination": {
- "currentOffset": 10,
- "limit": 10,
- "totalItems": 50
}
}
}
Busca detalhes de um item
Authorizations:
path Parameters
itemId required | integer ID do item. |
Responses
Response samples
- 200
- 404
{- "status": "success",
- "data": {
- "description": "Refrigerante Light de 350ml gelada",
- "hiddenWhenUnavailable": true,
- "customCode": "string",
- "promotionalOldPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "showAtCheckout": true,
- "dayLimitWithTheBadge": "2020-01-01",
- "name": "Refrigerante Light",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "type": "string",
- "status": "string",
- "viewOrder": 0,
- "isFractional": 0,
- "id": 0,
- "encodedName": "string",
- "filters": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "badges": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
], - "itemProperties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- {
- "id": 123,
- "basePrice": {
- "value": 1000,
- "currency": "BRL"
}, - "status": "ACTIVE",
- "name": "Laranja",
- "description": "Laranja natural",
- "customCode": "LAR001"
}
]
}
]
}
}
Busca de itens
Authorizations:
query Parameters
query required | string Parâmetros da busca |
limit | integer Número máximo de resultados da busca |
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "items": [
- {
- "description": "Refrigerante Light de 350ml gelada",
- "hiddenWhenUnavailable": true,
- "customCode": "string",
- "promotionalOldPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "showAtCheckout": true,
- "dayLimitWithTheBadge": "2020-01-01",
- "name": "Refrigerante Light",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "type": "string",
- "status": "string",
- "viewOrder": 0,
- "isFractional": 0,
- "id": 0,
- "encodedName": "string",
- "filters": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "badges": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "categories": [
- {
- "id": 123,
- "isPizzaModule": true,
- "status": "ACTIVE",
- "totalItems": 1234,
- "showOnMobile": true,
- "hiddenWhenUnavailable": true,
- "showOnlyImage": true,
- "name": "Bebidas",
- "description": "Bebidas diversas não alcoólicas",
- "viewOrder": 0
}
]
}
]
}
}
Response samples
- 200
- 400
- 404
{- "status": "success",
- "data": {
- "pizzaSizes": [
- {
- "status": "ACTIVE",
- "priceCalculationType": "AVERAGE",
- "id": 123,
- "name": "Média",
- "description": "Pizza de tamanho médio, com 6 fatias.",
- "slices": 6,
- "maximumFlavors": 2,
- "viewOrder": 1,
- "sweetFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "savoryFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "properties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- {
- "id": 123,
- "basePrice": {
- "value": 1000,
- "currency": "BRL"
}, - "status": "ACTIVE",
- "name": "Laranja",
- "description": "Laranja natural",
- "customCode": "LAR001"
}
]
}
]
}
]
}
}
Buscar pelo endereço
Authorizations:
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
- Payload
{- "street": "Rua Drausio",
- "number": "123",
- "zipcode": "05511-010",
- "neighborhood": "Butantã",
- "city": "São Paulo",
- "state": "SP"
}
Response samples
- 200
{- "status": "success",
- "data": {
- "lat": -23.45,
- "lng": -45.67,
- "street": "Rua Drausio",
- "number": "123",
- "zipcode": "05511-010",
- "neighborhood": "Butantã",
- "city": "São Paulo",
- "state": "SP"
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "programName": "Meu program customizado",
- "programIcon": "star",
- "dateBegin": "2020-01-01",
- "benefitValue": "Sobremesa grátis",
- "status": "pending",
- "disablePeriodSixHours": true,
- "isBrandProgram": true,
- "valueBaseCount": 10,
- "pointsValidFor": 10,
- "benefitType": "percentage",
- "baseCountType": "spent_money_accumulated_value",
- "dateEnd": "2020-01-01",
- "customCode": "COD123",
- "id": 1234,
- "total": 10,
- "isExpired": true,
- "hasBegun": true,
- "benefitValueComplete": "Sobremesa do Dia",
- "description": "Acumule R$200,00 em produtos e ganhe 20,00% de desconto na próxima compra"
}
}
Busca informações sobre o programa de fidelidade deste cliente
Authorizations:
query Parameters
daysToExpirePoints | integer Filtro de busca de pontos a serem expirados pela quantia de dias. |
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "approved": 3,
- "approvedPercent": 3,
- "pending": 3,
- "pendingPercent": 3,
- "pendingOrders": 1,
- "pendingOrdersAmount": {
- "value": 1000,
- "currency": "BRL"
}, - "isExpired": false,
- "isRewardAvailable": true,
- "used": 1,
- "daysToExpirePoints": 30,
- "pointsToExpire": 1
}
}
Busca as informações do programa de Indique um Amigo do cliente.
Authorizations:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "type": "FIXED",
- "title": [
- {
- "text": "Ganhe Taxa de entrega grátis no seu próximo pedido indicando seus amigos",
- "style": [
- "storeColored"
]
}
], - "valueFixed": {
- "value": 1000,
- "currency": "BRL"
}, - "valuePercent": 10,
- "valueText": "1 refrigerante de 500ml",
- "code": "VJKSJ",
- "subtitle": "Na primeira compra do amigo, ele insere o cupom de desconto a seguir e vocês dois ganham o prêmio!",
- "shareTitle": "Use o cupom VJKSJ e ganhe Taxa de entrega grátis na primeira compra",
- "shareSubtitle": "Ganhe Taxa de entrega grátis na sua primeira compra com o código de desconto: VJKSJ.",
- "expiresAt": "2020-02-01T23:59:58-03:00"
}
}
Busca as informações gerais do programa de Indique um Amigo.
Authorizations:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "type": "FIXED",
- "title": [
- {
- "text": "Ganhe Taxa de entrega grátis no seu próximo pedido indicando seus amigos",
- "style": [
- "storeColored"
]
}
], - "valueFixed": {
- "value": 1000,
- "currency": "BRL"
}, - "valuePercent": 10,
- "valueText": "1 refrigerante de 500ml",
- "expiresAt": "2020-02-01T23:59:58-03:00"
}
}
Buscar um prêmio do programa de Indique um Amigo do cliente.
Authorizations:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "status": "WAITING",
- "voucher": {
- "id": 123,
- "value": {
- "value": 1000,
- "currency": "BRL"
}, - "valuePercent": 0,
- "minOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "hasSchedule": true,
- "type": "FIXED",
- "isIndividual": false,
- "isBirthdayType": false,
- "active": false,
- "totalTimes": 12,
- "isOnlyFirstOrder": true,
- "isOnlyApps": true,
- "applyTo": "GLOBAL",
- "isBrandVoucher": true,
- "isWhatsappType": true,
- "expires": "2020-01-01",
- "description": "Cupom de desconto de natal com 10% de desconto",
- "code": "PROMO10",
- "valueText": "Sobremesa de chocolate",
- "limitOfUses": 10,
- "customCode": "COD123"
}
}
}
Cria um novo pedido
Authorizations:
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 |
Responses
Request samples
- Payload
{- "fulfillment": {
- "type": "DELIVERY",
- "addressId": 123,
- "address": {
- "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
}
}, - "payment": {
- "type": "OFFLINE",
- "paymentFormId": 123,
- "requiredChange": {
- "value": 1000,
- "currency": "BRL"
}
}, - "items": [
- {
- "itemId": 123,
- "amount": 3,
- "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}
}
], - "pizzaItems": [
- {
- "pizzaSizeId": 123,
- "amount": 3,
- "flavors": [
- {
- "pizzaFlavorId": 123
}
], - "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}
}
], - "values": {
- "subtotal": {
- "value": 1000,
- "currency": "BRL"
}, - "discount": {
- "value": 1000,
- "currency": "BRL"
}, - "deliveryFee": {
- "value": 1000,
- "currency": "BRL"
}, - "serviceFee": {
- "value": 1000,
- "currency": "BRL"
}, - "total": {
- "value": 1000,
- "currency": "BRL"
}
}, - "scheduling": "2020-01-01T09:00:00-03:00",
- "contactName": "Misaka Mikoto",
- "invoiceDocument": "12345678910",
- "hasLoyaltyProgramReward": false,
- "hasMemberGetMemberReward": false,
- "voucherCode": "CODIGODOCUPOM",
- "customer": {
- "name": "Misaka Mikoto",
- "telephone": "11912345678",
- "document": "999999999-99",
- "email": "cliente@mailinator.com",
- "birthDate": "2020-01-01"
}, - "apiSource": "Integração de Teste"
}
Response samples
- 200
- 400
- 422
{- "status": "success",
- "data": {
- "status": "WAITING",
- "type": "DELIVERY",
- "address": {
- "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,
- "id": 123
}, - "payment": {
- "type": "ONLINE",
- "paymentDetails": {
- "type": "CREDITCARD",
- "creditcardId": 123
}
}, - "createdAt": "2020-01-01T09:00:00-03:00",
- "expectedTime": "2020-01-01T09:00:00-03:00",
- "source": "Android",
- "id": 123,
- "statusReason": "Recusado por falta de produtos.",
- "values": {
- "subtotal": {
- "value": 1000,
- "currency": "BRL"
}, - "discount": {
- "value": 1000,
- "currency": "BRL"
}, - "deliveryFee": {
- "value": 1000,
- "currency": "BRL"
}, - "serviceFee": {
- "value": 1000,
- "currency": "BRL"
}, - "total": {
- "value": 1000,
- "currency": "BRL"
}
}, - "approvedAt": "2020-01-01T09:00:00-03:00",
- "requiredChange": {
- "value": 1000,
- "currency": "BRL"
}, - "items": [
- {
- "itemId": 123,
- "amount": 3,
- "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "item": {
- "description": "Refrigerante Light de 350ml gelada",
- "hiddenWhenUnavailable": true,
- "customCode": "string",
- "promotionalOldPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "showAtCheckout": true,
- "dayLimitWithTheBadge": "2020-01-01",
- "name": "Refrigerante Light",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "type": "string",
- "status": "string",
- "viewOrder": 0,
- "isFractional": 0,
- "id": 0,
- "encodedName": "string",
- "filters": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "badges": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
], - "itemProperties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- {
- "id": 123,
- "basePrice": {
- "value": null,
- "currency": null
}, - "status": "ACTIVE",
- "name": "Laranja",
- "description": "Laranja natural",
- "customCode": "LAR001"
}
]
}
]
}
}
], - "pizzaItems": [
- {
- "pizzaSizeId": 123,
- "amount": 3,
- "flavors": [
- {
- "pizzaFlavorId": 123
}
], - "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "pizzaSize": {
- "status": "ACTIVE",
- "priceCalculationType": "AVERAGE",
- "id": 123,
- "name": "Média",
- "description": "Pizza de tamanho médio, com 6 fatias.",
- "slices": 6,
- "maximumFlavors": 2,
- "viewOrder": 1,
- "sweetFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "savoryFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "properties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- {
- "id": 123,
- "basePrice": {
- "value": null,
- "currency": null
}, - "status": "ACTIVE",
- "name": "Laranja",
- "description": "Laranja natural",
- "customCode": "LAR001"
}
]
}
]
}
}
], - "apiSource": "Integração de Teste"
}
}
Valida os dados para a criação de um pedido
Authorizations:
Request Body schema: application/json
orderType required | string Enum: "DELIVERY" "TAKEOUT" "TABLE" Tipo de pedido
|
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
- Payload
{- "orderType": "DELIVERY",
- "items": [
- {
- "itemId": 123,
- "amount": 3,
- "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}
}
], - "pizzaItems": [
- {
- "pizzaSizeId": 123,
- "amount": 3,
- "flavors": [
- {
- "pizzaFlavorId": 123
}
], - "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}
}
], - "scheduling": "2020-01-01T09:00:00-03:00"
}
Response samples
- 200
- 400
- 422
{- "status": "success"
}
Valida os dados relacionados a entrega/retirada de um pedido
Authorizations:
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
- Payload
{- "fulfillment": {
- "type": "DELIVERY",
- "addressId": 123,
- "address": {
- "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
}
}, - "scheduling": "2020-01-01T09:00:00-03:00",
- "orderSubtotal": {
- "value": 1000,
- "currency": "BRL"
}
}
Response samples
- 200
- 400
- 422
{- "status": "success",
- "data": {
- "deliveryFeePricingRule": null
}
}
Lista os últimos pedidos do usuário.
Authorizations:
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
- 200
- 400
- 422
{- "status": "success",
- "data": {
- "orders": [
- {
- "status": "WAITING",
- "type": "DELIVERY",
- "address": {
- "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,
- "id": 123
}, - "payment": {
- "type": "ONLINE",
- "paymentDetails": {
- "type": "CREDITCARD",
- "creditcardId": 123
}
}, - "createdAt": "2020-01-01T09:00:00-03:00",
- "expectedTime": "2020-01-01T09:00:00-03:00",
- "source": "Android",
- "id": 123,
- "statusReason": "Recusado por falta de produtos.",
- "values": {
- "subtotal": {
- "value": 1000,
- "currency": "BRL"
}, - "discount": {
- "value": 1000,
- "currency": "BRL"
}, - "deliveryFee": {
- "value": 1000,
- "currency": "BRL"
}, - "serviceFee": {
- "value": 1000,
- "currency": "BRL"
}, - "total": {
- "value": 1000,
- "currency": "BRL"
}
}, - "approvedAt": "2020-01-01T09:00:00-03:00",
- "requiredChange": {
- "value": 1000,
- "currency": "BRL"
}, - "items": [
- {
- "itemId": 123,
- "amount": 3,
- "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": null,
- "amount": null,
- "price": null
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "item": {
- "description": "Refrigerante Light de 350ml gelada",
- "hiddenWhenUnavailable": true,
- "customCode": "string",
- "promotionalOldPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "showAtCheckout": true,
- "dayLimitWithTheBadge": "2020-01-01",
- "name": "Refrigerante Light",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "type": "string",
- "status": "string",
- "viewOrder": 0,
- "isFractional": 0,
- "id": 0,
- "encodedName": "string",
- "filters": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "badges": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
], - "itemProperties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- null
]
}
]
}
}
], - "pizzaItems": [
- {
- "pizzaSizeId": 123,
- "amount": 3,
- "flavors": [
- {
- "pizzaFlavorId": 123
}
], - "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": null,
- "amount": null,
- "price": null
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "pizzaSize": {
- "status": "ACTIVE",
- "priceCalculationType": "AVERAGE",
- "id": 123,
- "name": "Média",
- "description": "Pizza de tamanho médio, com 6 fatias.",
- "slices": 6,
- "maximumFlavors": 2,
- "viewOrder": 1,
- "sweetFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": null,
- "currency": null
}, - "itemAvailabilities": [
- null
]
}
], - "savoryFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": null,
- "currency": null
}, - "itemAvailabilities": [
- null
]
}
], - "properties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- null
]
}
]
}
}
], - "apiSource": "Integração de Teste"
}
], - "pagination": {
- "currentOffset": 10,
- "limit": 10,
- "totalItems": 50
}
}
}
Busca informações de um pedido do cliente
Authorizations:
path Parameters
id required | integer O identificador do pedido |
Responses
Response samples
- 200
- 404
{- "status": "success",
- "data": {
- "status": "WAITING",
- "type": "DELIVERY",
- "address": {
- "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,
- "id": 123
}, - "payment": {
- "type": "ONLINE",
- "paymentDetails": {
- "type": "CREDITCARD",
- "creditcardId": 123
}
}, - "createdAt": "2020-01-01T09:00:00-03:00",
- "expectedTime": "2020-01-01T09:00:00-03:00",
- "source": "Android",
- "id": 123,
- "statusReason": "Recusado por falta de produtos.",
- "values": {
- "subtotal": {
- "value": 1000,
- "currency": "BRL"
}, - "discount": {
- "value": 1000,
- "currency": "BRL"
}, - "deliveryFee": {
- "value": 1000,
- "currency": "BRL"
}, - "serviceFee": {
- "value": 1000,
- "currency": "BRL"
}, - "total": {
- "value": 1000,
- "currency": "BRL"
}
}, - "approvedAt": "2020-01-01T09:00:00-03:00",
- "requiredChange": {
- "value": 1000,
- "currency": "BRL"
}, - "items": [
- {
- "itemId": 123,
- "amount": 3,
- "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "item": {
- "description": "Refrigerante Light de 350ml gelada",
- "hiddenWhenUnavailable": true,
- "customCode": "string",
- "promotionalOldPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "showAtCheckout": true,
- "dayLimitWithTheBadge": "2020-01-01",
- "name": "Refrigerante Light",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "type": "string",
- "status": "string",
- "viewOrder": 0,
- "isFractional": 0,
- "id": 0,
- "encodedName": "string",
- "filters": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "badges": [
- {
- "id": 123,
- "stores_id": 123,
- "tag": "takeout",
- "name": "Retirada",
- "type": "ORDER_TYPE",
- "icon": "cart"
}
], - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
], - "itemProperties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- {
- "id": 123,
- "basePrice": {
- "value": null,
- "currency": null
}, - "status": "ACTIVE",
- "name": "Laranja",
- "description": "Laranja natural",
- "customCode": "LAR001"
}
]
}
]
}
}
], - "pizzaItems": [
- {
- "pizzaSizeId": 123,
- "amount": 3,
- "flavors": [
- {
- "pizzaFlavorId": 123
}
], - "properties": [
- {
- "propertyId": 213,
- "options": [
- {
- "optionId": 123,
- "amount": 1,
- "price": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
], - "totalPrice": {
- "value": 1000,
- "currency": "BRL"
}, - "pizzaSize": {
- "status": "ACTIVE",
- "priceCalculationType": "AVERAGE",
- "id": 123,
- "name": "Média",
- "description": "Pizza de tamanho médio, com 6 fatias.",
- "slices": 6,
- "maximumFlavors": 2,
- "viewOrder": 1,
- "sweetFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "savoryFlavors": [
- {
- "status": "ACTIVE",
- "id": 123,
- "name": "Baunilha",
- "description": "Essencia de baunilha",
- "price": {
- "value": 1000,
- "currency": "BRL"
}, - "itemAvailabilities": [
- {
- "id": 123,
- "periodStart": "09:00:00-03:00",
- "periodEnd": "09:00:00-03:00",
- "weekday": 3
}
]
}
], - "properties": [
- {
- "name": "string",
- "description": "string",
- "priceCalculationType": "string",
- "choiceType": "string",
- "isFractional": 0,
- "id": 0,
- "comboMinChoices": 0,
- "comboMaxChoices": 0,
- "viewOrder": 0,
- "itemPropertyOptions": [
- {
- "id": 123,
- "basePrice": {
- "value": null,
- "currency": null
}, - "status": "ACTIVE",
- "name": "Laranja",
- "description": "Laranja natural",
- "customCode": "LAR001"
}
]
}
]
}
}
], - "apiSource": "Integração de Teste"
}
}
Buscar uma página customizada da loja
Authorizations:
path Parameters
page required | string A página a ser lida |
Responses
Response samples
- 200
- 404
{- "status": "success",
- "data": {
- "url": "about",
- "title": "Sobre nós",
- "text": "A Zé do Hamburger Delivery é uma hamburgueria com mais de..."
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "status": "ACTIVE",
- "id": 123,
- "deliverydiretoId": "19adFA952...",
- "name": "Zé do Hamburger",
- "companyName": "Loja S/A",
- "description": "A Zé do Hamburger opera no mercado a...",
- "encodedName": "ze-do-hamburger",
- "lat": 23.56,
- "lng": 43.12,
- "minimumOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "takeoutMinimumOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "minWaitingTime": 30,
- "maxWaitingTime": 90,
- "onlinePaymentTypesAvailable": [
- "string"
], - "onlinePaymentAvailable": true,
- "offlinePaymentAvailable": true,
- "saveCardAvailable": true,
- "document": "121231234000012",
- "hideAddress": true,
- "businessHours": [
- {
- "id": 1234,
- "storesId": 1000,
- "shiftStart": "09:00:00-03:00",
- "shiftEnd": "09:00:00-03:00",
- "weekday": 3
}
], - "address": {
- "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,
- "id": 123
}, - "contactTelephone": "11912345678",
- "enabledReceiveOrders": true,
- "enabledAlertSound": true,
- "enabledAutoPrintNewOrders": true,
- "primaryColor": "#EB4034",
- "secondaryColor": "#EB4034",
- "fontColor": "#FFFFFF",
- "backgroundColor": "#FFFFFF",
- "backgroundPosition": "center",
- "backgroundRepeat": "no-repeat"
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "paymentForms": [
- {
- "id": 123,
- "name": "Visa (Crédito)",
- "encodedName": "visa",
- "askForChange": false,
- "discountPercentage": 0.1,
- "isCardBrand": true,
- "onlineAvailable": true,
- "onlineAcceptance": true,
- "deliveryAcceptance": true
}
], - "splittingConfig": {
- "acceptSplitPayment": true,
- "maxNumberOfInstallments": 0,
- "minValueOfEachInstallment": {
- "value": 1000,
- "currency": "BRL"
}
}
}
}
Response samples
- 200
{- "status": "success",
- "data": {
- "tablesections": [
- {
- "idempotencyKey": "092b72db-a906-4d69-8dac-4f3b4d207198",
- "name": "Salão A",
- "prefixCode": "00",
- "status": "ACTIVE",
- "viewOrder": 1,
- "tables": [
- {
- "idempotencyKey": "18473e50-4989-42e4-a81a-ea157036ba27",
- "title": "Mesa",
- "number": "01",
- "code": "0001"
}
]
}
]
}
}
Verificar cupom
Authorizations:
path Parameters
id required | integer Identificador do cupom a ser verificado. |
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "id": 123,
- "value": {
- "value": 1000,
- "currency": "BRL"
}, - "valuePercent": 0,
- "minOrder": {
- "value": 1000,
- "currency": "BRL"
}, - "hasSchedule": true,
- "type": "FIXED",
- "isIndividual": false,
- "isBirthdayType": false,
- "active": false,
- "totalTimes": 12,
- "isOnlyFirstOrder": true,
- "isOnlyApps": true,
- "applyTo": "GLOBAL",
- "isBrandVoucher": true,
- "isWhatsappType": true,
- "expires": "2020-01-01",
- "description": "Cupom de desconto de natal com 10% de desconto",
- "code": "PROMO10",
- "valueText": "Sobremesa de chocolate",
- "limitOfUses": 10,
- "customCode": "COD123"
}
}
Verificar cupom
Authorizations:
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
Responses
Request samples
- Payload
null
Response samples
- 200
- 422
{- "status": "success",
- "data": {
- "applyTo": "GLOBAL",
- "applyToPayments": [
- "PIX"
], - "idsCategories": [
- 20
], - "conditions": [
- "Não cumulativo com outras promoções"
], - "id": 1,
- "code": "TESTECODE123",
- "description": "Desconto de R$10,00",
- "type": "PERCENT",
- "expires": "2022-01-27T13:25:57-03:00",
- "valueFixed": {
- "value": 1000,
- "currency": "BRL"
}, - "valuePercent": 10,
- "valueCustom": "1 refrigerante de 500ml",
- "availabilityError": "Cupom válido apenas para pedidos via aplicativo.",
- "minOrder": {
- "value": 1000,
- "currency": "BRL"
}
}
}
Ver cupons compartilhados da loja
Authorizations:
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
- 200
{- "status": "success",
- "data": {
- "vouchers": [
- {
- "applyTo": "GLOBAL",
- "applyToPayments": [
- "PIX"
], - "idsCategories": [
- 20
], - "conditions": [
- "Não cumulativo com outras promoções"
], - "id": 1,
- "code": "TESTECODE123",
- "description": "Desconto de R$10,00",
- "type": "PERCENT",
- "expires": "2022-01-27T13:25:57-03:00",
- "valueFixed": {
- "value": 1000,
- "currency": "BRL"
}, - "valuePercent": 10,
- "valueCustom": "1 refrigerante de 500ml",
- "availabilityError": "Cupom válido apenas para pedidos via aplicativo.",
- "minOrder": {
- "value": 1000,
- "currency": "BRL"
}
}
]
}
}
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:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "rewards": [
- {
- "requirementType": "progressive",
- "benefitType": "shipping",
- "id": 1,
- "isAvailable": false,
- "requirement": "2",
- "description": "Taxa de entrega grátis",
- "benefitText": "Taxa de entrega grátis"
}
]
}
}
Buscar todas as recompensas do programa de fidelidade da loja
Authorizations:
Responses
Response samples
- 200
{- "status": "success",
- "data": {
- "rewards": [
- {
- "requirementType": "progressive",
- "benefitType": "shipping",
- "id": 1,
- "isAvailable": false,
- "requirement": "2",
- "description": "Taxa de entrega grátis",
- "benefitText": "Taxa de entrega grátis"
}
]
}
}