Árvore de páginas


Exemplo de Utilização


Endpoint:

Stage: https://stg.motorfiscal.raas.varejo.totvs.com.br/starting/api/v1/ciot

Produção: 

Método:POST
Descrição:Utilize este recurso para realizar o cálculo do CIOT
Modelo JSON (envio):

{
    "idTransporte""ASW12V3T9",
    "idAtor""A0006",
    "valorFrete"15000.0,
    "servicoTransporte"true,
    "tipoAcao""GERACAO",
    "localizador":"localizador01",
    "territorioOrigem": {
        "cidade""JOINVILLE",
        "uf""SC",
        "pais""Brasil"
    },
    "territorioDestino": {
        "cidade""JOINVILLE",
        "uf""SC",
        "pais""Brasil"
    },
    "dataTransporte""2023-01-29",
    "urlRetorno""http://seu-webhook"
}

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 Retorno

{
    "identificador""ASW12V3T90",
    "impostos": [
        {
            "imposto""INSS",
            "base"3000.0,
            "aliquota"11.0,
            "valor"330.0,
            "reducao"80.0,
            "acumulado"660.0,
            "reterImposto"true
        },
        {
            "imposto""IRRF",
            "base"4500.0,
            "aliquota"22.5,
            "valor"0.0,
            "reducao"90.0,
            "acumulado"30000.0,
            "reterImposto"true
        },
        {
            "imposto""ISS",
            "base"15000.0,
            "aliquota"5.0,
            "valor"750.0,
            "reducao"0.2,
            "acumulado"0.0,
            "reterImposto"false
        }
    ],
    "valorReceber"13920.0,
    "tipoAcao""GERACAO",
    "origemIbge"4209102,
    "destinoIbge"4209102,
    "urlRetorno""http://seu-webhook",
    "retornoValidacao"null,
    "localizador"null,
    "idOperacao": "e1943299-9920-4ety-864f-5042x3d7eee5"
}

Observação
  • O Json de retorno do calculo está sendo salvo no banco de dados(mongoDB) na collection "retornoCalculando"
  • A execução do cálculo é assíncrona


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;
  • CANCELAMENTO: Efetua cancelamento de movimentações de retenção de tributos do ator indicado;
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 Cancelamento

{
   "identificador":"XPTO123",
   "tipoAcao":"CANCELAMENTO",
   "urlRetorno":"http://retorno.com",
   "retornoValidacao":null
}