Empresas
Enviar o certificado digital A1
PUT https://apifiscal.weesy.com.br/v1/empresas/{cnpj}/certificado
Abrir na referência interativaEnvie o arquivo do certificado digital A1 (.pfx ou .p12) e a senha dele. O certificado é necessário para emitir em produção. Recusamos certificado vencido ou de outro CNPJ, e a senha nunca é devolvida.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
| cnpj obrigatório | caminho | string | CNPJ da empresa, só números. |
Exemplo de chamada
cURL
curl --request PUT \
--url "https://apifiscal.weesy.com.br/v1/empresas/21664333000195/certificado" \
--header "Authorization: Bearer $WEESY_TOKEN" \
--form "arquivo=@certificado.pfx" \
--form-string "senha=<senha>"Node.js
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("arquivo", new Blob([await readFile("certificado.pfx")]), "certificado.pfx");
form.append("senha", "<senha>");
const resposta = await fetch("https://apifiscal.weesy.com.br/v1/empresas/21664333000195/certificado", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
},
body: form,
});
console.log(resposta.status, await resposta.text());Python
import os
import requests
with open("certificado.pfx", "rb") as arquivo:
resposta = requests.put(
"https://apifiscal.weesy.com.br/v1/empresas/21664333000195/certificado",
headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
files={"arquivo": arquivo},
data={"senha": "<senha>"},
timeout=30,
)
print(resposta.status_code, resposta.text)C#
using System.Net.Http.Headers;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("WEESY_TOKEN"));
using var form = new MultipartFormDataContent();
form.Add(new ByteArrayContent(await File.ReadAllBytesAsync("certificado.pfx")), "arquivo", "certificado.pfx");
form.Add(new StringContent("<senha>"), "senha");
using var resposta = await http.PutAsync(
"https://apifiscal.weesy.com.br/v1/empresas/21664333000195/certificado",
form);
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");Respostas
- 200: Certificado gravado.
- 400: Dados inválidos — inclusive certificado de outro CNPJ. (formato de erro)
- 401: Token ausente, errado ou revogado (credencialinvalida). Confira o cabeçalho Authorization. (formato de erro)
- 404: Não encontrado. Pode ser que não exista ou que pertença a outra empresa — por segurança, os dois casos respondem igual. (formato de erro)
- 409: certificadovencido. (formato de erro)
Campos da resposta 200
| Campo | Tipo | Descrição | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| situacao obrigatório | string | Situação do certificado digital A1 da empresa.
| ||||||||
| validoAte | string (date) ou null | Data de vencimento do certificado digital. | ||||||||
| cnpj | string | CNPJ identificado no certificado digital. |