Ir para o conteúdo

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 /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
POST /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

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
PUT /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
DELETE /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."]
}