Conheças as soluções Webmania® para o seu negócio. Teste grátis as nossas soluções*
Conversar no WhatsApp*Teste grátis para novos clientes. Consulte condições e serviços disponíveis.
Utilize a REST API da Webmania®, para emissão de NFCom destinada a documentar prestações de serviços de telecomunicação. Deseja emitir outros modelos? Ver documentação
Todas as solicitações na API devem ser realizadas em ambiente criptografado HTTPS através da URL https://api.webmaniabr.com
. O prefixo /2/ indica que atualmente estamos utilizando a versão 2.0 da API.
Código | Descrição | Função |
---|---|---|
/2/nfcom/emissao | POST | Emissão de NFCom |
/2/nfcom/consulta/ | GET | Consulta de NFCom |
/2/nfcom/status | GET | Status do Serviço SEFAZ |
/2/nfcom/cancelar | PUT | Cancelamento de NFCom |
Todas as respostas são no formato objeto JSON.
Uma requisição bem-sucedida é indicada através do status HTTP, o status 2xx indica sucesso. Quando ocorrer uma falha na requisição, o corpo da resposta [body] continua no formato JSON, mas sempre contém o campo error
. Por exemplo, caso a sua autenticação não seja bem-sucedida, será retornada a seguinte mensagem:
{
"error": "Acesso restrito."
}
Realize a emissão com apenas um clique na sua plataforma através dos módulos da Webmania® ou realize a integração para os diversos tipos de linguagens de programação.
Para as solicitações, o corpo da requisição [body] deve ser enviado no formato JSON com os headers Content-Type
e Accept
definidos para application/json
.
A autenticação é realizada através do cabeçalho HTTP (HTTP headers). É necessário o envio do header Authorization Bearer Token
com o Access-Token da API 2.0, que é encontrado no painel Webmania®.
Mantenha as credenciais de acesso em segurança. Nunca publique as credenciais de acesso no código fonte do site, aplicativo ou software onde o usuário possa ter fácil acesso.
Para aplicativos mobile iOS e Android, recomendamos que o processo de emissão seja realizado no servidor (back-end). No código fonte do aplicativo deve possuir somente a solicitação de emissão, enquanto o processo deve ser realizado em seu servidor.
Para que a sua plataforma se mantenha sempre atualizada, a Webmania disponibiliza as notificações automáticas para todos os status da NFCom.
Cada NFCom possui um identificador único chamado de UUID. Este identificador deve ser utilizado para recepcionar e identificar a NFCom para atualizar as informações no seu banco de dados.
No momento em que for realizada a emissão da NFCom, caso tenha informado o parâmetro url_notificacao
, será enviado o retorno no formato POST para a URL especificada, contendo no corpo os parâmetros uuid
, chave
, serie
, numero
, status
, motivo
, xml
, danfecom
e log
.
Parâmetro | Tipo | Descrição |
---|---|---|
uuid | string | Identificador único da NFComDeve ser utilizado o UUID para recepcionar o retorno da notificação. |
chave | string | Chave de identificação da NFCom na Sefaz |
serie | número | Série de emissão |
numero | número | Número da NFComGerenciado automaticamente pelo emissor. |
status | string | Status da NFComaprovado |
motivo | string | Motivo do statusEx.: Autorizado o uso da NFCom |
xml | string | URL do XML da NFCom |
xml_cancelamento | string | URL do XML da NFCom canceladaDisponível somente para NFCom cancelada. |
danfecom | string | URL do DANFECOM |
log | array | Log de retorno da Sefaz |
protocolo | string | Protocolo de autorizaçãoDisponível quando NFCom é autorizada |
data_autorizacao | string | Data e hora da autorizaçãoFormato: DD/MM/YYYY HH:MM:SS |
contingencia | boolean | Indica se a NFCom está em contingência |
A requisição via POST é realizada no formato application/json
:
-X POST \
-H "Content-type: application/json" \
Segue exemplo do retorno via POST:
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"chave": "35240712345678901234620010000001191234567890",
"serie": 1,
"numero": 119,
"status": "aprovado",
"motivo": "Autorizado o uso da NFCom",
"xml": "https://api.webmaniabr.com/xmlnfcom/[uuid]",
"xml_cancelamento": "https://api.webmaniabr.com/xmlnfcom/[uuid]/cancelamento",
"danfecom": "https://api.webmaniabr.com/danfecom/[uuid]",
"log": { ... }
}
url_notificacao
para receber todas as atualizações da NFCom. O sistema enviará notificações automaticamente sempre que houver mudanças de status, incluindo aprovação após processamento ou saída de contingência. Para emitir uma Nota Fiscal de Comunicação, envie a requisição no método POST para a URL /2/nfcom/emissao
contendo no corpo da requisição os objetos no formato JSON.
curl -X POST \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ambiente": 2,
"natureza_operacao": "Prestação de Serviços de Telecomunicação",
"tipo_operacao": 1,
...
}' \
https://api.webmaniabr.com/2/nfcom/emissao
Segue abaixo exemplo de como emitir NFCom:
{
"ambiente": 2,
"natureza_operacao": "Prestação de Serviços de Telecomunicação",
"tipo_operacao": 1,
"municipio_fato_gerador": "3550308",
"finalidade": 1,
"consumidor_final": 1,
"presenca_comprador": 2,
"processo_emissao": 0,
"assinante": {
"codigo": "ASS123456",
"tipo": 3,
"tipo_servico": 2
},
"cliente": {
"cpf": "12345678901",
"razao_social": "João da Silva",
"indicador_ie": 9,
"endereco": {
"logradouro": "Rua das Flores",
"numero": "123",
"bairro": "Centro",
"codigo_municipio": "3550308",
"municipio": "São Paulo",
"uf": "SP",
"cep": "01310100"
}
},
"itens": [{
"codigo": "SERV001",
"codigo_classificacao": "1234567",
"descricao": "Internet Banda Larga 100MB",
"unidade": "MES",
"quantidade": 1,
"valor_unitario": 99.90,
"valor_total": 99.90,
"indicador_total": 1,
"impostos": {
"icms": {
"origem": 0,
"cst": "00",
"modalidade_bc": 3,
"valor_bc": 99.90,
"aliquota": 25.00,
"valor": 24.98,
"codigo_cfop": "5307",
},
"pis": {
"cst": "01",
"valor_bc": 99.90,
"aliquota": 0.65,
"valor": 0.65
},
"cofins": {
"cst": "01",
"valor_bc": 99.90,
"aliquota": 3.00,
"valor": 3.00
}
}
}]
}
A resposta do corpo da mensagem será no formato objeto JSON, contendo os campos uuid
, chave
, serie
, numero
, status
, motivo
, modelo
, xml
, danfecom
e log
:
{
"uuid": "550e8400-e29b-41d4-a716-446655440000", // Número único de identificação
"chave": "35240712345678901234620010000001191234567890", // Chave de identificação na Sefaz
"modelo": "62", // Modelo do documento
"serie": 1, // Série da NFCom
"numero": 119, // Número da NFCom
"protocolo": "135240000123456", // Protocolo de autorização
"status": "aprovado", // aprovado, reprovado, cancelado ou processando
"motivo": "Autorizado o uso da NFCom", // Motivo do status
"xml": "https://api.webmaniabr.com/xmlnfcom/550e8400-e29b-41d4-a716-446655440000",
"danfecom": "https://api.webmaniabr.com/danfecom/550e8400-e29b-41d4-a716-446655440000",
"log": "{...}" // Log de retorno da Sefaz
}
No momento em que for realizada a emissão da Nota Fiscal de Comunicação, caso tenha informado o parâmetro url_notificacao
, será enviado o retorno no formato POST para a URL especificada. Saiba mais
A Nota Fiscal de Comunicação (NFCom) é um documento fiscal eletrônico, modelo 62, utilizado para documentar as prestações de serviços de telecomunicação.
A NFCom deve ser emitida por prestadores de serviços de telecomunicação, tais como:
Preencha os campos conforme finalidade da sua emissão. A tabela abaixo possui os campos necessários para a emissão de uma NFCom.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
ID | Opcional | string | 1-15 | Número do pedido de compra ou ID de processamentoControle das solicitações de emissão por pedido ou ID de processamento. Saiba mais |
ambiente | Obrigatório | integer | 1 | Identificação do Ambiente da Sefaz1 - Produção |
url_notificacao | Opcional | string | - - - | URL de notificação para todas as atualizações de status da NFCom |
natureza_operacao | Obrigatório | string | 1-60 | Descrição da natureza da operaçãoEx: Prestação de Serviços de Telecomunicação |
tipo_operacao | Obrigatório | integer | 1 | Tipo da operação0 - Entrada |
municipio_fato_gerador | Obrigatório | string | 7 | Código IBGE do município de ocorrência do fato geradorInformar 9999999 para operações com o exterior. |
finalidade | Obrigatório | integer | 1 | Finalidade da emissão1 - Normal |
consumidor_final | Obrigatório | integer | 1 | Indica operação com consumidor final1 - Consumidor final |
presenca_comprador | Obrigatório | integer | 1 | Indicador de presença do comprador1 - Operação presencial |
processo_emissao | Obrigatório | integer | 1 | Processo de emissão0 - Aplicativo do contribuinte |
serie | Opcional | string | 1-3 | Série de emissãoDefault: 1 |
numero | Opcional | string | 1-9 | Número da NFComCaso não informado, será gerado automaticamente |
data_emissao | Opcional | string | 19 | Data e hora de emissãoFormato: YYYY-MM-DD HH:MM:SS |
tipo_faturamento | Opcional | integer | 1 | Tipo de faturamento0 - Faturamento Normal (padrão) |
periodo_apuracao | Opcional | string | 7 | Período de apuraçãoFormato: YYYY-MM |
codigo_modelo | Opcional | integer | 2 | Código do modelo do documento21 - Conta detalhada |
previa_danfecom | Opcional | boolean | - - - | Gerar apenas prévia do DANFECOM sem emitirtrue - Gera apenas prévia |
assinante | Obrigatório | objeto | - - - | Informações do assinante do serviço |
cliente | Obrigatório | objeto | - - - | Dados do tomador do serviço |
itens | Obrigatório | array | - - - | Array contendo os serviços prestados |
fatura | Opcional | objeto | - - - | Dados de faturamento e cobrança |
autorizados_xml | Opcional | array | - - - | CPF/CNPJ autorizados a baixar o XMLArray de objetos com cpf ou cnpj |
informacoes_complementares | Opcional | string | 1-5000 | Informações complementares de interesse do contribuinte |
informacoes_fisco | Opcional | string | 1-2000 | Informações adicionais de interesse do Fisco |
A NFCom suporta indicadores específicos do setor de telecomunicações:
As informações sobre o assinante do serviço são enviadas através do objeto assinante
.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
codigo | Obrigatório | string | 1-60 | Código do assinanteIdentificador único do assinante no sistema do prestador |
tipo | Obrigatório | integer | 1 | Tipo do assinante1 - Comercial/Industrial |
tipo_servico | Obrigatório | integer | 1 | Tipo de utilização do serviço1 - Telefonia |
contrato | Obrigatório | objeto | - - - | Dados do contratoObrigatório quando tipo_faturamento = 0 ou 1 |
Quando tipo_faturamento
é 0 (Normal) ou 1 (Centralizado), é obrigatório informar os dados do contrato dentro do objeto assinante.contrato
:
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
numero | Obrigatório | string | 1-60 | Número do contratoEx: 12345/2025 |
data_inicio | Obrigatório | string | 10 | Data de início do contratoFormato: YYYY-MM-DD |
data_fim | Obrigatório | string | 10 | Data de término do contratoFormato: YYYY-MM-DD |
Segue abaixo exemplo de como informar o assinante com contrato:
{
...
"tipo_faturamento": 0,
"assinante": {
"codigo": "ASS123456",
"tipo": 3,
"tipo_servico": 4,
"contrato": {
"numero": "12345/2025",
"data_inicio": "2025-01-01",
"data_fim": "2025-12-31"
}
},
...
}
contrato
é obrigatório apenas quando tipo_faturamento
= 0 (Normal) ou 1 (Centralizado). Para cofaturamento (tipo_faturamento = 2), o contrato não deve ser informado. Os dados do tomador do serviço (cliente) são informados no objeto cliente
, seguindo as regras abaixo.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
cnpj | Obrigatório no caso de Pessoa Jurídica | string | 14 | Número de CNPJ |
cpf | Obrigatório no caso de Pessoa Física | string | 11 | Número de CPF |
razao_social | Obrigatório | string | 2-60 | Nome ou Razão Social |
indicador_ie | Obrigatório | integer | 1 | Indicador de Inscrição Estadual1 - Contribuinte ICMS |
inscricao_estadual | Opcional | string | 2-14 | Número de Inscrição Estadual |
inscricao_municipal | Opcional | string | 1-15 | Número de Inscrição Municipal |
email | Opcional | string/array | - - - | Endereço de e-mailPode ser string ou array de strings para múltiplos e-mails |
endereco | Obrigatório | objeto | - - - | Dados do endereço do cliente |
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
logradouro | Obrigatório | string | 2-60 | Logradouro do endereço |
numero | Obrigatório | string | 1-60 | Número do endereço |
complemento | Opcional | string | 1-60 | Complemento do endereço |
bairro | Obrigatório | string | 2-60 | Bairro do endereço |
codigo_municipio | Obrigatório | string | 7 | Código IBGE do municípioInformar 9999999 para operações com o exterior. |
municipio | Obrigatório | string | 2-60 | Nome do municípioInformar 'EXTERIOR' para operações com o exterior. |
uf | Obrigatório | string | 2 | Sigla do estadoInformar 'EX' para operações com o exterior. |
cep | Obrigatório para endereço nacional | string | 8 | Código postal (CEP) do endereço |
pais | Opcional | string | 1-60 | Nome do paísDefault: Brasil |
codigo_pais | Opcional | string | 1-4 | Código do país (BACEN)Default: 1058 (Brasil) |
telefone | Opcional | string | 6-14 | Número de telefone |
Segue abaixo exemplo de como informar o cliente:
{
...
"cliente": {
"cpf": "12345678901",
"razao_social": "João da Silva",
"indicador_ie": 9,
"email": ["joao@email.com", "joao.silva@email.com"],
"endereco": {
"logradouro": "Avenida Paulista",
"numero": "1000",
"complemento": "Apto 501",
"bairro": "Bela Vista",
"codigo_municipio": "3550308",
"municipio": "São Paulo",
"uf": "SP",
"cep": "01310100",
"telefone": "1133334444"
}
},
...
}
Os serviços prestados e os bens/produtos relacionados são informados no array itens
, onde cada elemento corresponde a um serviço ou produto.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
codigo | Obrigatório | string | 1-60 | Código do item/serviço |
descricao | Obrigatório | string | 1-120 | Descrição do item/serviço |
unidade | Obrigatório | string | 1-6 | Unidade de medidaEx: UN, MES, GB, MIN |
quantidade | Obrigatório | decimal | 15v4 | Quantidade do itemAté 4 casas decimais |
valor_unitario | Obrigatório | decimal | 21v10 | Valor unitário do itemAté 10 casas decimais |
valor_total | Obrigatório | decimal | 15v2 | Valor total do item2 casas decimais |
valor_desconto | Opcional | decimal | 15v2 | Valor do desconto |
outras_despesas | Opcional | decimal | 15v2 | Outras despesas acessórias |
indicador_total | Obrigatório | integer | 1 | Indicador de composição do total1 - Compõe o valor total da NFCom |
indicador_prepago | Opcional | boolean | - - - | Indicador de serviço pré-pagotrue - Serviço pré-pago |
indicador_cessao_meios | Opcional | boolean | - - - | Indicador de cessão de meios de redetrue - Com cessão |
classe_imposto | Opcional | string | - - - | Definição automática de impostos, informe a referência da classe de imposto cadastrado no painel Webmania®Ex: REF000000000 |
impostos | Obrigatório | objeto | - - - | Definição de impostos na API, para operações específicas como FUNTTEL, FUST ou que demande maior flexibilidade |
Segue abaixo exemplo de como informar um item/serviço:
{
...
"itens": [
{
"codigo": "SERV001",
"descricao": "Internet Banda Larga 100MB",
"unidade": "MES",
"quantidade": 1,
"valor_unitario": 99.90,
"valor_total": 99.90,
"indicador_total": 1,
"impostos": {
"codigo_classificacao": "0107",
"icms": {
"origem": 0,
"cst": "00",
"codigo_cfop": "5307",
"modalidade_bc": 3,
"valor_bc": 99.90,
"aliquota": 25.00,
"valor": 24.98
},
"pis": {
"cst": "01",
"valor_bc": 99.90,
"aliquota": 0.65,
"valor": 0.65
},
"cofins": {
"cst": "01",
"valor_bc": 99.90,
"aliquota": 3.00,
"valor": 3.00
}
}
}
],
...
}
Existem duas formas de definir impostos para emissão da Nota Fiscal, através da Classe de Imposto ou diretamente na API.
A classe de imposto reúne informações fiscais do CÓDIGO DE CLASSIFICAÇÃO, ICMS, PIS, FUST e FUNTTEL para que seja realizado o cálculo automático dos impostos. É um procedimento simples, configurado uma única vez, que facilita emissões das notas fiscais de comunicação com maior agilidade.
Para utilizar a classe de imposto, basta informar o código de referência para emitir a nota fiscal conforme o exemplo abaixo:
{
"itens": [
{
"descricao": "Plano Internet Fibra 200MB",
"unidade": "GB",
"quantidade": 1,
"valor_unitario": 99.90,
"valor_total": 99.90,
"indicador_total": 1,
"classe_imposto": "REF000000000"
},
{
"descricao": "Modem hwauei fibra",
"unidade": "un",
"quantidade": 1,
"valor_unitario": 280.50,
"valor_total": 280.50,
"indicador_total": 1,
"classe_imposto": "REF000000000"
}
]
}
Para efetuar o cadastro de uma classe de imposto de comunicação basta acessar este link: Cadastrar Classe de Imposto de comunicação. Após o cadastro, o código de referência da classe de imposto pode ser obtido no painel Webmania® clicando no botão Impostos.
As informações tributárias são informadas dentro do objeto impostos
de cada item. A NFCom suporta os seguintes impostos:
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
codigo_classificacao | Obrigatório | string | 4 | Código de classificação do itemAcesse a tabela de classificações |
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
origem | Obrigatório | integer | 1 | Origem da mercadoria0 - Nacional |
cst | Obrigatório | string | 2 | Código de Situação Tributária00 - Tributada integralmente |
codigo_cfop | Obrigatório | string | 4 | Código Fiscal de Operações e PrestaçõesExemplos: |
modalidade_bc | Obrigatório para CST 00, 20, 90 | integer | 1 | Modalidade de determinação da BC0 - Margem Valor Agregado |
valor_bc | Obrigatório para CST 00, 20, 90 | decimal | 15v2 | Valor da base de cálculo |
aliquota | Obrigatório para CST 00, 20, 90 | decimal | 5v2 | Alíquota do ICMSVaria por estado (17-35%) |
valor | Obrigatório para CST 00, 20, 90 | decimal | 15v2 | Valor do ICMS |
percentual_reducao | Obrigatório para CST 20 | decimal | 5v2 | Percentual de redução da base de cálculo |
percentual_fcp | Opcional | decimal | 5v2 | Percentual do Fundo de Combate à Pobreza |
valor_fcp | Opcional | decimal | 15v2 | Valor do FCP |
valor_desoneracao | Opcional | decimal | 15v2 | Valor do ICMS desonerado |
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
cst | Obrigatório | string | 2 | Código de Situação Tributária01 - Operação Tributável |
valor_bc | Obrigatório para CST 01, 02 | decimal | 15v2 | Valor da base de cálculo |
aliquota | Obrigatório para CST 01, 02 | decimal | 5v4 | AlíquotaPIS: 0.65% |
valor | Obrigatório para CST 01, 02 | decimal | 15v2 | Valor do tributo |
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
valor_bc | Opcional | decimal | 15v2 | Valor da base de cálculo |
aliquota | Opcional | decimal | 5v2 | AlíquotaFUST: 1.0% (fixo) |
valor | Opcional | decimal | 15v2 | Valor do tributo |
Segue abaixo exemplo completo de impostos de um item:
{
...
"impostos": {
"codigo_classificacao": "0107",
"icms": {
"origem": 0,
"cst": "00",
"codigo_cfop": "5307",
"modalidade_bc": 3,
"valor_bc": 99.90,
"aliquota": 25.00,
"valor": 24.98
},
"pis": {
"cst": "01",
"valor_bc": 99.90,
"aliquota": 0.65,
"valor": 0.65
},
"cofins": {
"cst": "01",
"valor_bc": 99.90,
"aliquota": 3.00,
"valor": 3.00
},
"fust": {
"valor_bc": 99.90,
"aliquota": 1.0,
"valor": 1.00
},
"funttel": {
"valor_bc": 99.90,
"aliquota": 0.5,
"valor": 0.50
}
},
...
}
As informações de faturamento e cobrança são opcionais e podem ser informadas no objeto fatura
.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
numero | Opcional | string | 1-60 | Número da fatura |
vencimento | Opcional | string | 10 | Data de vencimentoFormato: YYYY-MM-DD |
valor_original | Opcional | decimal | 15v2 | Valor original da fatura |
valor_desconto | Opcional | decimal | 15v2 | Valor do desconto |
valor_liquido | Opcional | decimal | 15v2 | Valor líquido da fatura |
codigo_barras | Opcional | string | 44 | Código de barras para pagamento |
periodos | Opcional | array | - - - | Períodos de apuração da fatura |
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
referencia | Obrigatório | string | 7 | Mês de referênciaFormato: YYYY-MM |
vencimento | Obrigatório | string | 10 | Data de vencimentoFormato: YYYY-MM-DD |
valor | Obrigatório | decimal | 15v2 | Valor do período |
Segue abaixo exemplo de faturamento:
{
...
"fatura": {
"numero": "2024001234",
"vencimento": "2024-08-10",
"valor_original": 99.90,
"valor_desconto": 0.00,
"valor_liquido": 99.90,
"codigo_barras": "00190000090194926000000099900000000000012345678",
"periodos": [
{
"referencia": "2024-07",
"vencimento": "2024-08-10",
"valor": 99.90
}
]
},
...
}
É possível autorizar CPFs ou CNPJs específicos para realizar o download do XML da NFCom diretamente na SEFAZ. Útil para contadores, parceiros comerciais ou sistemas integrados.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
autorizar_download | Opcional | array | Máx. 10 | Array de strings com CPF ou CNPJ autorizadosO sistema identifica automaticamente se é CPF (11 dígitos) ou CNPJ (14 dígitos) |
Exemplo de uso:
{
...
"autorizar_download": [
"12345678901", // CPF
"12345678901234", // CNPJ
"98765432100" // CPF
],
...
}
A NFCom permite informar indicadores específicos do setor de telecomunicações que afetam a tributação e características do serviço.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
indicador_prepago | Opcional | boolean | - - - | Indica se o serviço é pré-pagotrue - Serviço pré-pago |
indicador_cessao_meios | Opcional | boolean | - - - | Indica cessão de meios de redePara compartilhamento de infraestrutura |
indicador_servico_parcial | Opcional | boolean | - - - | Indica serviço parcialmente tributadoQuando parte do serviço é isenta/não tributada |
Exemplo de uso com indicadores:
{
...
"indicador_prepago": true,
"indicador_cessao_meios": false,
"indicador_servico_parcial": false,
...
}
Informações relativas à substituição tributária. Grupo opcional utilizado quando há substituição tributária na operação.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
valor_bc_retido | Obrigatório | decimal | 15v2 | Valor da base de cálculo retida anteriormente |
valor_retido | Obrigatório | decimal | 15v2 | Valor do ICMS retido anteriormente |
codigo_cfop | Opcional | string | 4 | CFOP aplicado na operaçãoEx: 5949 |
Exemplo de uso:
{
...
"substituicao": {
"valor_bc_retido": 150.00,
"valor_retido": 27.00,
"codigo_cfop": "5949"
},
...
}
Informações do cofaturamento. Utilizado quando a cobrança é realizada por outra operadora em regime de cofaturamento.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
cnpj | Obrigatório | string | 14 | CNPJ da operadora que realizará a cobrança |
numero_nfcom | Obrigatório | string | 1-9 | Número da NFCom onde será realizada a cobrança |
Exemplo de uso:
{
...
"cofaturamento": {
"cnpj": "12345678901234",
"numero_nfcom": "123456"
},
...
}
Referência a uma nota fiscal de entrada de produto. Utilizado para relacionar a NFCom com uma nota fiscal de entrada quando aplicável.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
chave_acesso | Obrigatório | string | 44 | Chave de acesso da nota fiscal de entrada |
tipo_nota_entrada | Opcional | integer | 1 | Tipo da nota de entrada1 - NF-e |
Exemplo de uso:
{
...
"nota_entrada": {
"chave_acesso": "35240712345678901234550010000001191234567890",
"tipo_nota_entrada": 1
},
...
}
Na Webmania, a segurança da informação é nossa prioridade máxima. Por esse motivo, aplicamos restrições de acesso aos arquivos XML e PDF para garantir a segurança dos documentos fiscais.
O documento fiscal é criptografado com senha, e só pode ser visualizado após a confirmação do CPF/CNPJ do tomador da nota fiscal ou conforme formas de autenticação através do IP emissor
, Credenciais de acesso
, Token
ou Conectado no painel Webmania®
.
Segue abaixo as condições de acesso disponibilizados, após as restrições serem aplicadas:
Autenticação | Acesso autorizado | Exige senha? | Descrição |
---|---|---|---|
Credenciais de acesso | ✅ | Não | Ao enviar as credenciais de acesso da empresa na HEADER da requisição, podem ser acessados todos os documentos fiscais emitidos pela empresa. Authorization: Bearer TOKEN |
Token | ✅ | Não | Ao enviar o token criptografado na URL, o documento fiscal pode ser acessado pelo período de 24 horas sem o uso de senha. Ideal para disponibilizar link para compartilhamento.?token=[TOKEN] Token não está disponível para documentos fiscais sem tomador. |
IP emissor | ✅ | Não | Ao emitir uma nota fiscal o IP do computador/servidor é registrado como autorizado de forma permanente, onde pode acessar todos os documentos fiscais emitidos pelas empresas às quais possui acesso. IPs autorizados automaticamente |
Painel Webmania® | ✅ | Não | Ao realizar o login no painel Webmania® é permitido o acesso para todos os documentos fiscais emitidos pelas empresas da sua conta. O acesso é vinculado ao período que está conectado no painel Webmania®.Acesso enquanto estiver conectado |
Sem autenticação | ❌ | Sim | Ao acessar a URL de forma pública sem autenticação, os documentos fiscais são criptografados com senha. Para acessá-los é necessário informar o CPF/CNPJ do tomador da nota fiscal (somente números).PDF = Arquivo PDF com senha Acesso sem autenticação não está disponível para documentos fiscais sem tomador. |
Ao enviar as credenciais de acesso da empresa na HEADER da requisição, podem ser acessados todos os documentos fiscais emitidos pela empresa. Segue abaixo exemplo de como visualizar o PDF, utilizando as credenciais de acesso:
curl -X GET \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
https://api.webmaniabr.com/danfecom/00000000-0000-0000-0000-000000000000/
A resposta do corpo da mensagem será no formato application/pdf
ou text/xml
, contendo no corpo da requisição o arquivo.
Para disponibilizar o link do PDF e XML com segurança e eliminar a exigência da senha, é necessário a geração do token de forma criptografada utilizando a camada de segurança AES-256-CBC. Após gerar o token, deve ser enviado na URL do arquivo. Segue abaixo exemplo:
https://api.webmaniabr.com/danfecom/00000000-0000-0000-0000-000000000000/?token=[TOKEN]
Pare gerar o token criptografado, verifique o passo a passo disponibilizado no Github da Webmania juntamente com as funções nas linguagens em PHP, Python, Java, C# e Ruby: https://github.com/webmaniabr/DFeToken.
Para consultar o status de emissão da NFCom, envie a requisição no método GET para URL /2/nfcom/consulta/
contendo na URL da requisição o UUID ou Chave de Acesso da NFCom.
Segue abaixo exemplo da consulta de uma NFCom:
curl -X GET \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
}' \
https://api.webmaniabr.com/2/nfcom/consulta/00000000-0000-0000-0000-000000000000
A resposta do corpo da mensagem será no formato objeto JSON, contendo os campos uuid
, chave
, status
, motivo
, serie
, numero
, xml
, danfecom
, log
:
{
"uuid": "00000000-0000-0000-0000-000000000000", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"status": "aprovado", // aprovado, reprovado, cancelado, processando ou contingencia
"motivo": "Autorizado o uso da NFCom", // Motivo do status
"serie": 1, // Série da NFCom
"numero": 123, // Número da NFCom
"xml": "https://api.webmaniabr.com/xmlnfcom/[chave]",
"xml_cancelamento": "https://api.webmaniabr.com/xmlnfcom/[chave]/cancelamento",
"danfecom": "https://api.webmaniabr.com/danfecom/[chave]",
"log": "{...}" // Log de retorno da Sefaz
}
Para cancelar uma NFCom, envie a requisição no método PUT para URL /2/nfcom/cancelar/
contendo na requisição os parâmetros uuid
ou chave
da NFCom e justificativa
do cancelamento.
Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
---|---|---|---|---|
uuid | chave | Obrigatório | string | 36 | 44 | UUID ou Chave da NFCom |
justificativa | Obrigatório | string | 15-255 | Motivo do cancelamento |
Segue abaixo exemplo de cancelamento da NFCom:
curl -X PUT \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chave": "00000000000000000000000000000000000000000000",
"justificativa": "Cancelado por motivos administrativos."
}' \
https://api.webmaniabr.com/2/nfcom/cancelar/
A resposta do corpo da mensagem será no formato objeto JSON:
{
"uuid": "00000000-0000-0000-0000-000000000000", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"status": "cancelado",
"motivo": "Cancelado por motivos administrativos.", // Motivo do status
"serie": 1, // Série da NFCom
"numero": 123, // Número da NFCom
"xml": "https://api.webmaniabr.com/xmlnfcom/[chave]",
"xml_cancelamento": "https://api.webmaniabr.com/xmlnfcom/[chave]/cancelamento",
"danfecom": "https://api.webmaniabr.com/danfecom/[chave]",
"log": "{...}" // Log de retorno da Sefaz
}
Para verificar o status do serviço da SEFAZ:
curl -X PUT \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
GET /2/nfcom/status
Resposta:
{
"status": "online",
"ambiente": 1,
"tempo_medio": 850,
"data_hora": "2024-07-01 10:00:00",
"mensagem": "Serviço em operação"
}
A NFCom possui um sistema de contingência automático que garante a continuidade das emissões mesmo quando a SEFAZ está indisponível. O sistema é ativado automaticamente quando detecta falhas de comunicação com a SEFAZ.
tpEmis=2
(Contingência por ausência de comunicação)Os seguintes erros de comunicação ativam automaticamente o modo de contingência:
Código | Descrição |
---|---|
109 | Serviço Paralisado Sem Previsão |
508 | Falha no processamento da requisição |
999 | Erro não catalogado |
timeout | Timeout na comunicação |
connection | Erro de conexão com a SEFAZ |
Quando uma NFCom é emitida em contingência, a resposta inclui:
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"status": "contingencia",
"motivo": "NFCom em contingência - será processada automaticamente",
"contingencia": true,
"tipo_emissao": 2,
"danfecom": "https://api.webmaniabr.com/danfecom/550e8400-e29b-41d4-a716-446655440000",
"xml": "https://api.webmaniabr.com/xmlnfcom/550e8400-e29b-41d4-a716-446655440000"
}
A tabela de classificação de produtos utilizada para validar o valor do campo cClass nos itens da NFCom determina diversas validações que são aplicadas na autorização da NFCom, além de determinar a natureza do valor do item na totalização da nota, uma vez que alguns tipos de produtos podem entrar deduzindo do valor total. Códigos que iniciarem pelo dígito 5 devem deduzir do valor total da nota, enquanto os demais códigos, iniciados por zero, serão itens somados no total da nota.
Código | Descrição |
---|---|
0100101 | Assinatura de serviços de telefonia |
0100201 | Assinatura de serviços de comunicação de dados |
0100301 | Assinatura de serviços de TV por Assinatura |
0100401 | Assinatura de serviços de comunicação multimídia |
Código | Descrição |
---|---|
0200101 | Habilitação de serviços de telefonia |
0200201 | Habilitação de serviços de comunicação de dados |
0200301 | Habilitação de TV por Assinatura |
Código | Descrição |
---|---|
0300101 | Serviço Medido - Chamadas locais |
0300102 | Serviço Medido - Chamadas longa distância nacional |
0300103 | Serviço Medido - Chamadas longa distância internacionais |
0300104 | Serviço Medido - Chamadas originadas em Roaming |
0300105 | Serviço Medido - Chamadas recebidas em Roaming |
0300106 | Serviço Medido - Adicional de chamada |
0300107 | Serviço Medido - Números Especiais (0300/0500/0600/0800/etc.) |
0300108 | Serviço Medido - Mensagem SMS |
0300109 | Serviço Medido - Mensagem MMS |
0300201 | Serviço Medido - Comunicação de dados |
0300301 | Serviço Medido - Pay-per-view (programação TV) |
0300401 | Serviço Medido - Comunicação multimidia |
Código | Descrição |
---|---|
0400101 | Serviço Não Medido - Telefonia |
0400201 | Serviço Não Medido - Comunicação de dados |
0400301 | Serviço Não Medido - TV por Assinatura |
0400401 | Serviço Não Medido - Provimento à internet |
0400501 | Serviço Não Medido - Comunicação multimídia |
Código | Descrição |
---|---|
0450101 | Serviços Combinados (dados, voz, mensagens e outros) |
Código | Descrição |
---|---|
0500101 | Cartão Telefônico - Telefonia Fixa |
0500102 | Carga / Recarga de Créditos - Telefonia Fixa |
0500201 | Carga / Recarga de Créditos - Telefonia Móvel |
0500301 | Carga / Recarga de Créditos - Serviço de Comunicação Multimídia |
0500401 | Carga / Recarga de Créditos - TV por assinatura |
0500501 | Recarga de Créditos - Antecipação |
0500601 | Repasse de Pré-pago |
Código | Descrição |
---|---|
0600101 | Facilidades Adicionais (identificador, caixa postal, não-perturbe, etc) |
0600201 | Streaming de vídeo e audio |
0600301 | Serviço de Rastreamento |
0600401 | Veiculação de publicidade e propaganda em qualquer meio |
0600501 | Outros Serviços (substituição de número, troca de aparelho, instalação, software, visita técnica, etc.) |
0600601 | Outros serviços de valor adicionado |
Código | Descrição |
---|---|
0700101 | Interconexão |
0700201 | Roaming |
0700301 | Exploração Industrial de Linha Dedicada - EILD |
0700401 | Lançamento de ICMS proporcional às saídas isentas, não tributadas ou com redução de base de cálculo (§ 1º, Cláusula terceira, Convênio ICMS 17/2013) |
0700501 | Lançamento de ICMS proporcional às cessões de meio destinadas a consumo próprio (§ 1º Cláusula terceira, Convênio ICMS 17/2013) |
0700601 | Lançamento de ICMS complementar, na condição de responsável tributário |
Código | Descrição |
---|---|
0800101 | Aparelho telefônico |
0800201 | Aparelho Identificador de chamadas |
0800301 | Modem |
0800401 | Rack |
0800501 | Sala/Recinto |
0800601 | Roteador |
0800701 | Servidor |
0800801 | Multiplexador |
0800901 | Decodificador/Conversor |
0801001 | Outros equipamentos |
Código | Descrição |
---|---|
1000101 | Cobrança de seguros |
1000201 | Cobrança de parcelamento |
1000301 | Cobrança de juros de mora |
1000401 | Cobrança de multa de mora |
1000402 | Cobrança de multa por descumprimento de contrato (fidelização) |
1000501 | Cobrança de conta de meses anteriores |
1000601 | Correção monetária |
1000701 | Taxas |
Código | Descrição |
---|---|
5900101 | Dedução relativa a impugnação de serviços |
5900201 | Dedução referente ajuste de conta |
5900301 | Dedução relativa à multa pela interrupção de fornecimento |
5900401 | Dedução por pagamento em duplicidade |
5900501 | Outras deduções |
Código | Descrição |
---|---|
1200101 | Item lançado em outra NFCom - Cobrança centralizada |
Código | Descrição |
---|---|
1300101 | Item lançado em outra NFCom - Cobrança por cofaturamento |
O servidores da Webmania estão localizados na Amazon AWS, líder global em cloud computing, na região us-east-1 (Leste dos EUA) com ponto de presença em sa-east-1 (São Paulo). Manter a sua estrutura perto de algumas das duas localidades, garante um menor tempo de resposta nas requisições na API.
Utilizamos uma infraestrutura na Amazon AWS anycast de alta disponibilidade, o que significa que ao se comunicar com API da Webmania a requisição será redirecionada para o servidor mais próximo da sua localidade. As requisições dos endpoints são gerenciados através de IPs estáticos, caso necessite autorize no firewall a comunicação com os IPs abaixo.
IPs estáticos de entrada:O retorno via POST na url_notificacao
é enviado diretamente dos servidores da Webmania, através dos IPs estáticos de saída. Com a verificação do IP, é possível garantir que o retorno para sua aplicação está sendo realizada através de nossos servidores.
Todos os arquivos são armazenados na Amazon S3 que garante 99,999999999% de durabilidade dos arquivos e criptografia de ponta a ponta, seguindo critérios rígidos de segurança e controle interno.
API da Webmania® é protegida por um firewall que identifica de forma automática os acessos indevidos, suspeitos, credenciais incorretas e a localização da requisição, onde também pode limitar solicitações por segundo e o total de requisições para evitar o mal uso da API e a sobrecarga dos servidores. O uso indevido da API pode gerar mensagens de erro 503 ou 403 no retorno do cabeçalho da requisição. Segue abaixo especificações para uma correta integração:
https://webmaniabr.com/api/
ou https://api.webmaniabr.com
retorne 403 Erro Forbidden por engano, por favor, entre em contato para liberarmos o IP do seu servidor.