TopVendas - Versão 3.0.0
A api deverá ser atualizada anualmente até dia 1º de abril.
O que é o TopVendas?
É uma campanha de incentivo a vendas de alguns medicamentos com premiação para os melhores vendedores.
Como funciona?
Todo ano no perído de 01 de maio à 30 de dezembro, disponibilizamos uma lista de medicamento, os balconistas que mais venderem estes medicamentos são premiados.
URL O Sistema deve permitir alterar a URL.
Rede Associativa | Cidade / UF | URL | CNPJ Teste |
---|---|---|---|
Rede Soma Drogarias | Raul Soares / MG | http://somavendedor.linkedfarma.com.br | 18.092.664/0001-93 |
Grupo Multifarma | Muriaé / MG | http://multifarmavendedor.linkedfarma.com.br | 03.672.470/0001-90 |
- O Sistema deve verificar a existência de lista de produtos ativa. Só deveram ser enviadas as vendas que estiverem no período.
- O sistema deve possuir log com os dados de requisições. Nome do arquivo de log respectivamente: topvenda.log
Extrato de Vendas
O Sistema deve possuir um relatório que deverá ser exportado para excel [xls,csv] com as seguintes informações: [CNPJ da Drogaria, Legado (identificação da venda), CPF do balconista, Data de Ocorrência da Venda, EAN, Quantidade, Tipo] Terá um filtro de multiplos de eans [in], e filtro com Data Inicial e Data Final. Ordenar por CPF, Data.
Exemplo:
select cnpj, cpf, legado, dtocorrencia, ean, produto, quant, tipo from extrato where dtocorrencia between '2021-05-01 00:00:00' and '2021-12-31 23:59:59' and ean in('7898593050839','7898605841837')
CNPJ | Legado | CPF | Data | EAN | Produto | Quant | Tipo |
---|---|---|---|---|---|---|---|
18092664000193 | 132232 | 04484702681 | 2021-05-01 10:06:30 | 7898994588641 | OLISOMA ÔMEGA3 C/60 CAPS. – REDE SOMA | 1 | 0-Venda, 2-Devolução/Cancelamento |
HEAD Será usado em todos os URI
Nome | Valor [Exemplo] | Descriçao |
---|---|---|
Authorization | Bearer [Solicitar Token] | Envia o token de acesso. |
Content-Type | application/json |
Envie o tipo de retorno. |
user-agent | Hostname | Envia o nome do pc. |
Versao | 1.0.4.191 | Enviar o número da versão do software. |
Status Code Tabela geral usada em todos os URI
Código | Descriçao | Schema |
---|---|---|
200 |
Sucesso | GET – Irá exibir conteúdo |
201 |
Criado/Atualizado | |
202 |
Aceito/Autorizado | |
203 |
Não autorizado | |
204 |
Não existe conteúdo | GET – Item não existe. Ex.: Produto não encontrado |
301 |
Movido | {"uri": "string"} |
400 |
Parâmetros Inválidos | {"key": ["string"]} |
401 |
Acesso não autorizado | |
402 |
Pagamento necessário | |
403 |
Proibido | |
404 |
Não encontrado, verifique a URL | |
405 |
Método não permitido | |
406 |
Não executado | |
408 |
Tempo esgotado [Timeout] | |
409 |
Conflito de regras | |
410 |
Url Obsoleta | |
412 |
Falha na pré-condição | |
500 |
Erro interno do servidor | |
501 |
Recurso não implementado | |
502 |
Gateway Inválido | |
503 |
Serviço indisponível | |
408,500,503 |
Observação estes status devem ser tratados para não interromper a aplicação.
No inicio da operação se houve alguma indisponibilidade no servidor, solicitar o balconista para voltar mais tarde, O timeout de todos os métodos é 15 segundos. |
GET /v1/reset
Quanto houver divergência, o WebService pode solicitar uma nova varredura no sistema da softhouse.
Sempre antes de enviar uma nova tentativa de transmissão, verificar este método, ser for retornado vazio prosseguir,
se caso for retornado uri e data no formato yyyy-mm-dd
.
Retransmitir os dados a partir daquela data. Seguindo a regra, como se os dados não estivem sido transmitidos.
Parâmetros Sempre enviar em caixa baixa (minúsculas).
Nome | Requerido | Descrição | Schema |
---|---|---|---|
cnpj | Sim | CNPJ da drogaria. | String |
Retorno
Código | Descrição | Schema |
---|---|---|
200 |
Sucesso |
[
{ "uri": "venda", "data": "2022-05-01" },
{ "uri": "lacador", "data": "2022-06-01" },
{ "uri": "nota", "data": "2022-04-01" }
]
|
204 |
Não existe registro |
[]
|
POST /v1/reset
Somente se existir dados no endpoint get/v1/reset deve enviar os registros a partir da data fornecida. Quando chegar ao fim do envio, enviar um post v1/reset confirmando que acabou o envio dos registro. Não existindo reset agendado deve soltar este endpoint.
Parâmetros Sempre enviar em caixa baixa (minúsculas).
Nome | Requerido | Descrição | Schema |
---|---|---|---|
cnpj | Sim | CNPJ da drogaria. | String |
uri | Sim | Uri | String |
dtproximo | Não | DateTime yyyy-mm-dd hh:nn:ss, Serve para envio parcial [em lote] | String |
Retorno
Código | Descrição | Schema |
---|---|---|
201 |
Criado/Atualizado | |
202 |
Aceito/Autorizado | |
203 |
Não autorizado | |
406 |
Não executado |
GET /v3/produtos
Método para buscar a lista de produtos da campanha para monitorar nas vendas.
Parâmetros Sempre enviar em caixa baixa (minúsculas).
Nome | Requerido | Descrição | Schema |
---|---|---|---|
cnpj | Sim | CNPJ da drogaria. | String |
Retorno
Código | Descrição | Schema |
---|---|---|
200 |
Sucesso |
|
204 |
Não existe registro |
[]
|
401 |
Acesso não autorizado | { “error”:”string” } |
405 |
Método não permitido | |
500 |
Erro interno do servidor |
POST /v1/venda
Método para envio das vendas dos produtos topsoma
Parâmetros Sempre enviar em caixa baixa (minúsculas).
Nome | Requerido | Descrição | Schema |
---|---|---|---|
cnpj | Sim | Informe o cnpj da drogaria. | String |
cpf | Sim | CPF do Vendedor. | String |
legado | Sim | Identificação da Venda ou Devolução. | Integer |
ean | Sim | Código Ean do produto. | Integer |
quantidade | Sim | Informe a quantidade vendida do produto. | Integer |
dtocorrencia | Sim | Informe a data da ocorrência da venda ou devolução.. | DateTime yyyy-mm-dd hh:nn:ss |
tipo | Sim | 0.Venda, 2.Devolução. | Integer |
Retorno
Código | Descrição | Schema |
---|---|---|
200 |
Sucesso | |
400 |
Parâmetros inválidos |
{
"campo":["mensagem"],
"campo":["mensagem"]
}
|
201 |
Criado/Atualizado | |
202 |
Aceito/Autorizado | |
203 |
Não autorizado | |
406 |
Não executado | |
401 |
Acesso não autorizado | |
500 |
Erro interno do servidor |
POST /v1/nfe
Envio
Parâmetros Sempre enviar em caixa baixa (minúsculas).
Nome | Requerido | Descrição | Schema |
---|---|---|---|
cnpj | Sim | CNPJ da drogaria. | String |
chave | Sim | chave de acesso da nota no Sefaz | String |
dtnfe | Sim | Data de Emissão da Nota Fiscal | Date – formato yyyy-mm-dd |
total | Sim | Valor Total da Nota | Number – formato 0.00 |
xml | Sim | Arquivo xml da nota | file |
Retorno
Código | Descrição | Schema |
---|---|---|
201 |
Criado/Atualizado | |
202 |
Aceito/Autorizado | |
203 |
Não autorizado | |
406 |
Não executado |