Descubra como agendar entregas e garantir a eficácia e segurança dos serviços logísticos.
Entrega agendada externa
- O primeiro passo da configuração é a criação de um endpoint externo público (responsabilidade do lojista) para ser configurado na plataforma. O Endpoint terá de conseguir receber e retornar informações específicas para podermos exibir ao cliente.
Exemplo do que enviamos ao Endpoint e das informações que devemos receber no retorno.
Headers
Key | Value |
Método | POST |
Content-Type | application/json |
Parâmetros enviados na requisição:
{
"postal_code": "91120000",
"customer_id": 1,
"document_number": "00381809013",
"email": "[email protected]",
"groups":
[
{
"group_id": 1,
"group_name": "Bronze"
},
{
"group_id": 2,
"group_name": "Ouro"
}
]
}
Campo | Tipo | Descrição |
postal_code | String | CEP do destino da entrega para cotar o frete. |
customer_id | Int | ID do cliente |
document_number | Strring | CPF do Cliente |
String | E-mail do cliente | |
Groups | Coleção de objetos | Grupos de entregas |
group_id | Int | Identificação do grupo de clientes |
group_name | String | Nome do grupo de clientes |
Parâmetros que devem ser retornados na resposta da requisição:
{
"method_id": 2,
"name": "PAC agendado",
"min_handling_days": 2,
"max_handling_days": 4,
"shifts":
[
{
"shift_id": "111",
"display_name": "Manhã",
"start_time": "08:00",
"end_time": "12:00",
"allow_monday": true,
"tax_monday": 0.52,
"allow_tuesday": false,
"tax_tuesday": 0,
"allow_wednesday": true,
"tax_wednesday": 0,
"allow_thursday": false,
"tax_thursday": 0,
"allow_friday": true,
"tax_friday": 0,
"allow_saturday": false,
"tax_saturday": 0,
"allow_sunday": false,
"tax_sunday": 0
},
{
"shift_id": "222",
"display_name": "Tarde",
"start_time": "14:00",
"end_time": "18:00",
"allow_monday": true,
"tax_monday": 1.64,
"allow_tuesday": true,
"tax_tuesday": 0,
"allow_wednesday": false,
"tax_wednesday": 0,
"allow_thursday": true,
"tax_thursday": 0,
"allow_friday": false,
"tax_friday": 0,
"allow_saturday": true,
"tax_saturday": 0,
"allow_sunday": false,
"tax_sunday": 0
}
]
}
Campo | Tipo | Descrição |
method_id | Int | ID do método de entrega |
name | String | Nome do método de entrega |
min_handling_days | Int | Prazo mínimo de entrega |
max_handling_days | Int | Prazo máximo de entrega |
shifts | Coleção de Objetos | Determinação dos turnos de entrega e suas configurações |
shift_id | String | Identificador do turno |
display_name | String | Nome visível do turno |
start_time | String | Hora do início do turno (Formato HH:mm, Ex: 07:00, 22:13, etc...) |
end_time | String | Hora do término do turno (Formato HH:mm, Ex: 07:00, 22:13, etc...) |
allow_monday | Bool | Se o turno está habilitado para o dia de Segunda. |
tax_monday | Decimal | Valor de taxa para este turno no dia de Segunda. |
allow_tuesday | Bool | Se o turno está habilitado para o dia de Terça. |
tax_tuesday | Decimal | Valor de taxa para este turno no dia de Terça |
allow_wednesday | Bool | Se o turno está habilitado para o dia de Quarta |
tax_wednesday | Decimal | Valor de taxa para este turno no dia de Quarta |
allow_thursday | Bool | Se o turno está habilitado para o dia de Quinta |
tax_thursday | Decimal | Valor de taxa para este turno no dia de Quinta |
allow_friday | Bool | Se o turno está habilitado para o dia de Sexta |
tax_friday | Decimal | Valor de taxa para este turno no dia de Sexta |
allow_saturday | Bool | Se o turno está habilitado para o dia de Sábado. |
tax_saturday | Decimal | Valor de taxa para este turno no dia de Sábado. |
allow_sunday | Bool | Se o turno está habilitado para o dia de Domingo. |
tax_sunday | Decimal | Valor de taxa para este turno no dia de Domingo. |
Configuração básica
Este passo assume que o endpoint para comunicação externa já foi previamente criado.
- Acesse a tela de gerenciamento de meios de pagamento em Configs > Meios de pagamento > Adicionar meio de pagamento
- Preencha os campos na tela Forma de Entrega
- Na aba Entrega Agendada
- Marcar a checkbox Usar serviço externo;
- Inserir a URL fornecida pelo seu serviço externo em URL de serviço externo;
- Informar o tempo de timeout desejado no campo Timeout do serviço (milisegundos).
- Após toda a configuração, basta clicar em Salvar ou Salvar e fechar para ter o meio de pagamento já criado.
Dicionário de dados
ExtendedProperties: coleção de objetos (metadata)
Descrição: Extend Properties ou metadados são objetos especiais customizáveis. Seu objetivo principal é adicionar informações dinâmicas não previamente mapeadas, porém esperadas nessa estrutura. Os metadados são diferentes dependendo do lugar que são utilizados, mas todos compartilham a mesma base de propriedades base.
Estrutura:
{
"ID": 0,
"Name": null,
"Value": null,
"Values": null
}
Campo | Tipo | Descrição |
ID | Int | Identificação do metadado |
Name | String | Nome do metadado |
Value | Object | Valor do metadado. Este objeto pode ser de qualquer tipo serializável. |
Values | Coleção de objetos | Valores do metadado. Para facilitar a estrutura e interpretação dos metadados, uma coleção de valores. |
ExtendedProperties (Customer)
Descrição: Estrutura igual à ExtendProperties
DeliveryGroup
Descrição: Informação de grupos de entrega da plataforma Core.
Estrutura:
{
"DeliveryGroupID": 1,
"Name": "A mais barata",
"Order": 1,
"Alias": "cheaper",
"Description": "Grupo de entrega barata",
"ShowLogo": true,
"Type": "G",
"GroupBidStrategy": "C",
"ListOrderStrategy": "A",
"DeliveryOptions": null,
"SellerID": 0,
"WarehouseID": 0,
"DockID": 0,
"SellerID": 1,
"WarehouseID": 1,
"DockID": 1
}
Campo | Tipo | Descrição |
DeliveryGroupID | Int | Código do grupo de entrega |
Name | String | Nome do grupo de entrega |
Order | String | Ordem de aparição dos grupos de entrega (A = alfabético, F = mais rápido, C = mais barato) |
Alias | String | Apelido do grupo de entrega |
Description | String | Descrição da entrega |
ShowLogo | Boolean | Mostra o logo do grupo de entrega |
Type | String | Tipo de visualização do grupo de entrega (L = lista, G = grupo) |
GroupBidStrategy | String | Estratégia de oferta do grupo de entrega (F = Mais rápido, C = mais barato, G = Entrega ordenada) |
ListOrderStrategy | String | Lista de ordem dos grupos de entrega |
DeliveryOptions | Coleção de objetos | |
SellerID | Int | Id do vendedor |
WarehouseID | Int | Id do armazém |
DockID | String | Id do local de saída do produto. |
Awards
Estrutura:
{
"PromotionID": 1,
"Amount": 2.0,
"Message": "",
"BasketAwardType": "FreeShippingOffer",
"RangeType": null,
"FreeItemDataSource": null
}
Campo | Tipo | Descrição |
PromotionID | Int | Identificador da promoção. |
Amount | Decimal | Quantidade de itens premiados. |
Message | String | Mensagem ou descrição do prêmio. |
BasketAwardType | String | Tipo de premiação (FreeShippingOffer = Frete grátis, FreeItemOffer = Item grátis , OrderFreeItemOffer = Item grátis no pedido) |
RangeType | String | Define o tipo de variação (A = quantidade em montante, Q = Quantidade em unidades, S = mesmo produto) |
FreeItemDataSource | Coleção de Objetos | Fonte de dados que originam os itens grátis. |