Exemplo de Utilização
Endpoint: | https://dev.raas.varejo.totvs.com.br/api/fiscal-motor-starting/api/v1/starting/ciot |
Método: | POST |
Descrição: | Utilize este recurso para inserir um novo registro |
Modelo JSON (envio): | { "idTransporte": "XPTO123", "idAtor": "785ed93e-7728-11ed-a1eb-0242ac120002", "valorFrete": 100.0, "tipoAcao": "SIMULACAO", "territorioOrigem": { "cidade": "Joinville", "uf": "SC", "pais": "Brasil" }, "territorioDestino": null, "dataTransporte": "2022-12-11", "urlRetorno": "https://thiano.free.beeceptor.com" } |
Status de retorno: | - 200 - OK
- 400 - Bad Request (Um ou mais campos estão inválidos. Faça o preenchimento correto e tente novamente)
- 401 - Unauthorized (Falha na autenticação)
- 500 - Internal Error (Falha de comunicação com a fila: fiscal-motor-starting-calculating-topic ou Dados mínimos precisam ser preenchidos)
|
Exemplo de Json assíncrono Emissão (retorno enviado para o link informado no atributo urlRetorno): | { "idTransporte": "XPTO123", "idAtor": "785ed93e-7728-11ed-a1eb-0242ac120002", "valorFrete": 100.0, "tipoAcao": "SIMULACAO", "territorioOrigem": { "cidade": "Joinville", "uf": "SC", "pais": "Brasil" }, "territorioDestino": null, "dataTransporte": "2022-12-11", "urlRetorno": "https://thiano.free.beeceptor.com", "token": "AAAAAAAA" } |
|
|
Observação | O Json de retorno do calculo está sendo salvo no banco de dados(mongoDB) na collection "retornoCalculando" |
Observações
Atributo | Exemplo |
---|
tipoAcao | - GERAÇÃO: Efetua cálculo dos tributos e vincula a movimentação na retenção de tributos;
- SIMULACAO: Efetua cálculo dos tributos e retorna apuração dos tributos;
|
territorioOrigem | Caso não informe este campo, o território utilizado na escolha do melhor cenário será o endereço principal do Expedidor ou Remetente. Regras: - Caso informe a tag territorioOrigem, independente de apresentar os atores: Expedidor e/ou Remetente, para a escolha do melhor cenário é utilizado o endereço preenchido no territorioOrigem;
- Caso informe os atores de Origem: Expedidor e Remetente e não informe o territorioOrigem para a escolha do melhor cenário é utilizado o endereço principal do ator Expedidor;
- Caso não informe o territorioOrigem, Expedidor e Remetente ocorre o erro:
{ "status": 400, "timestamp": "2022-12-01T14:44:47.969961", "title": "Erro em regra de negocio.", "detail": "Não foi possível encontrar Território de Origem. Informe os dados de Território Origem, Expedidor ou Remetente" }
|
territorioDestino | Caso não informe este campo, o território utilizado na escolha do melhor cenário será o endereço principal do Recebedor ou Destinatário Regras: - Caso informe a tag territorioDestino, independente de apresentar os atores: Recebedor e/ou Destino, para a escolha do melhor cenário é utilizado o endereço preenchido no territorioDestino;
- Caso informe os atores de Destino: Recebedor e Destinatário e não informe o territórioDestino, para a escolha do melhor cenário é utilizado o endereço principal do ator Recebedor;
- Caso não informe o territorioDestino Recebedor e Destinatário ocorre o erro:
{ "status": 400, "timestamp": "2022-12-01T14:44:47.969961", "title": "Erro em regra de negocio.", "detail": "Não foi possível encontrar Território de Destino. Informe os dados de Território Destino, Recebedor ou Destinatario" }
|
|
|
Retorno do Json - Calculo da Simulação do Componente de Frete | - Tributos:
"vbc"= Calculo da Fórmula de total dos componentes - Vinculada no cadastro do tributo (Campo: Fórmula Base de Cálculo) "vicms" = "vbc" - Valor do total dos Componentes - Totais:
"vrec"= "vbc" (dos tributos) + "vicms" (dos tributos) "vprest" = vbc (dos tributos) + "vicms" (dos tributos) "vtotTrib" = "vicms" (dos tributos) - Componentes:
"vbc"= Calculo da Fórmula para o componente individual - Vinculada no cadastro do tributo (Campo: Fórmula Base de Cálculo) "vicms" = "vbc" - Valor do Componente individual Exemplo: "componentesFretes": [ { "codigo": "CF001", "nome": "seguro", "valor": 1.0 } Fórmula: ( COMPONENTE_FRETE[CF001] + COMPONENTE_FRETE[CF002] + COMPONENTE_FRETE[CF003] ) / ( 1 - ( ALIQUOTA_ICMS / 100 ) ) "vbc" = (1.0)/(1-(12/100)) = 1.0/(1-0.12) = 1.0/0.88 = 1.14 "vicms" = 1.14 - 1.0 = 0.14
IMPORTANTE!
Para que seja possível calcular o tributo de cada componente, a fórmula deve ser cadastrada com o início do titulo: "COMPONENTE_FRETE_". Exemplo: "COMPONENTE_FRETE_TRIBUTADO"
|
|
|
|
|