Sistemas Envolvidos

  • PCV: Public Client View.
  • Sistema externo: Todos os ERPs que se conectam ou pretendem se conectar com os produtos de planejamento logístico TOTVS.

Integração

  • Formato JSON, para maiores detalhes consulte o Exemplo.

Escopo

  • Enviar ao cliente final um e-mail ou mensagem com um link, que quando acessado, exibirá informações sobre o pedido, assim como o status atual de sua entrega.

Layout de requisição para criação de company

Requisição para criar uma company

Path: http://10.172.215.57:8087/public-client-view/public-client-view/company/save

Método: POST

Obs: Ao salvar uma company, é gerada uma key que deverá ser enviada como header nas requisições de client view.

CampoTipoObrigatórioTamanhoDescriçãoValidações
identifierStringSim255Identificador da companhia.Deve ser único.
emailStringNão255Email para o cliente entrar em contato com a companhia, se cadastrado aparecerá no rodapé do email e no site.Texto livre.
phoneStringNão255Telefone para o cliente entrar em contato com a companhia, se cadastrado aparecerá no rodapé do email e no site.Texto livre.
cnpjStringSim255CNPJ da companhia.Deve ser um CNPJ válido, e só pode estar atrelado a uma única companhia.

Exemplo JSON criação de company

{
    "identifier": "companyIdentifier", 
    "email": "sac@totvs.com.br", 
    "phone": "119999-9999", 
    "cnpj": "02.265.451/0001-86"

}

Layout de requisição para criação de companyUser

Requisição para criar user

Path: http://10.172.215.57:8087/public-client-view/public-client-view/user/save

Método: POST

CampoTipoObrigatórioTamanhoDescriçãoValidações
emailStringSim255Email do usuário.Texto Livre.
passwordStringSim255Senha do usuário.Deve ter 6 ou mais caracteres, ser composta de letras e números,  e ter pelo menos uma letra maiúscula e uma minúscula.
companyRestCompanySim
Companhia na qual o usuário será cadastrado.Se a companhia existe na base de dados.

Exemplo JSON criação de companyUser

 {
    "email":"usuarioteste@email.com",
    "password":"Password1",
    "company":{
        "id": 1
        }
    }

Layout de requisição para criação de companyConfig

Requisição para criar companyConfig

Path: http://10.172.215.57:8087/public-client-view/public-client-view/companyConfig/save

Método: POST

Header:

token: userToken 

CampoTipoObrigatórioTamanhoDescriçãoValidações
emailUsernameStringSim255Email do usuário.Texto livre.
emailPasswordStringSim255Senha do usuário.Texto livre.

emailHostSmtp

StringSim255Servidor SMTP.Texto livre.

emailPort

StringSim255Porta.Texto livre.

emailSenderAddress

StringSim255Remetente.Texto livre.
emailSslbooleanSim
Criptografia SSL.Não pode ser nulo.
emailTlsboolean

Sim


Criptografia TLS.Não pode ser nulo.
logobyte[]Não
Logo da empresa que pode estar no cabeçalho do email.Formatos aceitos: jpeg / png.

Exemplo JSON criação de companyConfig02


{
    "emailUsername": "[email protected]",
    "emailPassword": "password",
    "emailHostSmtp": "smtp.gmail.com",
    "emailPort":"587",
    "emailSenderAddress": "[email protected]",
    "emailSsl": false,
    "emailTls": true,
    "logo": null
}

Layout de requisição para criação de clientView

Requisição para criação de clientView

Path: http://10.172.215.57:8087/public-client-view/public-client-view/create

Método: POST

Header:

key: companyKey

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
restClientViewsRestClientView[]Sim
Lista de RestClientView.Todos os campos possuem validações próprias.Exemplo

RestClientView

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
orderCodeStringSim255Código do pedido.Deve ser único.Exemplo
orderItensRestClientViewOrderItem[] Sim
Lista de itens do pedido.RestClientViewOrderItem váido.Exemplo
originRestClientViewLocationSim
Localidade de origem.RestClientViewLocation válido.Exemplo
destinationRestClientViewLocationSim
Localidade de destino.RestClientViewLocation válido.Exemplo
statusStringSim
Status atual do pedido.PREPARING_TO_SHIP, ON_THE_WAY, DELIVERED.Exemplo
contactRestClientViewContactSim
Dados de contato do cliente.RestClientViewContact válido.Exemplo
estimatedTimestampDateTimeSim
Data estimada de entrega.Formato ISO8601.

Exemplo

