Skip to main content
POST
/
api
/
v1
/
partners
/
{partnerId}
/
vouchers
/
cnpj
cURL
curl -X POST 'https://certificados.zapsign.com.br/api/v1/partners/PRT_ABC123/vouchers/cnpj' \
  -H 'Authorization: Bearer czk_live_SUA_CHAVE' \
  -H 'Content-Type: application/json' \
  -d '{
    "certificate_type": "ecnpj_a1",
    "company_cnpj": "11222333000181",
    "company_name": "Padaria do Bairro LTDA",
    "responsible_name": "João Carlos de Souza",
    "responsible_cpf": "39053344705",
    "responsible_email": "joao.souza@padariadobairro.com.br",
    "responsible_phone": "+5511987654321",
    "responsible_birthdate": "1978-11-04",
    "reference_id": "EMPRESA_45678"
  }'
const res = await fetch(
'https://certificados.zapsign.com.br/api/v1/partners/PRT_ABC123/vouchers/cnpj',
{
method: 'POST',
headers: {
Authorization: 'Bearer czk_live_SUA_CHAVE',
'Content-Type': 'application/json',
},
body: JSON.stringify({
certificate_type: 'ecnpj_a1',
company_cnpj: '11222333000181',
company_name: 'Padaria do Bairro LTDA',
responsible_name: 'João Carlos de Souza',
responsible_cpf: '39053344705',
responsible_email: 'joao.souza@padariadobairro.com.br',
responsible_phone: '+5511987654321',
responsible_birthdate: '1978-11-04',
reference_id: 'EMPRESA_45678',
}),
},
);
const voucher = await res.json();
import requests

res = requests.post(
'https://certificados.zapsign.com.br/api/v1/partners/PRT_ABC123/vouchers/cnpj',
headers={
'Authorization': 'Bearer czk_live_SUA_CHAVE',
'Content-Type': 'application/json',
},
json={
'certificate_type': 'ecnpj_a1',
'company_cnpj': '11222333000181',
'company_name': 'Padaria do Bairro LTDA',
'responsible_name': 'João Carlos de Souza',
'responsible_cpf': '39053344705',
'responsible_email': 'joao.souza@padariadobairro.com.br',
'responsible_phone': '+5511987654321',
'responsible_birthdate': '1978-11-04',
'reference_id': 'EMPRESA_45678',
},
)
voucher = res.json()
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://certificados.zapsign.com.br/api/v1/partners/{partnerId}/vouchers/cnpj",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'certificate_type' => 'ecnpj_a1',
'company_cnpj' => '11222333000181',
'company_name' => 'Padaria do Bairro LTDA',
'responsible_name' => 'João Carlos de Souza',
'responsible_cpf' => '39053344705',
'responsible_email' => 'joao.souza@padariadobairro.com.br',
'responsible_phone' => '+5511987654321',
'responsible_birthdate' => '1978-11-04',
'reference_id' => 'EMPRESA_45678'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://certificados.zapsign.com.br/api/v1/partners/{partnerId}/vouchers/cnpj"

payload := strings.NewReader("{\n \"certificate_type\": \"ecnpj_a1\",\n \"company_cnpj\": \"11222333000181\",\n \"company_name\": \"Padaria do Bairro LTDA\",\n \"responsible_name\": \"João Carlos de Souza\",\n \"responsible_cpf\": \"39053344705\",\n \"responsible_email\": \"joao.souza@padariadobairro.com.br\",\n \"responsible_phone\": \"+5511987654321\",\n \"responsible_birthdate\": \"1978-11-04\",\n \"reference_id\": \"EMPRESA_45678\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://certificados.zapsign.com.br/api/v1/partners/{partnerId}/vouchers/cnpj")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"certificate_type\": \"ecnpj_a1\",\n \"company_cnpj\": \"11222333000181\",\n \"company_name\": \"Padaria do Bairro LTDA\",\n \"responsible_name\": \"João Carlos de Souza\",\n \"responsible_cpf\": \"39053344705\",\n \"responsible_email\": \"joao.souza@padariadobairro.com.br\",\n \"responsible_phone\": \"+5511987654321\",\n \"responsible_birthdate\": \"1978-11-04\",\n \"reference_id\": \"EMPRESA_45678\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://certificados.zapsign.com.br/api/v1/partners/{partnerId}/vouchers/cnpj")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"certificate_type\": \"ecnpj_a1\",\n \"company_cnpj\": \"11222333000181\",\n \"company_name\": \"Padaria do Bairro LTDA\",\n \"responsible_name\": \"João Carlos de Souza\",\n \"responsible_cpf\": \"39053344705\",\n \"responsible_email\": \"joao.souza@padariadobairro.com.br\",\n \"responsible_phone\": \"+5511987654321\",\n \"responsible_birthdate\": \"1978-11-04\",\n \"reference_id\": \"EMPRESA_45678\"\n}"

