Endpoints de Organization
Gerenciamento de organizações (tenants). Cada organização representa uma entidade cliente B2B com seus próprios colaboradores, entitlements, pedidos e dados de cobrança.
Caminho base: /wp-json/middag-account/v1/organizations
Endpoints
| Método | Endpoint | Auth | Escopo | Descrição |
|---|---|---|---|---|
| GET | /organizations | JWT | -- | Listar organizações do usuário |
| POST | /organizations | JWT | -- | Criar nova organização |
| GET | /organizations/{id} | JWT + Org | organization | Detalhes da organização |
| PUT | /organizations/{id} | JWT + Org | organization | Atualizar organização |
| DELETE | /organizations/{id} | JWT + Org | organization (owner) | Excluir organização |
| POST | /organizations/cnpj-check | JWT | -- | Validar CNPJ via API federal |
| GET | /organizations/{id}/collaborators | JWT + Org | organization | Listar membros da organização |
GET /organizations
Lista todas as organizações das quais o usuário autenticado faz parte.
Resposta (200):
{
"success": true,
"data": [
{
"id": 42,
"name": "Acme Corp",
"legal_name": "Acme Corp Ltda",
"cnpj": "12.345.678/0001-90",
"status": "publish",
"verification_status": "verified",
"type": "company",
"owner_id": 15
}
],
"meta": {
"page": 1,
"per_page": 20,
"total": 1,
"pages": 1
}
}POST /organizations
Cria uma nova organização. O usuário autenticado se torna o proprietário.
Request:
{
"name": "Acme Corp",
"legal_name": "Acme Corp Ltda",
"cnpj": "12.345.678/0001-90",
"email": "billing@example.com",
"phone": "+55 61 99999-0000",
"type": "company",
"address": "Rua Principal 100",
"city": "Brasilia",
"state": "DF",
"country": "BR",
"zipcode": "70000-000"
}Resposta (201):
{
"success": true,
"data": {
"id": 43,
"name": "Acme Corp",
"status": "publish",
"verification_status": "pending",
"owner_id": 15
},
"message": "Organization created"
}GET /organizations/:id
Recupera detalhes completos de uma única organização.
Headers: X-Middag-Organization: {id}
Campos de resposta: id, name, legal_name, cnpj, state_registration, email, phone, address, address2, address_number, neighborhood, city, state, country, zipcode, ibge_code, type, status, verification_status, verified_at, owner_id, website, notes, requires_invoice_for_payment, created_at, updated_at.
PUT /organizations/:id
Atualiza uma organização. Apenas os campos presentes no corpo da requisição são atualizados.
Headers: X-Middag-Organization: {id}
Request:
{
"phone": "+55 61 98888-0000",
"website": "https://example.com"
}DELETE /organizations/:id
Exclusão logica de uma organização. Somente o proprietário pode executar esta ação.
Headers: X-Middag-Organization: {id}
Resposta (200):
{
"success": true,
"message": "Organization deleted"
}POST /organizations/cnpj-check
Válida um CNPJ brasileiro contra a API federal (Receita Federal).
Request:
{
"cnpj": "12345678000190"
}Resposta (200):
{
"success": true,
"data": {
"valid": true,
"legal_name": "ACME CORP LTDA",
"status": "ATIVA"
}
}Filtros (GET /organizations)
| Parâmetro | Tipo | Descrição |
|---|---|---|
search | string | Buscar por nome ou CNPJ |
status | string | Filtrar por status (publish, draft) |
type | string | Filtrar por tipo (company, individual) |
Relacionados
- Endpoints de Collaborator -- Gerenciar membros da organização
- Conceitos Essenciais: Organizations