RestClientViewLocation

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
nameStringSim255Nome.Texto Livre.Exemplo
addressStringSim255Endereço.Texto Livre.Exemplo


RestClientViewContact

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
nameStringNão255Nome do Contato.Texto LivreExemplo
emailStringSim, caso não seja enviado o telefone.255Email de contato.Formato: [email protected]Exemplo
phoneStringSim, caso não seja enviado o email.
Telefone de contato.Texto Livre.Exemplo

RestClientViewOrderItem

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
codeStringSim255Código do item.Texto Livre.Exemplo
productStringSim255Nome do produto.Texto Livre.Exemplo
quantityIntegerSim
Quantidade.
Exemplo

Exemplo de requisição JSON

[
  {
    "orderCode": "Código",
    "orderItens": [
      {
        "code": "1223/codigo",
        "product": "Milho verde",
        "quantity": 2
      }
    ],
    "origin": {
      "name": "Origem",
      "address": "Endereço Origem"
    },
    "destination": {
      "name": "Destino",
      "address": "Endereço Destino"
    },
    "status": "PREPARING_TO_SHIP",
    "contact": {
      "name": "Nome",
      "email": "email@exemplo.com",
      "phone": "(99)9999-9999"
    },
    "estimatedTimestamp": "2022-09-10T16:14:00,000"
  }
]

Layout de Resposta

RestClientViewResponse


CampoTipoDescrição
restClientViewMessage[]RestClientViewMessage[]Lista de mensagens com resultado da requisição.

RestClientViewMessage

CampoTipoDescrição
messageCodeStringCódigo da mensagem.
messageStringMensagem.


Layout de requisição para atualização de status

Path: http://10.172.215.57:8087/public-client-view/public-client-view/update/status/on-the-way/

Método: POST

TipoObrigatórioDescriçãoValidaçõesExemplos
String[]SimAtualiza o status para a caminho ( ON_THE_WAY ).Valida se os pedidos existem.ExemploUpdate

Path: http://10.172.215.57:8087/public-client-view/public-client-view/update/status/finish/

Método: POST

TipoObrigatórioDescriçãoValidaçõesRetorno
String[]SimAtualiza o status para entregue ( DELIVERED ).Valida se os pedidos existem.ExemploUpdate


Exemplo de requisição JSON para update

[
    "CódigoPedido1",

     "CódigoPedido2"
]


Catálogo de mensagens

Oops, it seems that you need to place a table or a macro generating a table within the Pivot Table macro.

The table is being loaded. Please wait for a bit ...

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

CódigoMensagemDescrição
PCV000SucessoInforma que a requisição é válida.
PCV001O código do pedido não pode ser nulo.

Ao enviar uma requisição com o código de pedido nulo.

PCV002

O campo código do pedido [CÓDIGO_DO_PEDIDO] é superior à 255 caracteres.

Ao enviar uma requisição com o código de pedido com mais de 255 caracteres.
PCV003O código [CÓDIGO_DO_PEDIDO]  já está em uso.

Ao enviar uma requisição com código de pedido que já está em uso.

PCV004A lista de itens do pedido [CÓDIGO_DO_PEDIDO] não pode ser nula nem vazia.Ao enviar uma requisição com uma lista de itens nula ou vazia.
PCV005A lista de itens do pedido [CÓDIGO_DO_PEDIDO] possuí itens de pedido nulos.Ao enviar uma requisição com uma lista de itens, com itens nulos.
PCV006O campo do código do item de pedido têm tamanho superior á 255 caracteres.Ao enviar um clientView com o campo code do orderItem com mais de 255 caracteres.
PCV007

A origem do pedido [CÓDIGO_DO_PEDIDO]  não pode ser nula.

Ao enviar uma requisição com a origem do pedido nulo.
PCV008

O endereço de origem do pedido [CÓDIGO_DO_PEDIDO] não pode ser nulo ou vazio.

Ao enviar uma requisição com o endereço da origem nulo ou vazio.

PCV009

O campo endereço de origem [ENDEREÇO_ORIGEM] é superior á 255 caracteres.

Ao enviar com uma requisição com o campo endereço da origem que possua mais de 255 caracteres.
PCV010O endereço de destino do pedido [CÓDIGO_DO_PEDIDO] não pode ser nulo ou vazio.

Ao enviar com uma requisição com o endereço do destino nulo ou vazio.

PCV011

O campo endereço de destino [ENDEREÇO_DESTINO] é superior á 255 caracteres.

Ao enviar uma requisição com o campo endereço do destino que possua mais de 255 caracteres.
PCV012

