TransmiteNota Documentação API

Função EnviarNfse ( )

POST/EnviarNfse/
Os parametros necessários para enviar a nota fiscal segue na tabela abaixo. Cada envio feito pela função "EnviarNfse" gera uma nova RPS (Recibo Provisório de Serviço) seguindo a sequencia numérica definida na Função AdicionarEmpresa. 

Para garantir que os acentos apareçam corretamente, insira as linhas:

header('Content-Type: text/html; charset=UTF-8');
mb_internal_encoding("UTF-8");

No início do arquivo .php que envia o JSON.

Campo Tipo Obrigatóriedade Descrição
natureza_operacao Numérico SIM Opções abaixo.
0 - Não Informado
1 - Tributação no Município
2 - Tributação fora do Município
3 - Isenção
4 - Imune
5 - Exigibilidade Suspensa por Decisão Judicial
6 - Exigibilidade Suspensa por Procedimento Administrativo
tipo_servico Texto SIM Código do tipo de serviço cadastrado na prefeitura pelo emissor. Ex: Código 01.05.03, coloque 010503.
tipo_rps Numérico SIM 1 - Recibo Provisório de Serviços (Padrão)
2 - RPS Nota Fiscal Conjugada (Mista)
3 - Cupom
numero_rps Numérico NÃO Número da RPS a ser gerada, caso envie vazio o sistema irá atribuir automaticamente
data_emissao Texto SIM Data da emissão da nota fiscal de serviço eletrônica. DD/MM/AAAA
data_competencia Texto NÃO Data da competencia da nota fiscal de serviço eletrônica. DD/MM/AAAA
razao_social_tomador Texto SIM Razão Social do destinatário de serviço
email_tomador Texto NÃO Email do Tomador
cnpj_tomador Texto SIM/NÃO Deve ser igual 14 (CNPJ) Caracteres ou 11 (CPF) Caracteres
Verificar com a prefeitura. Algumas deve-se mandar 11 (onze) 0 zeros para cliente não identificado. Não é possível não identificar Pessoa Jurídica (envio de 14 Zeros)
tipo_tomador Numérico NÃO 1 – PFNI (Somente com Autorização da Prefeitura)
2 – Pessoa Física
3 – Jurídica do Município
4 – Jurídica de Fora
5 – Jurídica de Fora do País.

Campo Obrigatório para Prefeituras que utilizam o Modelo DST
inscricao_municipal_tomador Numérico SIM/NÃO Inscrição Municipal do destinatário de serviço. Caso o Tomador possua Inscrição Municipal no mesmo município do Prestador, este campo torna-se obrigatório

codigo_cidade

Numérico

NÃO

Informar o Código IBGE do Município.

* Usado quando a API não identifica o nome da cidade

telefone_tomador Numérico SIM Mínimo 10 Caracteres (DDD + Telefone Fixo ou Celular sem nono dígito)
Máximo 11 Caracteres (DDD + Telefone Celular com nono dígito)
endereco_tomador Texto SIM Endereço do destinatário de serviço
numero_tomador Numérico NÃO Número do Endereço do destinatário de serviço
complemento_tomador Texto NÃO Complemento do Endereço do destinatário de serviço
bairro_tomador Texto SIM Bairro do Endereço do destinatário de serviço
municipio_tomador Texto SIM Município do destinatário de serviço
uf_tomador Texto SIM Exatos 2 Caracteres
pais_tomador Texto SIM País do Tomador
cep_tomador Numérico SIM Cep do tomador, exatos 8 caracteres
municipio_incidencia Numérico NÃO Informar o Código IBGE do Município
numero_processo Texto NÃO Numero do Processo de suspensão do ISS
exigibilidade_iss Texto NÃO Opções
1 - Exigível;
2 - Não incidência;
3 - Isenção;
4 - Exportação;
5 - Imunidade;
6 - Exigibilidade Suspensa por
Decisão Judicial;
7 - Exigibilidade Suspensa por
Processo Administrativo
responsavel_retencao Texto NÃO Identificação do responsável pela retenção do ISS
1 - Tomador
2 - Intermediário
token Texto NÃO Para municípios que solicitam token para autenticação no sistema deve ser utilizando neste campo. Para gerar esse token entre em contato com a sua prefeitura.

usuario

texto

NÃO

usuario para emitir nota fiscal na prefeitura

senha

texto

NÃO

senha para emitir nota fiscal na prefeitura

IMPOSTOS
valor_deducoes Decimal NÃO Valor das deduções da NFSE
valor_pis Decimal NÃO Valor do PIS
valor_csll Decimal NÃO Valor do CSLL
valor_ir Decimal NÃO Valor do IRRF
valor_inss Decimal NÃO Valor do INSS
valor_cofins Decimal NÃO Valor do CONFINS
desconto_incondicionado Decimal NÃO Valor do desconto Incondicionado
desconto_condicionado Decima NÃO Valor do desconto condicionado
valor_aliquota Decimal SIM Percentual que será aplicado para o cálculo do valor de serviço. Este valor varia conforme o tomador (prestador de serviço)
iss_retido Numérico SIM Opções
1 = Sim
2 = Não
valor_total_iss Decimal SIM/NÃO Torna-se obrigatório quando iss_retido = 1
valor_iss_retido Decimal SIM/NÃO Torna-se obrigatório quando iss_retido = 1
valor_outras_retencoes Decimal NÃO Referente a soma do campo
valor_base_calculo Decimal SIM O Valor Liquido da diferença entre valor_total_servico com valor_deducoes e desconto_incondicionado
valor_liquido Decimal SIM Valor Liquido dos serviços
observacoes Texto NÃO Observações referente a Nota Fiscal Eletrônica. Máximo 2000 caracteres
valor_total_nfse Decimal SIM O valor é bruto
A diferença entre valor_total_servicos com os seguintes tributos:
* valor_pis
* valor_confins
* desconto_incondicionado
* desconto_condicionado
* valor_total_iss
* valor_outras_retencoes
valor_total_servicos Decimal SIM Valor Bruto de todos os serviços descritos na Nota Fiscal de Serviço Eletrônica.
matricula_cei Numérico NAO Caso a empresa for do ramo da construção civíl, esse é o código da matrícula CEI da obra

Dados dos Itens

Itens -> codigo_servico Texto SIM Código do Serviço cadastrado na prefeitura
Itens -> descricao_servico Texto SIM Descrição do Serviço
Itens -> valor_servico Decimal SIM Valor do Serviço

										

Exemplo de JSon

{
   "ApiKey":"xxxxxhashkeyxxxxxx",
   "Cnpj":"00.000.000/000-00",
   "Dados":{ 
      "natureza_operacao":"1",
      "tipo_servico":"01.08",
      "tipo_rps":2,
      "data_emissao":"25/06/2018",
      "razao_social_tomador":"CLIENTE TESTE",
      "email_tomador":"tomador@gmail.com",
      "cnpj_tomador":"00.000.0001/000-00",
      "inscricao_municipal_tomador":123456789,
      "telefone_tomador":1234234234,
      "endereco_tomador":"Rua Adalberto Silvas",
      "numero_tomador":200,
      "bairro_tomador":"Niterói",
      "municipio_tomador":"Canoas",
      "uf_tomador":"SP",
      "pais_tomador":"BRASIL",
      "cep_tomador":91120450,
      "valor_aliquota":"5",
      "iss_retido":2,
      "valor_base_calculo":"5.1",
      "valor_liquido":"5.1",
      "valor_total_nfse":"1200",
      "valor_total_servicos":"1200",
      "Itens":[
         [
            {
               "codigo_servico":"08800",
               "descricao_servico":"SERVIÇO TESTE",
               "valor_servico":"1200.00"
            }
         ]
      ]
   }
}

Retornos e Erros

Todos os códigos de erros com os três primeiros dígitos sendo 500 são associados a função: EnviarNfse

Código Campo Mensagem de retorno
5001 natureza_operacao É preciso informar a Natureza da Operação(verifique as opções no manual)
5002 tipo_servico É preciso informar o Tipo de serviço(verifique as opções no manual)
5003 tipo_rps É preciso informar o Tipo de RPS(verifique as opções no manual)
5004 data_emissao É preciso informar uma Data de Emissão válida
5005 razao_social_tomador - É preciso informar a Razão Social do Tomador

- Limite máximo de 60 caracteres
5006 cnpj_tomador É preciso informar um número de CNPJ/CPF do Tomador que seja válido
5007 telefone_tomador É preciso informar o telefone do Tomador
5008 endereco_tomador É preciso informar o endereço do Tomador
5009 bairro_tomador É preciso informar o bairro do Tomador
50010 municipio_tomador É preciso informar o município do Tomador
50011 uf_tomador É preciso informar o estado do Tomador
50012 valor_total_nfse É preciso informar o Valor Total da NFSe
50013 valor_total_servicos É preciso informar o Valor Total dos serviços
Serviços
50014 codigo_servico É preciso informar o código do serviço
50015 descricao_servico É preciso informar o nome do serviço
50016 valor_servico É preciso informar o valor do serviço
50017 Retorno com erro
50018 Retorno com sucesso

Retornos de JSON

Retorno com erro de parametros
{
    "Status": "Erro",
    "codigo": "codigo_erro",
    "campo": "campo_com_erro",
    "descricao": "descricao_erro"
}

Retorno com erro
{
    "status": "Erro",
    "codigo": "50017",
    "descricao": "descricao_erro"
}

Retorno com sucesso
{
    "status": "OK",
    "codigo": "50018",
    "descricao": "A nota foi enviada com sucesso!",
    "searchkey": "searchkey_gerado"
}