Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »


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çãoO Json de retorno do calculo está sendo salvo no banco de dados(mongoDB) na collection "retornoCalculando"


Observações

AtributoExemplo
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"








  • Sem rótulos