4.4. Assinantes do Emitente
Os assinantes representam os representantes legais e sócios da empresa emitente. Eles são responsáveis por assinar eletronicamente os documentos da Nota Comercial.
Listar Assinantes
🔗 Endpoint
| Método | URL |
 | /public/v1/emitentes/{id}/assinantes |
🔹 Path Parameter
| Parâmetro | Tipo | Descrição |
| id | integer | Identificador único do emitente |
🧪 Exemplo de cURL
curl -X GET https://api.vehub.com.br/public/v1/emitentes/42/assinantes \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}"
📥 Response — 200 OK
{
"registros": [
{
"id": 10,
"nome": "João da Silva",
"documento": "12345678901",
"email": "joao.silva@empresaemissora.com.br",
"telefone": "11988880000",
"tipoAssinatura": 1
}
],
"paginacao": {
"paginaAtual": 1,
"paginaTotal": 1,
"paginaQuantidadeRegistro": 10,
"quantidadeRegistros": 1,
"temProximaPagina": false,
"temPaginaAnterior": false
}
}
Detalhamento dos Campos — registros[]
| Campo | Tipo | Descrição |
| id | integer | Identificador único do assinante |
| nome | string | Nome completo |
| documento | string | CPF (somente números) |
| email | string | E-mail para envio de link de assinatura |
| telefone | string | Telefone (somente números) |
| tipoAssinatura | integer | Tipo de assinatura (ver Enumerações) |
Adicionar Assinante
🔗 Endpoint
| Método | URL |
 | /public/v1/emitentes/{id}/assinantes |
🧾 Descrição
Adiciona um assinante ao emitente. O envio é realizado como multipart/form-data pois inclui o arquivo de documento de identificação.
| Campo | Tipo | Obrigatório | Descrição |
| nome | string | Sim | Nome completo do assinante |
| documento | string | Sim | CPF (somente números, 11 dígitos) |
| email | string | Sim | E-mail para envio de assinatura |
| telefone | string | Sim | Telefone (somente números) |
| tipoAssinatura | integer | Sim | Tipo de assinatura (ver Enumerações) |
| arquivo | file | Sim | Documento de identificação (PDF, JPG ou PNG, máx. 10 MB) |
🧪 Exemplo de cURL
curl -X POST https://api.vehub.com.br/public/v1/emitentes/42/assinantes \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-F "nome=João da Silva" \
-F "documento=12345678901" \
-F "email=joao.silva@empresaemissora.com.br" \
-F "telefone=11988880000" \
-F "tipoAssinatura=1" \
-F "arquivo=@/caminho/para/documento.pdf"
📥 Response — 201 Created
{
"mensagem": "Assinante adicionado com sucesso.",
"id": 10
}
Atualizar Assinante
🔗 Endpoint
| Método | URL |
 | /public/v1/emitentes/{id}/assinantes/{idAssinante} |
🔹 Path Parameters
| Parâmetro | Tipo | Descrição |
| id | integer | Identificador único do emitente |
| idAssinante | integer | Identificador único do assinante |
O payload segue o mesmo formato do endpoint de adição. O campo arquivo é opcional na atualização — se não enviado, mantém o arquivo atual.
📥 Response — 200 OK
{
"mensagem": "Assinante atualizado com sucesso."
}
Remover Assinante
🔗 Endpoint
| Método | URL |
 | /public/v1/emitentes/{id}/assinantes/{idAssinante} |
📥 Response — 200 OK
{
"mensagem": "Assinante removido com sucesso."
}
❌ Erros Comuns
400 Bad Request
{
"tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"titulo": "Atenção",
"status": 400,
"erros": [
"Campo 'documento' deve conter um CPF válido com 11 dígitos.",
"Campo 'arquivo' é obrigatório."
]
}
404 Not Found
{
"tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.5",
"titulo": "Não encontrado",
"status": 404,
"erros": ["Assinante não encontrado."]
}