response = http.request(request)
puts response.read_body
{
  "voucher_id": "ZS_ECNPJ_A1_01KRME1Q2EBE9XNHV3G8JP6RF4",
  "whatsapp_number": "5511936203902",
  "whatsapp_link": "https://wa.me/5511936203902?text=Ol%C3%A1%21%20Quero%20emitir%20meu%20certificado%20digital.%0A%0AMeu%20voucher%20%C3%A9%3A%20%2AZS_ECNPJ_A1_01KRME1Q2EBE9XNHV3G8JP6RF4%2A"
}

Authorizations

Authorization
string
header
required

Token Bearer com prefixo czk_live_. Gere a chave no portal em https://certificados.zapsign.com.br/reseller/api-keys.

Path Parameters

partnerId
string
required

Identificador público do parceiro (Partner ID), exibido no portal.

Required string length: 1 - 64

Body

application/json

Corpo do pedido de e-CNPJ. Bloco company_* (empresa) e bloco responsible_* (signatário) são obrigatórios.

Body de criação de voucher e-CNPJ. Schema fechado (sem oneOf); campos extras são rejeitados com unknown_field.

certificate_type
enum<string>
required

Tipo de e-CNPJ: ecnpj_a1 (arquivo .pfx no computador) ou ecnpj_a3_nuvem (qualquer dispositivo; cada uso exige autorização no app de celular do responsável legal).

Available options:
ecnpj_a1,
ecnpj_a3_nuvem
Example:

"ecnpj_a1"

company_cnpj
string
required

CNPJ da empresa titular do certificado. Apenas dígitos (11222333000181); o servidor valida o DV.

Required string length: 14
Example:

"11222333000181"

company_name
string
required

Razão social da empresa, exatamente como consta no cartão CNPJ.

Required string length: 1 - 200
Example:

"Padaria do Bairro LTDA"

responsible_name
string
required

Nome completo do responsável legal que vai assinar e usar o certificado em nome da empresa.

Required string length: 1 - 200
Example:

"João Carlos de Souza"

responsible_cpf
string
required

CPF do responsável legal da empresa. Apenas dígitos (39053344705); o servidor valida o DV.

Required string length: 11
Example:

"39053344705"

responsible_email
string<email>
required

Email do responsável para envio do voucher e instruções de emissão.

Maximum string length: 254
Example:

"joao.souza@padariadobairro.com.br"

responsible_phone
string
required

Celular do responsável brasileiro em formato E.164: prefixo +55 + DDD + número (ex.: +5511987654321). Não se aceita máscara, espaços nem separadores.

Required string length: 13 - 14
Example:

"+5511987654321"

responsible_birthdate
string<date>
required

Data de nascimento do responsável no formato AAAA-MM-DD. Exige idade mínima de 18 anos.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"1978-11-04"

reference_id
string

Chave de idempotência do parceiro: o mesmo reference_id retorna o voucher original com HTTP 200 e não desconta saldo novamente; omita ou envie null para criar outro voucher.

Required string length: 1 - 64
Pattern: ^[A-Za-z0-9_-]{1,64}$
Example:

"PEDIDO_12345"

Response

Voucher e-CNPJ criado.

voucher_id
string
required

Identificador único do voucher recém-criado (ou do voucher já existente, no caso de replay idempotente). Use no link de resgate, em buscas e em GET /vouchers/{voucher_id}.

Example:

"ZS_ECPF_A1_01KRME1Q2EBE9XNHV3G8JP6RF3"

whatsapp_number
string | null
required

Número de WhatsApp do suporte para o titular acionar a emissão. Encaminhe ao cliente final junto com o voucher_id. Use UX-only.

Example:

"5511936203902"

Link https://wa.me/... pré-preenchido com o voucher_id na mensagem. Compartilhe com o cliente final como atalho pra abrir a conversa de emissão.

Example:

"https://wa.me/5511936203902?text=Ol%C3%A1%21%20Quero%20emitir%20meu%20certificado%20digital.%0A%0AMeu%20voucher%20%C3%A9%3A%20%2AZS_ECPF_A1_01KRME1Q2EBE9XNHV3G8JP6RF3%2A"