--- title: 4.4. Assinantes do Emitente url: https://docs.vehub.com.br/API/Nota%20Comercial/4.%20Emitentes/4.4.%20Assinantes/ --- # 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 | |--------|-----| | ![GET](https://img.shields.io/badge/GET-green) | `/public/v1/emitentes/{id}/assinantes` | ### 🔹 Path Parameter | Parâmetro | Tipo | Descrição | |-----------|------|-----------| | id | integer | Identificador único do emitente | ### 🧪 Exemplo de cURL ```bash 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` ```json { "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 | |--------|-----| | ![POST](https://img.shields.io/badge/POST-blue) | `/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. ### 📋 Payload (multipart/form-data) | 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 ```bash 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` ```json { "mensagem": "Assinante adicionado com sucesso.", "id": 10 } ``` --- ## Atualizar Assinante ### 🔗 Endpoint | Método | URL | |--------|-----| | ![PUT](https://img.shields.io/badge/PUT-orange) | `/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` ```json { "mensagem": "Assinante atualizado com sucesso." } ``` --- ## Remover Assinante ### 🔗 Endpoint | Método | URL | |--------|-----| | ![DELETE](https://img.shields.io/badge/DELETE-red) | `/public/v1/emitentes/{id}/assinantes/{idAssinante}` | ### 📥 Response — `200 OK` ```json { "mensagem": "Assinante removido com sucesso." } ``` --- ## ❌ Erros Comuns ### 400 Bad Request ```json { "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 ```json { "tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.5", "titulo": "Não encontrado", "status": 404, "erros": ["Assinante não encontrado."] } ```