Endpoints de Collaborator
Gerenciamento de membros da organização. Colaboradores são usuários com cargos e permissões com escopo dentro de uma organização.
Caminho base: /wp-json/middag-account/v1/collaborators
Endpoints
| Método | Endpoint | Auth | Escopo | Descrição |
|---|---|---|---|---|
| POST | /collaborators | JWT + Org | organization | Convidar novo colaborador |
| GET | /collaborators/{id} | JWT + Org | organization | Detalhes do colaborador |
| PUT | /collaborators/{id} | JWT + Org | organization | Atualizar cargo/permissões |
| DELETE | /collaborators/{id} | JWT + Org | organization | Remover colaborador |
| POST | /collaborators/check-invite | Token | -- | Verificar validade do convite |
| POST | /collaborators/accept-invite | Token | -- | Aceitar convite |
| POST | /collaborators/reject-invite | Token | -- | Rejeitar convite |
| POST | /collaborators/{id}/resend-invite | JWT + Org | organization | Reenviar e-mail de convite |
Cargos
| Cargo | Gerenciar Membros | Alterar Org | Excluir Org | Acesso |
|---|---|---|---|---|
owner | Sim | Sim | Sim | Todos (implicito) |
admin | Sim (member/guest) | Sim (se escopo) | Não | Por escopos atribuidos |
member | Não | Não | Não | Por escopos atribuidos |
guest | Não | Não | Não | Leitura restrita |
pending | Não | Não | Não | Nenhum |
Escopos
Escopos de permissão disponíveis: organization, orders, finances, quotes, contracts, documents, licenses, downloads, entitlements, admin.
POST /collaborators
Convidar um usuário para participar da organização.
Headers: X-Middag-Organization: {org_id}
Request:
{
"email": "jane@example.com",
"role": "member",
"can_manage_org": false,
"can_manage_finances": true,
"can_manage_orders": true,
"can_manage_licenses": false,
"can_manage_tickets": false,
"can_manage_quotes": false,
"can_manage_contracts": false,
"can_manage_documents": false,
"can_manage_downloads": false
}Resposta (201):
{
"success": true,
"data": {
"id": 88,
"email": "jane@example.com",
"role": "member",
"invite_status": "pending"
},
"message": "Invite sent"
}PUT /collaborators/:id
Atualizar o cargo ou permissões de um colaborador. Apenas os cargos owner e admin podem atualizar membros.
Request:
{
"role": "admin",
"can_manage_finances": true,
"can_manage_orders": true
}DELETE /collaborators/:id
Remover um colaborador da organização. O proprietário não pode ser removido.
POST /collaborators/check-invite
Verificar se um token de convite ainda e válido. Usado pelo portal antes de renderizar a pagina de aceitar/rejeitar.
Request:
{
"token": "abc123def456"
}Resposta (200):
{
"success": true,
"data": {
"valid": true,
"organization_name": "Acme Corp",
"email": "jane@example.com",
"expires_at": "2026-05-11T00:00:00Z"
}
}POST /collaborators/accept-invite
Aceitar um convite pendente usando o token enviado por e-mail.
Request:
{
"token": "abc123def456"
}