O contato referente ao pedido [CÓDIGO_DO_PEDIDO] não pode ser nulo.

Ao enviar um contato nulo.
PCV013O contato referente ao pedido [CÓDIGO_DO_PEDIDO] deve ter um email ou um telefone.

Ao enviar um contato sem telefone e sem email. Ou seja é obrigatório o envio de um dos dois.

PCV014O email [EMAIL] do contato referente ao pedido: [CÓDIGO_DO_PEDIDO]  não pode ser superior à 255 caracteres.Ao enviar um contato com email que tenha mais de 255 caracteres.
PCV015

O email [EMAIL] do contato referente ao pedido: [CÓDIGO_DO_PEDIDO] deve ter um formato válido: [email protected]

Ao enviar um contato com email em um formato inválido.
PCV017O status referente ao pedido [CÓDIGO_DO_PEDIDO] não deve ser nulo.Ao enviar uma requisição com o status nulo.
PCV018

Status [STATUS] não existe. Os status disponíveis são: [PREPARING_TO_SHIP, ON_THE_WAY, DELIVERED]

Ao enviar uma requisição com um status inexistente, além disso a mensagem mostra os disponíveis.
PCV019

A data estimada da entrega do pedido [CÓDIGO_DO_PEDIDO] não deve ser nula

Ao enviar uma requisição com a data de entrega estimada nula.
PCV020O código do pedido [CÓDIGO_DO_PEDIDO] não existeAo enviar uma requisição de atualização de status com um código de pedido que não está cadastrado na base de dados (ON_THE_WAY e FINISH)
PCV021Para finalizar o pedido [CÓDIGO_DO_PEDIDO] seu status deve ser a caminho.Ao enviar uma requisição para mudar o status para finalizado, mas o pedido não está a caminho ainda.
PCV022A nova data estimada de entrega do pedido [CÓDIGO_DO_PEDIDO] não pode ser nula.Ao enviar uma requisição para atualizar somente a data estimada, mas com a nova data nula.
PCV023O nome de origem do pedido [CÓDIGO_DO_PEDIDO] não pode ser nulo ou vazio.Ao enviar uma origem com o nome nulo ou vazio.
PCV024O campo nome da origem [ORIGEM] é superior á 255 caracteres.Ao enviar uma origem com campo nome com mais de 255 caracteres.
PCV025O nome de destino do pedido [CÓDIGO_DO_PEDIDO] não pode ser nulo ou vazio.Ao enviar um destino com campo nome nulo ou vazio
PCV026O campo nome do destino [CÓDIGO_DO_PEDIDO] é superior á 255 caracteres.Ao enviar um destino com campo nome com mais de 255 caracteres.
PCV027O campo do nome do contato referente ao pedido [CÓDIGO_DO_PEDIDO] não pode ser superior á 255 caracteres.Ao enviar um contato com o campo nome com mais de 255 caracteres.
PCV028Não foi encontrada nenhuma compania.Quando enviamos um client view com uma key inválida, ou sem uma key como header, sempre que a companhia não for encontrada.
PCV030O campo usuário não pode ser superior á 255 caracteres.Ao enviar uma configuração de companhia com o campo usuário com mais de 255 caracteres.
PCV031O campo senha do usuário não pode ser superior á 255 caracteres.Ao enviar uma configuração de companhia com o campo senha com mais de 255 caracteres.
PCV032O campo host não pode ser superior á 255 caracteres.Ao enviar uma configuração de companhia com o campo hostSmtp com mais de 255 caracteres.
PCV033O campo porta não pode ser superior á 255 caracteres.Ao enviar uma configuração de companhia com o campo porta com mais de 255 caracteres.
PCV034O campo remente não pode ser superior á 255 caracteres.Ao enviar uma configuração de companhia com o campo remetente com mais de 255 caracteres.
PCV036O campo usuário não pode ser vazio.Ao enviar uma configuração de companhia com o campo usuário nulo ou vazio.
PCV037O campo host não pode ser vazio.Ao enviar uma configuração de companhia com o campo hostSmtp nulo ou vazio.
PCV038O campo porta não pode ser vazio.Ao enviar uma configuração de companhia com o campo porta nulo ou vazio.
PCV039O campo remetente não pode ser vazio.Ao enviar uma configuração de companhia com o campo remetente nulo ou vazio.
PCV040O campo identificador não pode ser superior á 255 caracteres.Ao tentar cadastrar uma companhia com o campo identificador com mais de 255 caracteres.
PCV041O campo email não pode ser superior á 255 caracteres.Ao tentar cadastrar uma companhia com o campo email com mais de 255 caracteres.
PCV042O campo CNPJ não pode ser superior á 255 caracteres.Ao tentar cadastrar uma companhia com o campo CNPJ com mais de 255 caracteres.
PCV043O campo identificador não pode ser vazio.Ao tentar cadastrar uma companhia com o campo identificador nulo ou vazio.
PCV045O campo CNPJ não pode ser vazio.Ao tentar cadastrar uma companhia com o campo CNPJ nulo ou vazio.
PCV046O CNPJ informado é inválido.Ao tentar cadastrar uma companhia com um CNPJ inválido. (Em relação as regras de formação de um CNPJ)
PCV047O campo email não pode ser superior á 255 caracteres.Ao tentar cadastrar um usuário com o campo email com mais de 255 caracteres.
PCV048O campo senha não pode ser superior á 255 caracteres.Ao tentar cadastrar um usuário com o campo senha com mais de 255 caracteres.
PCV049O campo email não pode ser vazio.Ao tentar cadastrar um usuário com o campo email nulo ou vazio.
PCV050O campo senha não pode ser vazio.Ao tentar cadastrar um usuário com o campo senha nulo ou vazio.
PCV051O destino do pedido não pode ser nulo.Ao tentar criar um client view com destino nulo.
PCV052O campo senha do usuário não pode ser vazio.Ao enviar uma configuração de companhia com o campo usuário nulo ou vazio.
PCV053E-mail ou senha inválidos.Ao tentar realizar o login de um usuário com email ou senha incorretos.
PCV054Senha de acesso inválida.Ao tentar realizar o acesso de administrador com uma senha incorreta.
PCV055O CNPJ informado já está vinculado a companhia [IDENTIFICADOR_COMPANHIA].Ao tentar cadastrar uma Companhia com um CNPJ já atrelado à outra Companhia.
PCV056O identificador [IDENTIFICADOR] informado já está em uso.Ao tentar cadastrar uma Companhia com um identificador existente.
PCV058O campo telefone não pode ser superior á 255 caracteres.Ao tentar cadastrar uma Companhia com o campo telefone com mais de 255 caracteres.
PCV060Companhia com a chave [CHAVE_COMPANHIA] não existe.?
PCV061Para iniciar o pedido [CÓDIGO_DO_PEDIDO] seu status deve ser preparando para embarque.Ao tentar atualizar o status de um pedido para (ON_THE_WAY), mas o status atual não é (PREPARING_TO_SHIP).
PCV062Compania [IDENTIFICADOR_COMPANHIA] não possui configuração para envio de e-mail.Ao tentar enviar um email de um client view pertencente à uma companhia que não possui uma configuração de envio de email cadastrada.
PCV063Pedido [CÓDIGO_DE_PEDIDO] não possui e-mail de destino.Ao tentar enviar um email de um client view que não possui um email de destino cadastrado.
PCV064Erro inesperado ao tentar enviar e-mail para o pedido [CÓDIGO_DO_PEDIDO] e destinatário [EMAIL_DESTINO]. Contate o administrador.Caso ocorra algum erro inesperado no processo de envio de email.
PCV065O email [EMAIL_USUÁRIO] já está cadastrado em um usuário na companhia [IDENTIFICADOR_COMPANHIA].Quando ao criar ou atualizar um usuário, tentar usar um email já cadastrado naquela companhia.
PCV066As senhas não são iguais, tente novamente.Quando o usuário ao tentar atualizar sua senha não envia a nova senha e confirmação iguais.
PCV067A senha deve conter no mínimo 6 caracteres, e ser composta por números e letras, contendo no mínimo uma maiúscula e minúscula.Quando ao cadastrar ou atualizar a senha, ela não corresponder ao padrão de pelo menos 6 caracteres, letras e números e uma letra minúscula e outra maiúscula.
PCV068O campo código do item não deve ser nulo nem vazio.Ao enviar um clientView  com o campo código do orderItem nulo ou vazio.
PCV069O campo produto do item não deve ser nulo nem vazio.Ao enviar um clientView com o campo product do orderItem nulo ou vazio.
PCV070O campo produto do item não deve ser maior que 255 caracteres.Ao enviar um clientView com o campo product do orderItem com mais de 255 caracteres.
PCV071O campo quantidade do item não deve ser nulo.Ao enviar um clientView com o campo quantity nulo.

Diagrama de Banco



  • Sem rótulos