Contexto Geral
A API tem objetivo de consultar às movimentações de NF de cana com parâmetros obrigatórios e opcionais para buscas mais assertivas, incorporando:
Modelo de integração padronizado para orquestrar consultas e bloqueios.
Novo cadastro de status vinculado a um parâmetro de configuração da API que controla o comportamento dentro do TOTVS Agro Bioenergia.
Bloqueio de reversões já integradas em sistemas de origem do Bioenergia, preservando a integridade do processo.
Estruturas:
| Atributos | Descrição | Tipo | Observação |
|---|---|---|---|
| instancia | Identificador da instância do processo | Numérico | Usado como chave de controle interno |
| cdTpNota | Código do tipo de nota fiscal | Texto | D - Nota Cana de Muda Mensal R - Nota Cana de Revenda F - Nota Cana de Bisada G - Nota Cana sem Movimentação N - Nota Cana de Moagem S - Nota Cana Sobrepreço |
| deTpNota | Descrição do tipo de nota fiscal | Texto | Ex: “Nota Cana Sobrepreço” |
| noNf | Número da nota fiscal | Numérico | Identificação da NF |
| cdSerieNf | Série da nota fiscal | Texto | Série utilizada na emissão |
| cdUnidInd | Código da unidade industrial | Numérico | Refere-se à usina ou filial |
| cdTpProp | Código do tipo de propriedade | Numérico | Relacionado ao tipo de fornecedor (ex: próprio, parceria) |
| deNatOper | Descrição da natureza da operação | Texto | Ex: “COMPRA” |
| cdFiscOp | Código fiscal da operação | Numérico | Código CFOP ou equivalente |
| cdSafra | Código do ano-safra | Numérico | Ex: 2018 |
| amFornec | Mês e ano de fornecimento | Data | Data base da operação |
| acPeso | Peso acumulado de cana entregue | Numérico | Em quilos |
| vlTotNf | Valor total da nota fiscal | Numérico | Valor bruto total |
| dtEmisNf | Data de emissão da NF | Data | Data em que a NF foi emitida |
| acTxContrib | Total de contribuições acumuladas | Numérico | Soma das taxas aplicadas |
| vlLiqNf | Valor líquido da nota fiscal | Numérico | Valor final após descontos |
| cdTpCalc | Código do tipo de cálculo | Numérico | Pode ser nulo |
| fgComplPreco | Indicador de complemento de preço | Texto | ‘N’ = não é complemento |
| deObs | Observação da nota | Texto | Ex: “Nota Fiscal de Sobrepreço.” |
| deFiscOp | Descrição fiscal da operação | Texto | Pode ser nulo |
| cdClassFisc | Código de classificação fiscal | Numérico | Pode ser nulo |
| dfSubstituicao | Indicador de substituição fiscal | Texto | Pode ser nulo |
| vlCredIcmsf | Valor de crédito de ICMS | Numérico | Pode ser nulo |
| fgAcertoAnual | Indicador de acerto anual | Texto | ‘N’ = não houve acerto anual |
| fgManAuto | Indicador de manutenção automática | Texto | ‘A’ = automática |
| dfCpr | Indicador de CPR | Texto | Pode ser nulo |
| fgIndividual | Indicador de operação individual | Texto | Pode ser nulo |
| noContrCana | Número do contrato de cana | Numérico | Identifica o contrato associado |
| cdEmpresa | Código da empresa | Texto | Ex: “1” |
| instContr | Instância do contrato | Texto | Identifica a origem da NF |
| cdMunic | Código do município | Numérico | Pode ser nulo |
| noNfCompl | Número da NF complementar | Numérico | Pode ser nulo |
| cdSerieNfCompl | Série da NF complementar | Texto | Pode ser nulo |
| noNfErpCompl | Número ERP da NF complementar | Texto | Pode ser nulo |
| infoUpnivel1.cdUpnivel1 | Código da unidade superior | Texto | Ex: “20003” |
| infoUpnivel1.deUpnivel1 | Descrição da unidade superior | Texto | Ex: “TOTVS” |
| infoUpnivel1.cdFornec | Código do fornecedor | Numérico | Identificador ERP |
| infoUpnivel1.fgTpPess | Tipo de pessoa | Texto | ‘J’ = Jurídica |
| infoUpnivel1.cdIntErp | Código integrado ERP | Texto | Identificação composta no ERP |
| infoFornecs.cdFornec | Código do fornecedor | Numérico | Identificação do fornecedor principal |
| infoFornecs.deFornec | Nome do fornecedor | Texto | Ex: “TOTVS FORN” |
| infoFornecs.fgTpFornec | Tipo de fornecedor | Texto | Ex: “2” = fornecedor |
| infoFornecs.deTpFornec | Descrição do tipo de fornecedor | Texto | 1 - ACIONISTA 2 - FORNECEDOR 3 - EVENTUAL 4 - PROPRIO 5 - PARCEIRO |
| infoFornecs.fgTpPess | Tipo de pessoa | Texto | ‘F’ = Física |
| infoFornecs.cdIntErp | Código integrado ERP | Texto | Código único no ERP |
| detalheNfDeOut.cdUnidInd | Código da unidade industrial (detalhe) | Numérico | Relaciona-se à usina |
| detalheNfDeOut.vlTonCana | Valor por tonelada de cana | Numérico | Valor unitário |
| detalheNfDeOut.ddFim | Dia final do período | Numérico | Ex: 31 |
| detalheNfDeOut.vlFatorK | Fator K | Numérico | Pode ser nulo |
| detalheNfDeOut.qCanaEnt | Quantidade de cana entregue | Numérico | Em quilos |
| detalheNfDeOut.vlTotal | Valor total | Numérico | Soma geral do período |
| detalheNfDeOut.cdSerieNf | Série da nota (detalhe) | Texto | Ex: “5” |
| detalheNfDeOut.vlKgAtr | Valor do ATR (kg) | Numérico | Pode ser nulo |
| detalheNfDeOut.cdTpCalc | Código do tipo de cálculo | Numérico | Pode ser nulo |
| detalheNfDeOut.dataInicial | Dia inicial do período | Numérico | Ex: 1 |
| detalheshistTxOut.dtIniPer | Data inicial do período da taxa | Data | Ex: “2018-05-01” |
| detalheshistTxOut.dtFimPer | Data final do período da taxa | Data | Ex: “2018-05-31” |
| detalheshistTxOut.vlTxContrib | Valor da contribuição | Numérico | Ex: 449.73 |
| detalheshistTxOut.cdTxContr | Código da taxa de contrato | Numérico | Identificador da taxa |
| txContrib.deTxcontr | Descrição da taxa | Texto | Ex: “INSS” ou “SENAR” |
| txContrib.pcTxcontr | Percentual da taxa | Numérico | Ex: 1.3 ou 0.2 |
| txContrib.cdIndBase | Código de índice base | Numérico | Ex: 950 |
| txContrib.fgAcertoAno | Indicador de acerto anual da taxa | Texto | ‘S’ = Sim |
| txContrib.codigoClassificacao | Código da classificação | Texto | Ex: “CLAS 1” |
| txContrib.codigoEspecie | Código da espécie | Texto | Ex: “ESPECIE 1” |
Método GET:
http:127.0.0.1:8080/api/query/v1/canaMuda
{
"hasNext":true,
"items":[
{
"instancia":"1",
"cdTpNota":"S",
"deTpNota":"Nota Cana Sobrepreço",
"noNf":1,
"cdSerieNf":"5",
"cdUnidInd":1,
"cdTpProp":5,
"deNatOper":"COMPRA",
"cdFiscOp":1101,
"cdSafra":2018,
"amFornec":"2018-05-01T00:00:00",
"acPeso":4867980,
"vlTotNf":34594.79,
"dtEmisNf":"2018-05-22T00:00:00",
"acTxContrib":518.92,
"vlLiqNf":34075.87,
"cdTpCalc":null,
"fgComplPreco":"N",
"deObs":"Nota Fiscal de Sobrepreço.",
"deFiscOp":null,
"cdClassFisc":null,
"dfSubstituicao":null,
"vlCredIcmsf":null,
"fgAcertoAnual":"N",
"fgManAuto":"A",
"dfCpr":null,
"fgIndividual":null,
"noContrCana":2277,
"cdEmpresa":"1",
"instContr":"1",
"cdMunic":null,
"noNfCompl":null,
"cdSerieNfCompl":null,
"noNfErpCompl":null,
"infoUpnivel1":[
{
"cdUpnivel1":" 20003",
"deUpnivel1":"TOTVS",
"cdFornec":7052,
"fgTpPess":"J",
"cdIntErp":"1_19_1"
}
],
"infoFornecs":[
{
"cdFornec":7052,
"deFornec":"TOTVS FORN",
"fgTpFornec":"2",
"deTpFornec":"FORNECEDOR",
"fgTpPess":"F",
"cdIntErp":"7052"
}
],
"detalheNfDeOut":[
{
"cdUnidInd":1,
"vlTonCana":7.1066,
"ddFim":31,
"vlFatorK":null,
"noNf":1,
"vlTotalServ":null,
"vlRef":null,
"qCanaEnt":4867980,
"vlTotal":34594.79,
"cdSerieNf":"5",
"vlAcertoAtr":null,
"vlAcAtrReceb":null,
"instancia":"1",
"detalheshistTxOut":[
{
"dtIniPer":"2018-05-01T00:00:00",
"cdGrpTxContr":1,
"instancia":"1",
"cdUnidInd":1,
"dtFimPer":"2018-05-31T00:00:00",
"vlTxContrib":449.73,
"cdTxContr":1,
"txContrib":[
{
"cdTxcontr":1,
"dtValIni":"2015-10-01T03:00:00.000+00:00",
"deTxcontr":"INSS",
"pcTxcontr":1.3,
"cdIndBase":950,
"pcRedBase":null,
"fgAcertoAno":"S",
"cdTxErp":null,
"codigoClassificacao":"CLAS 1",
"codigoEspecie":"ESPECIE 1"
}
]
},
{
"dtIniPer":"2018-05-01T00:00:00",
"cdGrpTxContr":1,
"instancia":"1",
"cdUnidInd":1,
"dtFimPer":"2018-05-31T00:00:00",
"vlTxContrib":69.19,
"cdTxContr":2,
"txContrib":[
{
"cdTxcontr":2,
"dtValIni":"2015-10-01T03:00:00.000+00:00",
"deTxcontr":"SENAR",
"pcTxcontr":0.2,
"cdIndBase":950,
"pcRedBase":null,
"fgAcertoAno":"S",
"cdTxErp":null,
"codigoClassificacao":"CLAS 2",
"codigoEspecie":"ESPECIE 2"
}
]
}
],
"vlKgAtr":null,
"cdTpCalc":null,
"dataInicial":1,
"pcPgVlTon":null,
"vlBonusTon":null
}
]
}
]
}
Parâmetros Obrigatórios
- instancia: Código da Instância.
- fgTpNota: Flag Controlador de Tipo de Nota.
Parâmetros Opcionais
- noNf: Número da Nota Fiscal.
- cdSerieNf: Série da Nota Fiscal.
- cdUnidInd: Código Unidade Industrial.
- fgStatusIntegracao: Flag de busca das integrações. O valor "nulo" refere-se a registros nunca integrados. Exemplo: 1;2;3;nulo;5
Atualizar status de integração - Notas Fiscais de Cana Muda
Disponibilizado endpoint para atualização do status de integração dos registros de Notas Fiscais de Cana Muda, considerando o retorno do processamento de integração e as regras de bloqueio de reversões definidas no módulo Bioenergia.
Método PUT:
http:127.0.0.1:8080/api/query/v1/canaMuda
Body da Requisição - Notas Fiscais de Cana Muda
{ "fgStatusIntegracao": "1",
"instancia": "1",
"fgTpNota": "1",
"noNf": 1,
"cdSerieNf": "1",
"cdUnidInd": 1,
"cdUpnivel1": "",
"deFornec": ""
}
Bloqueio da Reversão de Processamentos que apresentem registros já integrados com outros sistemas
Com o objetivo de assegurar a consistência das informações integradas com outros sistemas, foi desenvolvido uma nova funcionalidade dentro da aplicação Configuração Central (CFGCEN/ TOTVS Agro Bioenergia), onde será possível realizar o cadastro de rotinas executadas pelo TOTVS Agro Bioenergia e indicar os possíveis "status de integração" vindos de sistemas externos (que estejam integrados ao TOTVS Agro Bioenergia).
Para cada status indicado, será possível apontar se será permitido ou não a reversão do processo em questão.
Visando possibilitar a indicação de diferentes cadastros para diferentes processamentos disponíveis em nosso sistema, foram criados parâmetros específicos para cada rotina,
onde o usuário deverá determinar qual cadastro deverá ser consultado no momento de realizar a reversão do processamento.
Importante frisar que, caso um ou mais registros apresentem um status onde esteja apontado o impedimento para reversão, o processamento será interrompido, impedindo a execução da reversão para todos os registros envolvidos.
Parâmetro "Código do cadastro de controle de status para NF de muda de cana":
- Seção: RCMP_PGTCP;
- Entrada: CD_CAD_STATUS_INT_NFM;
Para mais detalhes sobre a funcionalidade citada acima, acesse a página Cadastro de Bloqueio de Movimentações via API.