...
e
View file | ||
---|---|---|
|
Objetivo
Este webservice tem por finalidade obter os dados para venda a UM determinado cliente/produto.
Uso Geral
1. Obter token autenticação
Introdução
Qualquer webservice do projeto SispetroWeb exigirá um token de autenticação. Este token é gerado a partir deste webservice e será válido por 24 horas. Assim, recomendamos que o sistema consumidor dos webservices aqui descritos salvem o token armazenando também a data e hora em que ele foi gerado para que, quando chegar próximo de sua validade, seja obtido novo token.
Para mais informações, ver API Obtenção de Token
Métodos do setor de Vendas
2. Dados de venda de cliente
Endereço
<endereço do SispetroWeb>/entidade/get_dados_venda_api
Parâmetros
Será necessário enviar um header com o token e no corpo do webservice (body) os dados relativos à venda para busca de preços.
...
Item | Chave | Conteúdo | Obrigatório |
---|---|---|---|
1 | codEnt | Código da Entidade que se deseja os dados | Sim |
2 | codEmpresa | Código da Empresa onde ocorrerá a venda | Sim |
3 | dtPrevFat | Data prevista para Faturamento (devido vigência de preços). Formato: dd/mm/yyyy | Não. Se não informada será considerada a data atual. |
4 | retiraEntrega | E ou R para indicar se é retira ou entrega | Não. Se não informado será considerado como Retira. |
5 | codDep | Código do Depósito onde ocorrerá a venda. | Não. Se não informado será considerado o depósito padrão de vendas da empresa. |
6 | codTransp | Código do Motorista | Não. Se não informado será considerado o Motorista vinculado ao cliente. |
7 | seqFrota | Sequencial do frota principal | Não. Se não informado será considerado o Frota vinculado ao cliente. |
8 | codProd | Código do produto | Opcional, se passar, calcula somente para o produto. Caso contrário, calcula para todos os produtos de venda do cliente. |
9 | codPg | Código das condições de pagamento. | Opcional, se passar, calcula para essa condição de pagamento, caso contrário, calcula para a condição de pagamento padrão do cliente. |
Método
GET
Exemplo de envio:
View file | ||
---|---|---|
|
View file | ||
---|---|---|
|
Exemplo de chamada de WebService
Bloco de código |
---|
curl --location 'http://localhost/entidade/get_dados_venda_api -d @dados_preco.json --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjo4NCwiY25waiI6IjAwLjAwMC4wMDAvMDAwMC0wMSIsImRlcG9zaXRvX3BhZHJhbyI6bnVsbCwiZXhwIjoxNzE3NzY3NDAyfQ.j_CChFzlGOMkfvQ1psP8gaxZiKQ8yiD1pJnyVeUWkg0' |
Retorno Bem Sucedido
Serão retornados todos os dados necessários para fazer uma venda para o cliente e produto informados. O status da resposta sempre será 200.
Chave | Conteudo | Pai |
---|---|---|
CodEnt | Código do Cliente | |
CodEmpresa | Código da empresa | |
CodDep | Código do depósito considerado | |
DtPrevFat | Data prevista do faturamento considerada | |
RetiraEntrega | Indica se foi considerado Retira ou Entrega | |
CodTransp | Motorista para o qual foi considerado o frete | |
SeqFrota | Frota para o qual foi considerado o frete | |
CodPgCli | Código da Condição de Pagamento do Cliente | |
PrazoCli | Prazo da Condição de Pagamento do Cliente | |
precos | list | |
CodProd | Código do Produto | precos |
CodPgProd | Código da Condição de Pagamento considerada para o produto | precos |
Preco | Preço sugestão (já somado com Custo Financeiro) | precos |
PrecoMinimo | Preço mínimo (já somado com Custo Financeiro) | precos |
PrecoMaximo | Preço mínimo (já somado com Custo Financeiro) | precos |
PrecoMinimoAvista | Preço mínimo a vista (conforme tabela de preços) | precos |
CustoFinancReal | Custo Financeiro calculado a partir da Condições de Pagamento ou do cliente | precos |
Seguro_Aliquota | Alíquota do Seguro (será sempre calculado independente do Pedido ser segurado) | precos |
Seguro_ValUnitario | Valor unitário do Seguro (será sempre calculado independente do Pedido ser segurado) | precos |
FreteUnitPadrao | Frete unitário padrão | precos |
Custo | Custo de Vendas total desse item. | precos |
endereco_entrega | grupo | |
Endereco | Endereço de Entrega | endereco_entrega |
Numero | Número do Endereço de Entrega | endereco_entrega |
Complemento | Complemento do Endereço de Entrega | endereco_entrega |
Bairro | Bairro da Entrega | endereco_entrega |
CodigoDNC | Código IBGE do Município de Entrega | endereco_entrega |
Municipio | Descrição do Município de Entrega | endereco_entrega |
UF | UF de Entrega | endereco_entrega |
CEP | CEP da Entrega | endereco_entrega |
CodPais | Código do País | endereco_entrega |
Latitude | Latitude | endereco_entrega |
Longitude | Longitude | endereco_entrega |
Fone | Telefone | endereco_entrega |
CNPJ | CNPJ do Endereço | endereco_entrega |
IE | IE do Endereço | endereco_entrega |
RzSocial | Razão Social do Endereço | endereco_entrega |
Exemplo de retorno de WebService
Bloco de código |
---|
{ "dadosVenda": [ { "CodPgProd": "998", "CodProd": "01", "Custo": 1.843334, "CustoFinancReal": 0.2, "EnderecoEntrega": "fgdfgfd, - - / - ", "FreteUnitReal": 0, "Preco": 1.91, "PrecoMaximo": -1, "PrecoMinimo": -1, "Produto": "GASOLINA C", "Seguro_Aliquota": 10, "Seguro_ValorUnitario": 0.191 } ], "CodEnt": 1, "CodEmpresa": 1, "CodDep": "1", "DtPrevFat": "2024-08-21", "RetiraEntrega": "R", "CodTransp": "00032", "SeqFrota": 772, "CodPgCli": "998", "PrazoCli": 10, "endereco_entrega": { "Endereco": "fgdfgfd", "Numero": null, "Complemento": null, "Bairro": null, "CodigoDNC": null, "Municipio": null, "UF": null, "CEP": null, "CodPais": null, "Latitude": null, "Longitude": null, "Fone": null, "CNPJ": "12764122000133", "IE": null, "RzSocial": "DEMO DISTRIBUIDORA LTDA" } } |
Retorno Sem Sucesso
Será retornado um objeto JSON com o motivo da falha (normalmente um erro de autenticação caso o token tenha expirado ou seja inválido ou alguma regra de negócio não atendida. O status da resposta sempre será diferente de 200.
Bloco de código |
---|
{
"error": "Unauthorized",
"status": 401
} |
3. Pedidos de Venda alterados
Introdução
Este webservice tem por finalidade obter os pedidos a partir de uma Data e hora.
Endereço
<endereço do SispetroWeb>/pedido_venda/pedidos_alterados
Parâmetros
Será necessário enviar um header com o token. Como parâmetros enviar:
...
Nome
...
Descritivo
...
Exemplo
...
Observações
...
data_hora_inicial
...
Data e hora inicial (Formato: yyyy-mm-dd hh:mm)
...
“2023-10-23 13:37”
...
Obrigatório
Headers
...
Nome
...
Descritivo
...
Exemplo
...
Observações
...
Authorization
...
Conteúdo do token obtido no passo de autenticação do usuário
...
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTUwMDA1MzYxN30.-ZvhWFYI8fyx66b3kZY1UVUrfaWUTioV3_M6K2wiPGM
...
Content-Type
...
tipo do formato de envio
...
application/json
...
Accept
...
tipo do formato de envio
...
application/json
Método
GET
Exemplo de chamada de WebService
Bloco de código |
---|
curl -X GET -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjo4NCwiY25waiI6IjAwLjAwMC4wMDAvMDAwMC0wMSIsImRlcG9zaXRvX3BhZHJhbyI6bnVsbCwiZXhwIjoxNzE3NzY3NDAyfQ.j_CChFzlGOMkfvQ1psP8gaxZiKQ8yiD1pJnyVeUWkg0' http://localhost/pedidos_alterados\?data_hora_inicial\=2024-01-01%2010:00 |
Retorno Bem Sucedido
Serão retornados todos os dados relativos aos pedidos alterados a partir da data/hora informada. O status da resposta sempre será 200.
Layout de matriz (um para cada pedido modificado) em formato JSON.
...
Item
...
Chave
...
Conteudo
...
Pai
...
1
...
IDPedido
...
Código da entidade alterada ou excluída
...
2
...
FlagOperacao
...
I = inclusão, U = alteração ou E = exclusão
...
3
...
pedido_venda
...
mesmo layout de retorno de um pedido https://futura.atlassian.net/wiki/spaces/ESP/pages/4691329025/API+para+Vendas#1.-Inclus%C3%A3o-Pedido-de-Venda
Nota |
---|
Se o flagOperação for igual a 'E' (exclusão), não retorna a estrutura pedido_venda. |
Retorno Sem Sucesso
Será retornado um objeto JSON com o motivo da falha (normalmente um erro de autenticação caso o token tenha expirado ou seja inválido ou alguma regra de negócio não atendida. O status da resposta sempre será diferente de 200.
Bloco de código |
---|
{
"error": "Unauthorized",
"status": 401
} |
4. Cancelamento do Pedido de Venda
Introdução
Este webservice tem por finalidade executar o cancelamento de um pedido de venda.
Endereço
<endereço do SispetroWeb>/pedido_venda/<ID do pedido>
Parâmetros
Será necessário enviar um header com o token. Como parâmetros enviar:
...
Nome
...
Descritivo
...
Exemplo
...
Observações
...
idPedido
...
ID do pedido que se deseja cancelar.
...
12500
...
Obrigatório
...
versao_retorno_api
...
0=(padrão) layout com registro do pedido, 1=layout estendido conforme https://futura.atlassian.net/wiki/spaces/ESP/pages/4691329025/API+para+Vendas#1.-Inclus%C3%A3o-Pedido-de-Venda
...
1
Headers
...
Nome
...
Descritivo
...
Exemplo
...
Observações
...
Authorization
...
Conteúdo do token obtido no passo de autenticação do usuário
...
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTUwMDA1MzYxN30.-ZvhWFYI8fyx66b3kZY1UVUrfaWUTioV3_M6K2wiPGM
...
Content-Type
...
tipo do formato de envio
...
application/json
...
Accept
...
tipo do formato de envio
...
application/json
Método
DELETE
Exemplo de chamada de WebService
Bloco de código |
---|
curl
-H 'Content-Type: application/json'
-H 'Accept: application/json'
-H 'Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjo4NCwiY25waiI6IjAwLjAwMC4wMDAvMDAwMC0wMSIsImRlcG9zaXRvX3BhZHJhbyI6bnVsbCwiZXhwIjoxNzE3NzY3NDAyfQ.j_CChFzlGOMkfvQ1psP8gaxZiKQ8yiD1pJnyVeUWkg0'
-X DELETE http://localhost:3000/pedido_venda/55631?versao_retorno_api=1 |
Retorno Bem Sucedido
Será retornada todos os dados relativos ao Pedido de Venda cancelado com sucesso conforme layout do retorno de https://futura.atlassian.net/wiki/spaces/ESP/pages/4691329025/API+para+Vendas#1.-Inclus%C3%A3o-Pedido-de-Venda . O status da resposta sempre será 200.
Retorno Sem Sucesso
Será retornado um objeto JSON com o motivo da não alteração (poderá ser um erro de autenticação caso o token tenha expirado ou seja inválido ou alguma regra de negócio não atendida. O status da resposta sempre será diferente de 200.
Bloco de código |
---|
{"error":"Pedido já tem nota fiscal vinculada","status":422} |