TF Fiscal
Documentación

Empresas

Vincular certificado digital

Envía el certificado digital A1 (.pfx / .p12) y la contraseña de la empresa; acepta JSON + Base64 o multipart.

POST/openapi/v1/empresas/{empresaId}/certificadoDigital
Requiere las cabeceras de firma token, timestamp y sign, vea Autenticación.

La misma ruta acepta dos formas de solicitud, seleccionadas por Content-Type: use JSON + Base64 (esta página) cuando solo tenga los bytes del certificado; use multipart (sección más abajo) cuando tenga el certificado como archivo. La validación y el resultado son idénticos en ambas formas. Un envío exitoso reemplaza el certificado anterior de la empresa.

Cabeceras

Content-Type*
stringTipo del cuerpo

* Campo obligatorio

Parámetros de ruta

empresaId*
stringIdentificador de la empresa

* Campo obligatorio

Cuerpo de la petición

senha*
stringContraseña del certificado
arquivoBase64*
stringCertificado en Base64

* Campo obligatorio

200
Certificado validado y vinculado; sin cuerpo de respuesta. Se reemplaza el certificado anterior de la empresa.

Sin cuerpo de respuesta

En la forma JSON el cuerpo forma parte de la firma: cuerpo bruto con CR/LF eliminados, como en todo endpoint JSON. Genere Base64 estándar sin saltos de línea.

bash
APP_SECRET="sk_live_9f8e7d6c5b4a"
P="/openapi/v1/empresas/1934811222334455/certificadoDigital"
TS=$(date +%s)
BODY=$(printf '{"senha":"certpass123","arquivoBase64":"%s"}' "$(base64 -w0 uploaded-cert.pfx)")
SIGN=$(printf '%s' "${APP_SECRET}${P}${BODY}${TS}" | md5sum | cut -d' ' -f1)
curl -X POST "https://api.v2.tffiscal.com${P}" \
-H "token: ${APP_SECRET}" -H "timestamp: ${TS}" -H "sign: ${SIGN}" \
-H "Content-Type: application/json" --data-binary "${BODY}"