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

KeyValue
MétodoPOST
Content-Typeapplication/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"
       }
   ]
}
CampoTipoDescrição
postal_codeStringCEP do destino da entrega para cotar o frete.
customer_idIntID do cliente
document_numberStrringCPF do Cliente
emailStringE-mail do cliente
GroupsColeção de objetosGrupos de entregas
group_idIntIdentificação do grupo de clientes
group_nameStringNome 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
       }
   ]
}
CampoTipoDescrição
method_idIntID do método de entrega
nameStringNome do método de entrega
min_handling_daysIntPrazo mínimo de entrega
max_handling_daysIntPrazo máximo de entrega
shiftsColeção de ObjetosDeterminação dos turnos de entrega e suas configurações
shift_idStringIdentificador do turno
display_nameStringNome visível do turno
start_timeStringHora do início do turno (Formato HH:mm, Ex: 07:00, 22:13, etc...)
end_timeStringHora do término do turno (Formato HH:mm, Ex: 07:00, 22:13, etc...)
allow_mondayBoolSe o turno está habilitado para o dia de Segunda.
tax_mondayDecimalValor de taxa para este turno no dia de Segunda.
allow_tuesdayBoolSe o turno está habilitado para o dia de Terça.
tax_tuesdayDecimalValor de taxa para este turno no dia de Terça
allow_wednesdayBoolSe o turno está habilitado para o dia de Quarta
tax_wednesdayDecimalValor de taxa para este turno no dia de Quarta
allow_thursdayBoolSe o turno está habilitado para o dia de Quinta
tax_thursdayDecimalValor de taxa para este turno no dia de Quinta
allow_fridayBoolSe o turno está habilitado para o dia de Sexta
tax_fridayDecimalValor de taxa para este turno no dia de Sexta
allow_saturdayBoolSe o turno está habilitado para o dia de Sábado.
tax_saturdayDecimalValor de taxa para este turno no dia de Sábado.
allow_sundayBoolSe o turno está habilitado para o dia de Domingo.
tax_sundayDecimalValor 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

1010

  • 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
}
CampoTipoDescrição
IDIntIdentificação do metadado
NameStringNome do metadado
ValueObjectValor do metadado. Este objeto pode ser de qualquer tipo serializável.
ValuesColeção de objetosValores 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
}
CampoTipoDescrição
DeliveryGroupIDIntCódigo do grupo de entrega
NameStringNome do grupo de entrega
OrderStringOrdem de aparição dos grupos de entrega (A = alfabético, F = mais rápido, C = mais barato)
AliasStringApelido do grupo de entrega
DescriptionStringDescrição da entrega
ShowLogoBooleanMostra o logo do grupo de entrega
TypeStringTipo de visualização do grupo de entrega (L = lista, G = grupo)
GroupBidStrategyStringEstratégia de oferta do grupo de entrega (F = Mais rápido, C = mais barato, G = Entrega ordenada)
ListOrderStrategyStringLista de ordem dos grupos de entrega
DeliveryOptionsColeção de objetos
SellerIDIntId do vendedor
WarehouseIDIntId do armazém
DockIDStringId do local de saída do produto.

Awards

Estrutura:

{
  "PromotionID": 1,
  "Amount": 2.0,
  "Message": "",
  "BasketAwardType": "FreeShippingOffer",
  "RangeType": null,
  "FreeItemDataSource": null
}
CampoTipoDescrição
PromotionIDIntIdentificador da promoção.
AmountDecimalQuantidade de itens premiados.
MessageStringMensagem ou descrição do prêmio.
BasketAwardTypeStringTipo de premiação (FreeShippingOffer = Frete grátis, FreeItemOffer = Item grátis , OrderFreeItemOffer = Item grátis no pedido)
RangeTypeStringDefine o tipo de variação (A = quantidade em montante, Q = Quantidade em unidades, S = mesmo produto)
FreeItemDataSourceColeção de ObjetosFonte de dados que originam os itens grátis.
  • Sem rótulos