TF Fiscal
Documentação

Empresas

Vincular certificado digital

Envia o certificado digital A1 (.pfx / .p12) e a senha da empresa; aceita JSON + Base64 ou multipart.

POST/openapi/v1/empresas/{empresaId}/certificadoDigital
Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

O mesmo caminho aceita duas formas de requisição, selecionadas pelo Content-Type: use JSON + Base64 (esta página) quando você só tem os bytes do certificado; use multipart (seção abaixo) quando tem o certificado como arquivo. Validação e resultado são idênticos nas duas formas. Um envio bem-sucedido substitui o certificado anterior da empresa.

Cabeçalhos

Content-Type*
stringTipo do corpo

* Campo obrigatório

Parâmetros de caminho

empresaId*
stringIdentificador da empresa

* Campo obrigatório

Corpo da requisição

senha*
stringSenha do certificado
arquivoBase64*
stringCertificado em Base64

* Campo obrigatório

200
Certificado validado e vinculado; sem corpo de resposta. O certificado anterior da empresa é substituído.

Sem corpo de resposta

Na forma JSON o corpo participa da assinatura: corpo bruto com CR/LF removidos, como em todo endpoint JSON. Gere Base64 padrão sem quebras de linha.

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}"