A API de Gestão Promocional é responsável pela criação e ativação de ofertas nos meios de geração de pedido selecionados.
Atualmente temos os tipos:
- Leve e Pague
- Desconto
As ofertas poderão ser segmentadas por canais e locais em breve. No futuro, podemos colocar perfis de usuários.
Tipos de promoção
type: buy_pay
Leve Y e Pague X. Ao selecionar essa regra, exibiremos dois campos de texto: leve
e pague
.
- O campo
leve
será responsável por indicar a quantidade mínima que entrará no gatilho que ativará a promoção através do campoquantity
dentro detrigger
. - O campo
pague
será responsável por indicar o benefício aplicado ao ativar a promoção em quantidade de itens. Será enviado no campopay
dentro debenefits
.
type: discount
Ganhe uma porcentagem ao levar itens. Ao selecionar essa regra, exibiremos dois campos de texto: leve
e ganhe
.
- O campo
leve
será responsável por indicar a quantidade mínima que entrará no gatilho que ativará a promoção através do campoquantity
dentro detrigger
. - O campo
ganhe
será responsável por indicar o benefício aplicado ao ativar a promoção em porcentagem que será aplicada ao valor dos itens. Será enviado no campodiscount
dentro debenefits
.
Endpoint
Para cadastrar uma promoção na API de promoção será necessário fazer uma requisição POST para a seguinte url:
POST https://api.newtail.com.br
Autenticação
Seja mais sobre a autenticação em Documentação API Autenticação
Calculo de Promoções via API
O objetivo desta funcionalidade é conseguir calcular os descontos para uma cesta.
Parâmetro | Descrição | Valores | Obrigatório |
---|---|---|---|
nome_layout | O nome do layout indica o formato de dados recebido e o formato retornado | -generic | Sim |
JSON:
Payload
Todos os campos devem ser enviados no body.
Atributo | Descrição | Tipo | Obrigatório |
---|---|---|---|
store_id | Código identificador da loja | String | Sim |
social_id | CPF/CNPJ do cliente | String | Sim |
items | Informações dos produtos | Array<Object> | Sim |
external_id | Código externo do item | string | Sim |
price | Preço do item | Number | Sim |
quantity | Quantidade do item | Number | sim |
Exemplo de requisição
Exemplo de Resposta
⚠️ * Os itens que tiverem promoção ativa, terá o campo discount
com o valor total do desconto do item e o objeto promotion
, terá as informações da promoção disparada para o item.
- Quando um item não tiver uma promoção, o campo
discount
irá retornar com o valor zero e o objetopromotion
estará vazio.
Criação de Promoção via API
Todos os campos devem ser enviados no body.
Atributo | Descrição | Tipo | Obrigatório |
name | Nome da promoção | String | Sim |
account_id | Código identificador da conta | String | Sim |
promotion_type | Tipo da promoção Valores: discount
| String | Sim |
description | Descrição da promoção | String | Não |
offers_ids | Código sku do produto | Array<String> | Sim |
location_ids | Código da Loja | Array<String> | Não |
trigger.quantity | Indica a quantidade minima para disparar a promoção | Number | Sim |
benefits.pay | Indica quantos itens serão pagos dentre os selecionados. Só é usado para o tipo de promoção buy_pay | Number | Sim (Quanto o tipo de promoção for buy_pay) |
benefits.discount | Indica o percentual de desconto. Só é usando para o tipo de promoção discount | Number | Sim (Quanto o tipo de promoção for discount) |
start_promotion | Indica a data/hora do inicio da promoção. Exemplo: | String | |
end_promotion | Indica a data/hora do fim da promoção. Exemplo: | String | |
active | Indica se a promoção está ativa | boolean | |
is_loyalty_promotion | is_loyalty_promotion | boolean | Não |
cover_url | URL da imagem da capa da promoção | String | Não |
template | Indica o template da promoção | String | Não |
Exemplo de requisição
Exemplo de Resposta
O retorno da requisição terá código HTTP 201 para caso que obtiveram sucesso na requisição. Em caso de erro será enviado um HTTP 4XX, com o possível problema.
Abaixo exemplo de requisição bem sucedida:
Para consultar uma promoção na API de promoção será necessário fazer uma requisição GET para a seguinte url:
Exemplo de Resposta
O retorno da requisição terá código HTTP 200 para caso que obtiveram sucesso na requisição. Em caso de erro será enviado um HTTP 4XX, com o possível problema.
Abaixo exemplo de requisição bem sucedida:
Para consultar todas as promoções de uma conta na API será necessário fazer uma requisição GET para a seguinte url:
Exemplo de Resposta
O retorno da requisição terá código HTTP 200 para caso que obtiveram sucesso na requisição. Em caso de erro será enviado um HTTP 4XX, com o possível problema.
Abaixo exemplo de requisição bem sucedida:
Para atualizar uma promoção na API de promoção será necessário fazer uma requisição PUT para a seguinte url:
Exemplo de Resposta
O retorno da requisição terá código HTTP 200 para caso que obtiveram sucesso na requisição. Em caso de erro será enviado um HTTP 4XX, com o possível problema.
Abaixo exemplo de requisição bem sucedida:
Para excluir uma promoção na API de promoção será necessário fazer uma requisição DELETE para a seguinte url:
Exemplo de Resposta
O retorno da requisição terá código HTTP 200 para caso que obtiveram sucesso na requisição. Em caso de erro será enviado um HTTP 4XX, com o possível problema.
Abaixo exemplo de requisição bem sucedida: