TF Fiscal

APIs principales

NFS-e

6 endpoints

La API de NFS-e permite emitir, cancelar y consultar Facturas Electronicas de Servicio. El sistema detecta automaticamente el municipio de la empresa y enruta a la API correcta:

  • Sao Paulo (SP) - Emision via Nota Fiscal Paulistana (SOAP)
  • Otros municipios - Emision via API Nacional (ADN/SEFIN)

El integrador no necesita preocuparse por cual API usar - solo envie los datos y el sistema enruta automaticamente por el codigo IBGE del municipio registrado en la empresa.

EndpointMetodoDescripcion
/api/nfse/createPOSTEmitir NFS-e
/api/nfse/cancelPOSTCancelar NFS-e
/api/nfse/get_danfsePOSTObtener DANFSE (PDF)
/api/nfse/get_xmlPOSTDescargar XML
POST/api/nfs/company/create

Registrar empresa NFS-e

Registra (o actualiza) una empresa para emisión de NFS-e. Si el CNPJ ya existe para el usuario, solo los campos NFS-e y el certificado se actualizan; de lo contrario, se crea una nueva empresa y se devuelve un token dedicado. Atención al path: /api/nfs/... (sin la "e"), distinto de los demás endpoints NFS-e.

Headers obligatorios

HeaderTipoDescripción
tokenstringToken B2B del integrador
signstringFirma MD5
timestampstringUnix timestamp en segundos

Body

CampoTipoDescripción
cnpj *stringCNPJ de la empresa (solo dígitos)
name *stringRazón social
cep *stringCódigo postal (solo dígitos)
address *stringDirección
house_number *stringNúmero del domicilio
town *stringBarrio
city *stringCiudad
state *stringUF (2 dígitos, ej.: "SP")
cert_content *stringContenido del archivo del certificado A1 (.pfx/.p12) en Base64
cert_filestringObsoleto — rechazado a partir del 2026-09-01. URL HTTPS del certificado
cert_pwd *stringContraseña del certificado digital
im *stringInscripción Municipal
codigo_municipio_nfse *stringCódigo IBGE del municipio emisor
codigo_servico_nfse *stringCódigo de servicio por defecto (LC 116)
aliasstringNombre comercial
iestringInscripción estatal
invoice_typestringRégimen tributario
unitstringUnidad / sucursal
emailstringE-mail de contacto
telefonestringTeléfono
complementostringComplemento del domicilio
cnae_nfsestringCNAE de la actividad por defecto
serie_nfseintSerie inicial de la NFS-e
number_nfseintNúmero inicial de la NFS-e
regime_especial_tributacaointCódigo del régimen especial de tributación
optante_simples_nacionalboolOptante por Simples Nacional

* Campo obligatorio.

Nota: El token devuelto debe usarse en las demás llamadas NFS-e (/api/nfse/create, /cancel, /get_danfse, /get_xml). Si la empresa ya existe, el mensaje será "Empresa atualizada para NFS-e" y el token devuelto es el existente.

POST/api/nfse/create

Emitir NFS-e

Headers obligatorios

HeaderTipoDescripcion
tokenstringToken de la empresa
signstringFirma MD5: MD5(token + path + body + timestamp)
timestampstringUnix timestamp en segundos (ventana de 5 minutos)

Campos Principales

CampoTipoDescripcion
ambientestring"1" = Produccion, "2" = Homologacion
idstringID de referencia externa (opcional)
descricao_servicostringDescripcion del servicio prestado (obligatorio)
valor_servicodecimalValor total del servicio en R$ (obligatorio)
aliquota_issdecimalAlicuota ISS en % (ej: 2.90)
iss_retidobooleanfalse = No retenido, true = Retenido por el tomador
valor_issdecimalOverride del valor del ISS. Si mayor que 0, sustituye el calculo automatico (base_calculo x aliquota_iss div 100). Default: calculado automaticamente
codigo_servicostringCodigo del servicio. Si vacio, usa el predeterminado de la empresa
cnaestringCNAE. Si vacio, usa el predeterminado de la empresa
tomadorobjectDatos del tomador del servicio (obligatorio)

Tomador - Campos

CampoTipoDescripcion
cnpjstringCNPJ del tomador (solo numeros)
cpfstringCPF del tomador (usar cnpj O cpf)
namestringNombre/Razon Social (obligatorio)
emailstringEmail del tomador
telefonestringTelefono
cepstringCodigo postal (obligatorio)
enderecostringDireccion (obligatorio)
numerostringNumero (obligatorio)
complementostringComplemento
bairrostringBarrio (obligatorio)
citystringCiudad
ufstringEstado (2 digitos)
codigo_municipiostringCodigo IBGE del municipio
POST/api/nfse/cancel

Cancelar NFS-e

Headers obligatorios

HeaderTipoDescripcion
tokenstringToken de la empresa
signstringFirma MD5
timestampstringUnix timestamp en segundos

Campos

CampoTipoDescripcion
chavestringCodigo de verificacion de la NFS-e (obligatorio)
motivostringMotivo de la cancelación (obligatorio; en el estándar Nacional debe tener de 15 a 255 caracteres)
c_motivostringCódigo de justificación de la cancelación (opcional, estándar Nacional): "1" = Error en la emisión (predeterminado), "2" = Servicio no prestado, "9" = Otros
POST/api/nfse/get_danfse

Obtener PDF de la NFS-e

Headers obligatorios

HeaderTipoDescripcion
tokenstringToken de la empresa
signstringFirma MD5
timestampstringUnix timestamp en segundos

Campos

CampoTipoDescripcion
chavestringCodigo de verificacion de la NFS-e (obligatorio)

Nota: Para Paulistana (SP), retorna la URL directa del PDF de la prefectura. Para API Nacional, retorna el PDF en base64.

POST/api/nfse/get_xml

Descargar XML de NFS-e

Headers obligatorios

HeaderTipoDescripcion
tokenstringToken de la empresa
signstringFirma MD5
timestampstringUnix timestamp en segundos

Campos

CampoTipoDescripcion
chavestringCodigo de verificacion de la NFS-e (obligatorio)

dpsXml: Enlace (URL en OSS) al XML enviado a la prefectura/ADN. nfseXml: Enlace al XML de retorno con el resultado de la emision. Los XML se suben al OSS en la primera consulta y la URL queda en cache.

GET/api/nfse/get_list

Listar NFS-e (paginado)

Lista las NFS-e de la empresa con paginación. Los parámetros se pasan por query string (no en el body). El filtro de tiempo es opcional, pero si se envía requiere tanto start_create_time como end_create_time.

Headers obligatorios

HeaderTipoDescripción
tokenstringToken de la empresa emisora
signstringFirma MD5 (path incluye la query string)
timestampstringUnix timestamp en segundos

Query string

ParámetroTipoDescripción
page *intNúmero de página (≥ 1)
page_size *intTamaño de página (1–50)
start_create_timelongUnix timestamp en milisegundos — inicio (requiere end_create_time)
end_create_timelongUnix timestamp en milisegundos — fin
statusstringFiltrar por estado. Valores: "autorizada", "cancelada", "pendente", "rejeitada"

* Campo obligatorio.