---
title: 6.9. Assinantes e CCB
url: https://docs.vehub.com.br/Emiss%C3%A3o%20de%20Ativos/API/Cr%C3%A9dito/6.%20Proposta/6.9.%20Assinantes%20e%20CCB/
---
# 6.9. Assinantes e CCB
!!! warning "Especificação — em construção"
Os serviços descritos nesta área ainda não estão disponíveis.
## 🔗 Endpoints
| Método | URL |
|--------|-----|
|  | `/credito/propostas/{idProposta}/assinantes` |
|  | `/credito/propostas/{idProposta}/ccb` |
---
## 🧾 Descrição
Acompanha a formalização: quem precisa assinar, quem já assinou, e o download da CCB depois de
concluída.
Os assinantes são criados **quando a proposta é registrada** na bancarizadora — antes disso, a
listagem vem vazia.
---
## Listar assinantes
### 🧪 Exemplo de cURL
```bash
curl -X GET "https://api.vehub.com.br/credito/propostas/1001/assinantes" \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}"
```
### 📥 Response — `200 OK`
```json
[
{
"id": 55,
"nome": "João da Silva",
"documento": "12345678900",
"email": "joao@exemplo.com",
"idMetodoAssinatura": 2,
"metodoAssinatura": "Eletrônica",
"biometria": true,
"idStatusAssinatura": 1,
"statusAssinatura": "Pendente",
"dataAssinatura": null
}
]
```
### 🧾 Detalhamento dos Campos
| Campo | Tipo | Descrição |
|-------|------|-----------|
| id | integer | Identificador do assinante |
| nome | string | Nome do assinante |
| documento | string | CPF, sem máscara |
| email | string | E-mail para o qual a notificação de assinatura é enviada |
| idMetodoAssinatura | integer / null | `1` Digital, `2` Eletrônica. Nulo quando a plataforma de assinatura não exige modalidade |
| metodoAssinatura | string / null | Descrição do método |
| biometria | boolean | `true` quando a modalidade exige biometria facial |
| idStatusAssinatura | integer | `1` Pendente, `2` Assinado, `3` Rejeitado |
| statusAssinatura | string | Descrição do status |
| dataAssinatura | string / null | Momento da assinatura, em UTC |
---
## Quem assina
| Tipo de pessoa do tomador | Assinantes |
|---|---|
| **Pessoa física** | O próprio tomador |
| **Pessoa jurídica** | Todas as pessoas vinculadas com `representanteLegal = true` |
**Não assinam:** cônjuge, avalistas, garantias (proprietário do bem, fiel depositário, agente de
garantias) e o parceiro originador.
!!! tip "Se falta assinante, o problema está no cadastro"
Uma pessoa jurídica sem nenhum representante legal marcado não tem signatário e a formalização
não avança. Garanta ao menos um `representanteLegal = true` em
[4.3. Pessoa Jurídica e Representantes](../4.%20Tomador/4.3.%20Pessoa%20Jurídica%20e%20Representantes.md).
---
## ⚠️ Não existe link de assinatura
A **formalização é conduzida pela bancarizadora**, que notifica cada assinante **por e-mail** com o
convite de assinatura.
Isso significa que:
- **não há URL de assinatura** para você embutir na sua aplicação;
- **não há reenvio de notificação** por esta API;
- o e-mail cadastrado no tomador (ou no representante legal) precisa estar **correto e acessível** —
é o único canal da formalização.
Acompanhe o andamento por esta listagem ou pelos
[eventos de webhook](../8.%20Notificações%20-%20WebHook/8.4.%20Eventos%20de%20Proposta%20e%20Formalização.md)
(`credito.assinatura.aguardando`, `credito.contrato.formalizado`).
Se a sua operação exige jornada de assinatura embutida, fale com o nosso time antes de desenhar a
integração.
---
## Baixar a CCB
### 🔗 Endpoint
| Método | URL |
|--------|-----|
|  | `/credito/propostas/{idProposta}/ccb` |
Devolve o PDF da Cédula de Crédito Bancário, com `Content-Type: application/pdf`.
### 🧪 Exemplo de cURL
```bash
curl -X GET "https://api.vehub.com.br/credito/propostas/1001/ccb" \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
--output ccb-1001.pdf
```
### ❌ 409 Conflict — operação não finalizada
```json
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
"status": 409,
"errors": [
{ "campo": null, "mensagem": "A CCB estará disponível quando a operação for finalizada. Situação atual: Aguardando assinaturas." }
]
}
```
!!! important "A CCB só existe depois de finalizada"
O download exige que a proposta esteja no status `6` — **Finalizado**. Enquanto a formalização
está em curso (`5` — Aguardando assinaturas), o PDF não está disponível.
Aguarde o evento `credito.contrato.formalizado` antes de tentar baixar.
---
## 🧭 Acompanhamento recomendado
```mermaid
flowchart LR
A[Proposta registrada] --> B[GET /assinantes
todos Pendente]
B --> C[Webhook
credito.assinatura.aguardando]
C --> D[Assinantes recebem e-mail]
D --> E[Webhook
credito.contrato.formalizado]
E --> F[GET /ccb
PDF disponível]
```