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. | |||||
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações |
identifier | String | Sim | 255 | Identificador da companhia. | Deve ser único. |
String | Não | 255 | Email para o cliente entrar em contato com a companhia, se cadastrado aparecerá no rodapé do email e no site. | Texto livre. | |
phone | String | Não | 255 | Telefone para o cliente entrar em contato com a companhia, se cadastrado aparecerá no rodapé do email e no site. | Texto livre. |
cnpj | String | Sim | 255 | CNPJ da companhia. | Deve ser um CNPJ válido, e só pode estar atrelado a uma única companhia. |
Exemplo JSON criação de company
{ } |
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 | |||||
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações |
String | Sim | 255 | Email do usuário. | Texto Livre. | |
password | String | Sim | 255 | Senha 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. |
company | RestCompany | Sim | Companhia na qual o usuário será cadastrado. | Se a companhia existe na base de dados. |
Exemplo JSON criação de companyUser
{ |
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 | |||||
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações |
emailUsername | String | Sim | 255 | Email do usuário. | Texto livre. |
emailPassword | String | Sim | 255 | Senha do usuário. | Texto livre. |
emailHostSmtp | String | Sim | 255 | Servidor SMTP. | Texto livre. |
emailPort | String | Sim | 255 | Porta. | Texto livre. |
emailSenderAddress | String | Sim | 255 | Remetente. | Texto livre. |
emailSsl | boolean | Sim | Criptografia SSL. | Não pode ser nulo. | |
emailTls | boolean | Sim | Criptografia TLS. | Não pode ser nulo. | |
logo | byte[] | Não | Logo da empresa que pode estar no cabeçalho do email. | Formatos aceitos: jpeg / png. |
Exemplo JSON criação de companyConfig02
{ |
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 | ||||||
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
restClientViews | RestClientView[] | Sim | Lista de RestClientView. | Todos os campos possuem validações próprias. | Exemplo |
RestClientView | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
orderCode | String | Sim | 255 | Código do pedido. | Deve ser único. | Exemplo |
orderItens | RestClientViewOrderItem[] | Sim | Lista de itens do pedido. | RestClientViewOrderItem váido. | Exemplo | |
origin | RestClientViewLocation | Sim | Localidade de origem. | RestClientViewLocation válido. | Exemplo | |
destination | RestClientViewLocation | Sim | Localidade de destino. | RestClientViewLocation válido. | Exemplo | |
status | String | Sim | Status atual do pedido. | PREPARING_TO_SHIP, ON_THE_WAY, DELIVERED. | Exemplo | |
contact | RestClientViewContact | Sim | Dados de contato do cliente. | RestClientViewContact válido. | Exemplo | |
estimatedTimestamp | DateTime | Sim | Data estimada de entrega. | Formato ISO8601. |
RestClientViewLocation | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
name | String | Sim | 255 | Nome. | Texto Livre. | Exemplo |
address | String | Sim | 255 | Endereço. | Texto Livre. | Exemplo |
RestClientViewContact | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
name | String | Não | 255 | Nome do Contato. | Texto Livre | Exemplo |
String | Sim, caso não seja enviado o telefone. | 255 | Email de contato. | Formato: [email protected] | Exemplo | |
phone | String | Sim, caso não seja enviado o email. | Telefone de contato. | Texto Livre. | Exemplo |
RestClientViewOrderItem | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
code | String | Sim | 255 | Código do item. | Texto Livre. | Exemplo |
product | String | Sim | 255 | Nome do produto. | Texto Livre. | Exemplo |
quantity | Integer | Sim | 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 | ||
---|---|---|
Campo | Tipo | Descrição |
restClientViewMessage[] | RestClientViewMessage[] | Lista de mensagens com resultado da requisição. |
RestClientViewMessage | ||
---|---|---|
Campo | Tipo | Descrição |
messageCode | String | Código da mensagem. |
message | String | Mensagem. |
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 | ||||
---|---|---|---|---|
Tipo | Obrigatório | Descrição | Validações | Exemplos |
String[] | Sim | Atualiza 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 | ||||
---|---|---|---|---|
Tipo | Obrigatório | Descrição | Validações | Retorno |
String[] | Sim | Atualiza o status para entregue ( DELIVERED ). | Valida se os pedidos existem. | ExemploUpdate |
Exemplo de requisição JSON para update
[ "CódigoPedido2" |
Catálogo de mensagens
Código | Mensagem | Descrição |
---|---|---|
PCV000 | Sucesso | Informa que a requisição é válida. |
PCV001 | O 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. |
PCV003 | O 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. |
PCV004 | A 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. |
PCV005 | A 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. |
PCV006 | O 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. |
PCV010 | O 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. |
PCV013 | O 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. |
PCV014 | O 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. |
PCV017 | O 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. |
PCV020 | O código do pedido [CÓDIGO_DO_PEDIDO] não existe | Ao 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) |
PCV021 | Para 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. |
PCV022 | A 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. |
PCV023 | O 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. |
PCV024 | O campo nome da origem [ORIGEM] é superior á 255 caracteres. | Ao enviar uma origem com campo nome com mais de 255 caracteres. |
PCV025 | O 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 |
PCV026 | O campo nome do destino [CÓDIGO_DO_PEDIDO] é superior á 255 caracteres. | Ao enviar um destino com campo nome com mais de 255 caracteres. |
PCV027 | O 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. |
PCV028 | Nã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. |
PCV030 | O 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. |
PCV031 | O 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. |
PCV032 | O 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. |
PCV033 | O 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. |
PCV034 | O 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. |
PCV036 | O campo usuário não pode ser vazio. | Ao enviar uma configuração de companhia com o campo usuário nulo ou vazio. |
PCV037 | O campo host não pode ser vazio. | Ao enviar uma configuração de companhia com o campo hostSmtp nulo ou vazio. |
PCV038 | O campo porta não pode ser vazio. | Ao enviar uma configuração de companhia com o campo porta nulo ou vazio. |
PCV039 | O campo remetente não pode ser vazio. | Ao enviar uma configuração de companhia com o campo remetente nulo ou vazio. |
PCV040 | O campo identificador não pode ser superior á 255 caracteres. | Ao tentar cadastrar uma companhia com o campo identificador com mais de 255 caracteres. |
PCV041 | O campo email não pode ser superior á 255 caracteres. | Ao tentar cadastrar uma companhia com o campo email com mais de 255 caracteres. |
PCV042 | O campo CNPJ não pode ser superior á 255 caracteres. | Ao tentar cadastrar uma companhia com o campo CNPJ com mais de 255 caracteres. |
PCV043 | O campo identificador não pode ser vazio. | Ao tentar cadastrar uma companhia com o campo identificador nulo ou vazio. |
PCV045 | O campo CNPJ não pode ser vazio. | Ao tentar cadastrar uma companhia com o campo CNPJ nulo ou vazio. |
PCV046 | O 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) |
PCV047 | O campo email não pode ser superior á 255 caracteres. | Ao tentar cadastrar um usuário com o campo email com mais de 255 caracteres. |
PCV048 | O campo senha não pode ser superior á 255 caracteres. | Ao tentar cadastrar um usuário com o campo senha com mais de 255 caracteres. |
PCV049 | O campo email não pode ser vazio. | Ao tentar cadastrar um usuário com o campo email nulo ou vazio. |
PCV050 | O campo senha não pode ser vazio. | Ao tentar cadastrar um usuário com o campo senha nulo ou vazio. |
PCV051 | O destino do pedido não pode ser nulo. | Ao tentar criar um client view com destino nulo. |
PCV052 | O 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. |
PCV053 | E-mail ou senha inválidos. | Ao tentar realizar o login de um usuário com email ou senha incorretos. |
PCV054 | Senha de acesso inválida. | Ao tentar realizar o acesso de administrador com uma senha incorreta. |
PCV055 | O CNPJ informado já está vinculado a companhia [IDENTIFICADOR_COMPANHIA]. | Ao tentar cadastrar uma Companhia com um CNPJ já atrelado à outra Companhia. |
PCV056 | O identificador [IDENTIFICADOR] informado já está em uso. | Ao tentar cadastrar uma Companhia com um identificador existente. |
PCV058 | O campo telefone não pode ser superior á 255 caracteres. | Ao tentar cadastrar uma Companhia com o campo telefone com mais de 255 caracteres. |
PCV060 | Companhia com a chave [CHAVE_COMPANHIA] não existe. | ? |
PCV061 | Para 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). |
PCV062 | Compania [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. |
PCV063 | Pedido [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. |
PCV064 | Erro 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. |
PCV065 | O 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. |
PCV066 | As 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. |
PCV067 | A 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. |
PCV068 | O 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. |
PCV069 | O campo produto do item não deve ser nulo nem vazio. | Ao enviar um clientView com o campo product do orderItem nulo ou vazio. |
PCV070 | O 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. |
PCV071 | O campo quantidade do item não deve ser nulo. | Ao enviar um clientView com o campo quantity nulo. |