Clique no link localizado no canto inferior esquerdo da tela "Integração: enviar e receber XML" .
Se você já tiver integrações, o Fiscal Monitor abrirá a janela [Gerenciador de Canais de Comunicação] e você deverá clicar em [Adicionar] conforme tela abaixo.
Escolha a opção "Receber solicitações via Web Api" e clique em "Configurar integração".
|
Método
|
Rota
|
Descrição
|
| GET | / |
Welcome/Status |
| GET | /DOC/{chave} |
Obter documentos fiscais e eventos relacionados |
| GET | /DOC/{chave}/{tipoEvento} |
Obter eventos relacionados a documentos fiscais |
| GET | /DOC/PDF/{chave} |
Obter PDF do documento |
| GET | /DOC/XML/{chave} |
Download XML |
| GET | /DOC/EDINOTFIS/{chave} |
Download EDI NotFis |
| GET | /DOC/EDICONEMB/{chave} |
Download EDI Conemb |
| GET | /COMPANY/{cnpj} |
Informações da Empresa |
| POST | /DOC/CERTIFICATE |
Registrar certificado digital |
| POST | /COMPANY |
Cadastrar CPF ou CNPJ |
| POST | /DOC/TAG |
Atribuir etiqueta a documento |
| POST | /EVENT |
Registrar evento |
| POST | /XML |
Upload de XML |
/ - Welcome/StatusDescrição: Endpoint de boas-vindas e verificação de status do servidor.
Exemplo de Uso:
curl --location 'http://localhost:8000/'Resposta:
{
"Object": "Seja bem vindo ao Fiscal.io Server\nutilize este endereço para comunicar com o Fiscal.io Monitor\nA comunicação deve ser feita utizando JSON.\nPara mais informações consulte nossa documentação em\nhttps://docs.fiscal.io/integracoes"
}
/DOC/{chave} - Obter Documentos Fiscais e Eventos RelacionadosDescrição: Obter documentos fiscais e eventos relacionados.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/{chave de acesso}'
Parâmetros:
{chave}: Chave de acesso do documento fiscal (44 dígitos)Resposta:
{
"Object": {
// AMOSTRA: Este é apenas um exemplo com alguns campos principais
// Para obter todos os campos disponíveis, realize uma consulta real
"DocList": [
{
"Chave": "35250432722095000143550010000028791105593659", // Chave de acesso do documento fiscal
"Filial": "12345678000199", // CNPJ da filial
"Model": "55", // Modelo do documento (55=NFe, 57=CTe, etc.)
"Serie": "1", // Série do documento
"Numero": "28791", // Número do documento
"DhEmi": "2024-12-15T10:30:00", // Data e hora de emissão
"Status": "Autorizada" // Status do documento
}
],
// AMOSTRA: Este é apenas um exemplo com alguns campos principais do DocItem
// Para obter todos os campos disponíveis, realize uma consulta real
"ItemList": [
{
"Chave": "35250432722095000143550010000028791105593659", // Chave de acesso do documento fiscal
"nItem": "1", // Número sequencial do item
"cProd": "123456789", // Código do produto
"cEAN": "7891234567890", // Código de barras EAN
"xProd": "Produto Exemplo", // Descrição do produto
"NCM": "12345678", // Código NCM do produto
"CFOP": "5102", // Código fiscal de operações e prestações
"uCom": "UN", // Unidade comercial
"qCom": "1.0000", // Quantidade comercial
"vUnCom": "100.00", // Valor unitário comercial
"vProd": "100.00", // Valor total do produto
"uTrib": "UN", // Unidade tributável
"qTrib": "1.0000", // Quantidade tributável
"vUnTrib": "100.00", // Valor unitário tributável
"vFrete": "0.00", // Valor do frete
"vSeg": "0.00", // Valor do seguro
"vDesc": "0.00", // Valor do desconto
"vOutro": "0.00", // Outros valores
"indTot": "1", // Indicador de total
"ICMSBase": "100.00", // Base de cálculo do ICMS
"ICMSTaxa": "18.00", // Alíquota do ICMS
"ICMSValor": "18.00", // Valor do ICMS
"ICMSCdCst": "00", // Código de situação tributária do ICMS
"ICMSOrig": "0" // Origem da mercadoria
}
],
// AMOSTRA: Este é apenas um exemplo com alguns campos principais
// Para obter todos os campos disponíveis, realize uma consulta real
"EventList": [
{
"Chave": "35250432722095000143550010000028791105593659", // Chave de acesso do documento fiscal
"tpEvento": "110111", // Tipo do evento (110111=Cancelamento, 110140=Carta de Correção, etc.)
"nSeqEvento": 1, // Número sequencial do evento
"dhEvento": "2024-12-15T10:35:00" // Data e hora do evento
}
]
}
}
Campos de Resposta:
DocList: Lista de documentos encontradosItemList: Lista de itens dos documentos com campos:Chave: Chave de acesso do documento fiscalnItem: Número sequencial do itemcProd: Código do produtocEAN: Código de barras EANxProd: Descrição do produtoNCM: Código NCM do produtoCFOP: Código fiscal de operações e prestaçõesuCom: Unidade comercialqCom: Quantidade comercialvUnCom: Valor unitário comercialvProd: Valor total do produtouTrib: Unidade tributávelqTrib: Quantidade tributávelvUnTrib: Valor unitário tributávelvFrete: Valor do fretevSeg: Valor do segurovDesc: Valor do descontovOutro: Outros valoresindTot: Indicador de totalICMSBase: Base de cálculo do ICMSICMSTaxa: Alíquota do ICMSICMSValor: Valor do ICMSICMSCdCst: Código de situação tributária do ICMSICMSOrig: Origem da mercadoriaEventList: Lista de eventos relacionados aos documentos/DOC/{chave}/{tipoEvento} - Obter Eventos Relacionados a Documentos FiscaisDescrição: Obter eventos relacionados a documentos fiscais.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/{chave de acesso do documento fiscal}/{código do tipo de evento conforme manual da sefaz}'
Parâmetros:
{chave}: Chave de acesso do documento fiscal (44 dígitos){tipoEvento}: Código do tipo de evento conforme manual da SEFAZResposta:
{
"Object": {
// AMOSTRA: Este é apenas um exemplo com alguns campos principais
// Para obter todos os campos disponíveis, realize uma consulta real
"EventList": [
{
"Chave": "35250432722095000143550010000028791105593659", // Chave de acesso do documento fiscal
"tpEvento": "110111", // Tipo do evento (110111=Cancelamento, 110140=Carta de Correção, etc.)
"nSeqEvento": 1, // Número sequencial do evento
"dhEvento": "2024-12-15T10:35:00", // Data e hora do evento
"xJust": "Justificativa do evento" // Justificativa do evento (quando aplicável)
}
]
}
}
/DOC/PDF/{chave} - Obter PDF do DocumentoDescrição: Obter PDF do documento fiscal.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/PDF/{chave de acesso}'
Parâmetros:
{chave}: Chave de acesso do documento fiscal (44 dígitos)Resposta:
{
"Object": {
"ObjKey": "35250432722095000143550010000028791105593659",
"ObjType": "PDF",
"ObjGzip": "base64_encoded_gzip_content"
}
}
Campos de Resposta:
ObjKey: Chave do documentoObjType: Tipo do arquivo ("PDF")ObjGzip: Conteúdo do arquivo PDF comprimido em GZIP e codificado em Base64/DOC/XML/{chave} - Download XMLDescrição: Download do arquivo XML de um documento fiscal.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/XML/{chave de acesso}'Parâmetros:
{chave}: Chave de acesso do documento fiscal (44 dígitos)Resposta:
{
"Object": {
"ObjKey": "35250432722095000143550010000028791105593659",
"ObjType": "XML",
"ObjGzip": "base64_encoded_gzip_content"
}
}
Campos de Resposta:
ObjKey: Chave do documentoObjType: Tipo do arquivo ("XML")ObjGzip: Conteúdo do arquivo XML comprimido em GZIP e codificado em Base64/DOC/EDINOTFIS/{chave} - Download EDI NotFisDescrição: Download do arquivo EDI NotFis gerado a partir do XML.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/EDINOTFIS/{chave de acesso}'Parâmetros:
{chave}: Chave de acesso do documento fiscal (44 dígitos)Resposta:
{
"Object": {
"ObjKey": "35250432722095000143550010000028791105593659",
"ObjType": "EDI NotFis",
"ObjGzip": "base64_encoded_gzip_content"
}
}
/DOC/EDICONEMB/{chave} - Download EDI ConembDescrição: Download do arquivo EDI Conemb gerado a partir do XML.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/EDICONEMB/{chave de acesso}'Parâmetros:
{chave}: Chave de acesso do documento fiscal (44 dígitos)Resposta:
{
"Object": {
"ObjKey": "35250432722095000143550010000028791105593659",
"ObjType": "EDI Conemb",
"ObjGzip": "base64_encoded_gzip_content"
}
}
/COMPANY/{cnpj} - Informações da EmpresaDescrição: Consulta informações de uma empresa cadastrada.
Exemplo de Uso:
curl --location 'http://localhost:8000/COMPANY/{cnpj}'Parâmetros:
{cnpj}: CNPJ da empresa (14 dígitos)Resposta:
{
"Object": {
// AMOSTRA: Este é apenas um exemplo com alguns campos principais
// Para obter todos os campos disponíveis, realize uma consulta real
"CNPJ": "12345678000199", // CNPJ da empresa
"Nome": "Empresa Exemplo Ltda", // Razão social da empresa
"Estado": "SP", // Sigla do estado
"Certificado": "1234567890123456789012345678901234567890", // Serial do certificado digital
"Environment": "1", // Ambiente (1=Homologação, 2=Produção)
"GetNFeAndEvent": "X", // Habilitar download automático de NFe
"NFeDownAuto": "X" // Tipo de download automático
}
}
/DOC/CERTIFICATE - Registrar Certificado DigitalDescrição: Registrar certificado digital A1.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/CERTIFICATE' \
--header 'Content-Type: application/json' \
--data '{
"GZipCert": "Certificado digital no formato GZip",
"Password": "Senha do certificado"
}'
Modelo de Entrada:
{
"GZipCert": "Certificado digital no formato GZip",
"Password": "Senha do certificado"
}
Campos de Entrada:
GZipCert (obrigatório): Certificado digital no formato GZipPassword (obrigatório): Senha do certificado digitalResposta de Sucesso:
{
"Object": {
"Serial": "1234567890123456789012345678901234567890"
}
}
/COMPANY - Cadastrar CPF ou CNPJDescrição: Cadastrar CPF ou CNPJ no sistema.
Exemplo de Uso:
curl --location 'http://localhost:8000/COMPANY' \
--header 'Content-Type: application/json' \
--data '{
"CNPJ" : "11111111111111",
"Nome": "Nome da empresa",
"Estado" : "31",
"Certificado" : "123123425234",
"DisableAutoScan" : "",
"Environment" : "1",
"GetNFeAndEvent" : "X",
"NFeDownAuto" : "X",
"GetCTeAndEvent" : "X",
"GetMDFeAndEvent" : "X",
"GetNFeOutAndEvent" : "X",
"NFeOutDownAuto" : "W",
"GetNFCeOutAndEvent" : "X",
"NFCeOutDownAuto" : "W",
"GetCTeOutAndEvent" : "X",
"CTeOutDownAuto" : "W"
}'
Modelo de Entrada:
{
"CNPJ": "11111111111111",
"Nome": "Nome da empresa",
"Estado": "31",
"Certificado": "123123425234",
"DisableAutoScan": "",
"Environment": "1",
"GetNFeAndEvent": "X",
"NFeDownAuto": "X",
"GetCTeAndEvent": "X",
"GetMDFeAndEvent": "X",
"GetNFeOutAndEvent": "X",
"NFeOutDownAuto": "W",
"GetNFCeOutAndEvent": "X",
"NFCeOutDownAuto": "W",
"GetCTeOutAndEvent": "X",
"CTeOutDownAuto": "W"
}
Campos de Entrada:
CNPJ (obrigatório): CNPJ ou CPF da empresa (14 ou 11 dígitos)Nome (obrigatório): Nome da empresaEstado (obrigatório): Código do estado (2 dígitos)Certificado (obrigatório): Serial do certificado digitalDisableAutoScan (opcional): Desabilitar escaneamento automáticoEnvironment (obrigatório): Ambiente1: Homologação2: ProduçãoCampos de Configuração Inbound (Entrada):
GetNFeAndEvent: "X" para habilitar download automático de NFeNFeDownAuto: Tipo de download automáticoX: Ciência da Operação + Download de XMLW: SEM Manifestação + COM validade jurídicaN: SEM Manifestação + SEM validade jurídicaGetCTeAndEvent: "X" para habilitar download automático de CTeGetMDFeAndEvent: "X" para habilitar download automático de MDFeCampos de Configuração Outbound (Saída):
GetNFeOutAndEvent: "X" para habilitar envio automático de NFeNFeOutDownAuto: Tipo de download automático para NFe de saídaGetNFCeOutAndEvent: "X" para habilitar envio automático de NFCeNFCeOutDownAuto: Tipo de download automático para NFCe de saídaGetCTeOutAndEvent: "X" para habilitar envio automático de CTeCTeOutDownAuto: Tipo de download automático para CTe de saídaResposta de Sucesso:
{
"Object": {
"CNPJ": "11111111111111",
"Nome": "Nome da empresa",
"Estado": "31",
"Certificado": "123123425234",
"Environment": "1",
"Status": "Empresa cadastrada com sucesso"
}
}
/DOC/TAG - Atribuir Etiqueta a DocumentoDescrição: Atribuir etiqueta a documento fiscal.
Exemplo de Uso:
curl --location 'http://localhost:8000/DOC/TAG' \
--header 'Content-Type: application/json' \
--data '{
"Company": "{cnpj ou cpf}",
"DocKey": "{chave de acesso}",
"DocTag": "{código da etiqueta}"
}'
Modelo de Entrada:
{
"Company": "12345678000199",
"DocKey": "35250432722095000143550010000028791105593659",
"DocTag": "CODIGO_ETIQUETA"
}
Campos de Entrada:
Company (obrigatório): CNPJ ou CPF da empresaDocKey (obrigatório): Chave de acesso do documento fiscalDocTag (obrigatório): Código da etiqueta a ser atribuídaResposta de Sucesso:
{
"Object": {
"Chave": "35250432722095000143550010000028791105593659",
"Tag": "CODIGO_ETIQUETA",
"Status": "Etiqueta atribuída com sucesso"
}
}
/EVENT - Registrar EventoDescrição: Registrar evento em documento fiscal.
Exemplo de Uso:
curl --location 'http://localhost:8000/EVENT' \
--header 'Content-Type: application/json' \
--data '{
"Company": "{cnpj ou cpf}",
"DocKey": "{chave de acesso}",
"EvtCode": "{código de evento conforme manual de documentos fiscais da SEFAZ}",
"Reason": "{Somente informar este campo nos casos que o evento exigir uma justificativa}"
}'
Modelo de Entrada:
{
"Company": "12345678000199",
"DocKey": "35250432722095000143550010000028791105593659",
"EvtCode": "110111",
"Reason": "Justificativa do evento"
}
Campos de Entrada:
Company (obrigatório): CNPJ ou CPF da empresaDocKey (obrigatório): Chave de acesso do documento fiscalEvtCode (obrigatório): Código de evento conforme manual de documentos fiscais da SEFAZReason (condicional): Somente informar este campo nos casos que o evento exigir uma justificativaCódigos de Evento Comuns:
110111: Cancelamento110140: Carta de Correção Eletrônica949494: Ciência da Operação848484: Confirmação da Operação747474: Desconhecimento da OperaçãoResposta de Sucesso:
{
"Object": {
"Chave": "35250432722095000143550010000028791105593659",
"tpEvento": "110111",
"nSeqEvento": 1,
"dhEvento": "2024-12-15T10:35:00",
"Status": "Processado com sucesso"
}
}
/XML - Upload de XMLDescrição: Envio de arquivo XML para processamento.
Modelo de Entrada:
{
"GzipXml": "base64_encoded_gzip_xml_content",
"Socket": "IDENTIFICADOR_SOCKET"
}
Campos de Entrada:
GzipXml (obrigatório): Conteúdo do XML comprimido em GZIP e codificado em Base64Socket (opcional): Identificador do socket/clienteResposta de Sucesso:
{
"Object": {
"Chave": "35250432722095000143550010000028791105593659",
"Status": "Processado com sucesso",
"Filial": "12345678000199"
}
}
Exemplo de Uso:
// Comprimir XML
var varXmlContent = File.ReadAllText("documento.xml");
var varGzipXml = clsCompress.funcZipTextToString(varXmlContent);
// Criar modelo
var varclsObject = new clsApiPostDocItemModel
{
GzipXml = varGzipXml,
Socket = "ERP_SYSTEM_001"
};
// Serializar e enviar
var varJsonContent = JsonConvert.SerializeObject(varclsObject);
{
"HasError": true,
"Messages": [
{
"Type": "E",
"Code": "NOTFOUND",
"Message": "Documento não encontrado."
}
]
}
// Preparar XML
var varXmlContent = File.ReadAllText("nfe.xml");
var varGzipXml = clsCompress.funcZipTextToString(varXmlContent);
// Criar requisição
var varclsObject = new clsApiPostDocItemModel
{
GzipXml = varGzipXml,
Socket = "ERP_SYSTEM_001"
};
// Serializar
var varJsonContent = JsonConvert.SerializeObject(varclsObject);
// Enviar via HTTP POST
var varHttpClient = new HttpClient();
var varContent = new StringContent(varJsonContent, Encoding.UTF8, "application/json");
var varResponse = await varHttpClient.PostAsync("http://localhost:8000/XML", varContent);
var varResponseContent = await varResponse.Content.ReadAsStringAsync();
// Consultar documento
var varHttpClient = new HttpClient();
var varResponse = await varHttpClient.GetAsync("http://localhost:8000/DOC/35250432722095000143550010000028791105593659");
var varResponseContent = await varResponse.Content.ReadAsStringAsync();
// Deserializar resposta
var varclsResponse = JsonConvert.DeserializeObject<clsApiGetDocItemModel>(varResponseContent);
// Download PDF
var varHttpClient = new HttpClient();
var varResponse = await varHttpClient.GetAsync("http://localhost:8000/DOC/PDF/35250432722095000143550010000028791105593659");
var varResponseContent = await varResponse.Content.ReadAsStringAsync();
// Deserializar e salvar
var varclsResponse = JsonConvert.DeserializeObject<clsApiGetDocFileModel>(varResponseContent);
var varPdfBytes = Convert.FromBase64String(varclsResponse.ObjGzip);
File.WriteAllBytes("documento.pdf", varPdfBytes);
// Criar modelo de empresa
var varclsObject = new clsApiPostCompanyModel
{
CNPJ = "11111111111111",
Nome = "Nome da empresa",
Estado = "31",
Certificado = "123123425234",
DisableAutoScan = "",
Environment = "1",
GetNFeAndEvent = "X",
NFeDownAuto = "X",
GetCTeAndEvent = "X",
GetMDFeAndEvent = "X",
GetNFeOutAndEvent = "X",
NFeOutDownAuto = "W",
GetNFCeOutAndEvent = "X",
NFCeOutDownAuto = "W",
GetCTeOutAndEvent = "X",
CTeOutDownAuto = "W"
};
// Serializar e enviar
var varJsonContent = JsonConvert.SerializeObject(varclsObject);
var varHttpClient = new HttpClient();
var varContent = new StringContent(varJsonContent, Encoding.UTF8, "application/json");
var varResponse = await varHttpClient.PostAsync("http://localhost:8000/COMPANY", varContent);
var varResponseContent = await varResponse.Content.ReadAsStringAsync();
// Criar modelo de evento
var varclsObject = new clsApiPostEvtItemModel
{
Company = "12345678000199",
DocKey = "35250432722095000143550010000028791105593659",
EvtCode = "110111",
Reason = "Justificativa do cancelamento"
};
// Serializar e enviar
var varJsonContent = JsonConvert.SerializeObject(varclsObject);
var varHttpClient = new HttpClient();
var varContent = new StringContent(varJsonContent, Encoding.UTF8, "application/json");
var varResponse = await varHttpClient.PostAsync("http://localhost:8000/EVENT", varContent);
var varResponseContent = await varResponse.Content.ReadAsStringAsync();
[INFO] Integração via Api Web -> Iniciando Fiscal.io Http Server
[INFO] Integração via Api Web -> Prefixo : http://*:8080/
[INFO] Integração via Api Web -> Http Request Method POST
[INFO] Integração via Api Web -> Http Request Router /XML
[INFO] Integração via Api Web -> Http Response Content {"Success":true}