Atendimento: Modelo-Grupo de Carteira
Endpoints da WebApiAlcance para gerenciar os vínculos entre modelos de mensagem e grupos de carteiras - a associação que define qual modelo de mensagem se aplica a um determinado grupo de carteira dentro de um departamento. Cobrem criação, listagem com filtros e paginação, detalhamento por ID, atualização parcial e exclusão.
Todos os endpoints exigem autenticação. Veja Autenticação para o fluxo de API Key. O Swagger oficial está em api.contabilidadealcance.com.br/docs.
Base path
/api/v1/modelo-grupo-carteiraEscopos necessários
modelo_grupo_carteira:read- listagem e detalhamentomodelo_grupo_carteira:write- criação, atualização e exclusão
O escopo é derivado da rota: o prefixo /modelo-grupo-carteira vira o recurso modelo_grupo_carteira (hífen → underscore), e o método HTTP define a ação (read para GET, write para POST/PUT/DELETE).
Endpoints
POST /modelo-grupo-carteira/
Cria um novo vínculo entre um modelo de mensagem e um grupo de carteira dentro de um departamento.
Parâmetros
Este endpoint não recebe parâmetros de rota ou query - os dados vão no corpo da requisição (ModeloGrupoCarteiraCreate): modelo_id, grupo_carteira_id e departamento_id, todos obrigatórios.
Request
{
"modelo_id": 4,
"grupo_carteira_id": 12,
"departamento_id": 2
}Response 201 Created
{
"success": true,
"message": "Vínculo criado com sucesso",
"data": {
"modelo_id": 4,
"grupo_carteira_id": 12,
"departamento_id": 2,
"id": 87,
"legacy_uuid": null,
"data_hora_criacao": "2026-07-03T10:15:00"
}
}Dados inválidos retornam 422 Unprocessable Entity com detail descrevendo o erro. Escopo: modelo_grupo_carteira:write
GET /modelo-grupo-carteira/
Lista os vínculos cadastrados, com filtros opcionais e paginação. Lista vazia é um estado válido - sempre retorna 200 OK, inclusive com data: [] e a mensagem "Nenhum vínculo encontrado.".
Parâmetros
| Parâmetro | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
modelo_id | int | query | não | Filtra por modelo. |
grupo_carteira_id | int | query | não | Filtra por grupo de carteira. |
limit | int | query | não | Limite de itens por página. Default 100, entre 1 e 500. |
offset | int | query | não | Offset de paginação. Default 0, mínimo 0. |
Request
Sem corpo de requisição.
Response 200 OK
{
"success": true,
"message": "Vínculos recuperados com sucesso",
"data": [
{
"modelo_id": 4,
"grupo_carteira_id": 12,
"departamento_id": 2,
"id": 87,
"legacy_uuid": null,
"data_hora_criacao": "2026-07-03T10:15:00"
}
]
}Escopo: modelo_grupo_carteira:read
GET /modelo-grupo-carteira/{vinculo_id}
Detalha um vínculo pelo ID inteiro. Quando não encontrado, retorna 404 Not Found.
Parâmetros
| Parâmetro | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
vinculo_id | int | path | sim | ID interno do vínculo |
Request
Sem corpo de requisição.
Response 200 OK
{
"success": true,
"message": "Vínculo recuperado com sucesso",
"data": {
"modelo_id": 4,
"grupo_carteira_id": 12,
"departamento_id": 2,
"id": 87,
"legacy_uuid": null,
"data_hora_criacao": "2026-07-03T10:15:00"
}
}Escopo: modelo_grupo_carteira:read
PUT /modelo-grupo-carteira/{vinculo_id}
Atualiza um vínculo existente. O body é um ModeloGrupoCarteiraUpdate com campos parciais - somente o que vier preenchido é alterado. O modelo_id não é atualizável.
Parâmetros
| Parâmetro | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
vinculo_id | int | path | sim | ID do vínculo |
Request (ModeloGrupoCarteiraUpdate - todos os campos opcionais)
{
"grupo_carteira_id": 15,
"departamento_id": 3
}Response 200 OK
{
"success": true,
"message": "Vínculo atualizado com sucesso",
"data": {
"modelo_id": 4,
"grupo_carteira_id": 15,
"departamento_id": 3,
"id": 87,
"legacy_uuid": null,
"data_hora_criacao": "2026-07-03T10:15:00"
}
}Vínculo inexistente retorna 404 Not Found; demais erros de validação retornam 422 Unprocessable Entity. Escopo: modelo_grupo_carteira:write
DELETE /modelo-grupo-carteira/{vinculo_id}
Remove um vínculo pelo ID. Quando não encontrado, retorna 404 Not Found.
Parâmetros
| Parâmetro | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
vinculo_id | int | path | sim | ID do vínculo |
Request
Sem corpo de requisição.
Response 200 OK
{
"success": true,
"message": "Vínculo removido com sucesso",
"data": null
}Escopo: modelo_grupo_carteira:write
Schemas
ModeloGrupoCarteiraCreate
| Campo | Tipo | Obrigatório | Observações |
|---|---|---|---|
modelo_id | int | sim | ID do modelo de mensagem. |
grupo_carteira_id | int | sim | ID do grupo de carteira vinculado. |
departamento_id | int | sim | ID do departamento do vínculo. |
ModeloGrupoCarteiraUpdate
Todos os campos são opcionais; apenas os enviados são atualizados.
| Campo | Tipo | Observações |
|---|---|---|
grupo_carteira_id | int | Novo grupo de carteira do vínculo. |
departamento_id | int | Novo departamento do vínculo. |
ModeloGrupoCarteiraRead
| Campo | Tipo | Notas |
|---|---|---|
id | int | Identificador do vínculo. |
modelo_id | int | Modelo de mensagem vinculado. |
grupo_carteira_id | int | Grupo de carteira vinculado. |
departamento_id | int | Departamento do vínculo. |
legacy_uuid | str | UUID de origem do sistema legado. Pode ser null. |
data_hora_criacao | datetime | Data e hora de criação do vínculo. |
Notas
- Toda resposta segue o envelope
{ success, message, data }(ou{ success: false, message, details }em erro). modelo_idnão é atualizável viaPUT- oModeloGrupoCarteiraUpdatesó aceitagrupo_carteira_idedepartamento_id. Para trocar o modelo, remova o vínculo e crie outro.- Relaciona-se com Grupo de Carteiras, que define os agrupamentos de clientes por responsável.