Entrega agendada

O objetivo é realizar requisições para um endpoint e obter uma resposta sobre o agendamento de entregas. A API serve para os casos onde o controle de agendamento de entrega é realizado externamente.

Entrega agendada externa

Para usufruir da Entrega agendada no CORE o primeiro passo dessa configuração é a criação de um endpoint externo (responsabilidade do lojista) para que seja configurado na plataforma CORE. Só será possível avançar para a configuração na plataforma após a criação do Endpoint externo que deverá ser público.

Seu Endpoint terá de ser capaz de receber e retornar informações especificas para que possamos exibir ao cliente.

Abaixo há 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

email

String

E-mail do cliente

Groups

Coleção de objetos

grupos de entregas

group_id

Int

Identificação do frupo 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 no CORE

Com seu Endpoint já criado, passaremos a configuração da plataforma. Na administração da plataforma, faça login. Após isso, acesse a tela de gerenciamento de meios de pagamento localizada em Configs -> Meios de entrega, conforme imagem abaixo:

Você será redirecionado para uma tela com uma lista de todos os meios de entrega cadastrados na plataforma, ativos ou não.

Para criar o novo meio de entrega, clique na opção adicionar meio de pagamento localizada na parte superior esquerda da tela, conforme a imagem abaixo:

Na tela seguinte, você encontrará um campo chamado Tipo, onde deverá selecionar a opção desejada. Após o preenchimento das informações na tela presente - lembrando que é necessário preencher as informações dos campos Faixa de valor permitido e Faixa de peso permitido. Posteriormente, clique em Entrega agendada:

O próximo passo para configuração da forma de entrega está na seção Entrega agendada. Devemos marcar a checkbox Ativar entrega agendada para este meio de entrega, onde habilitará alguns campos para preenchimento, são eles:

• Marcar a chackbox 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)

Caso desejar configurações mais especificas, nos campos abaixo estão disponíveis esse tipo de configuração.

Após toda a configuração, basta clicar em Salvar ou Salvar e fechar para ter o meio de pagamento já criado.

obs.: Lembre-se de que o meio de entrega deve-se estar vinculado ao contrato para que possa aparecer no checkout do site.

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.


Did this page help you?