Skip to content

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étodoEndpointAuthEscopoDescrição
GET/organizationsJWT--Listar organizações do usuário
POST/organizationsJWT--Criar nova organização
GET/organizations/{id}JWT + OrgorganizationDetalhes da organização
PUT/organizations/{id}JWT + OrgorganizationAtualizar organização
DELETE/organizations/{id}JWT + Orgorganization (owner)Excluir organização
POST/organizations/cnpj-checkJWT--Validar CNPJ via API federal
GET/organizations/{id}/collaboratorsJWT + OrgorganizationListar membros da organização

GET /organizations

Lista todas as organizações das quais o usuário autenticado faz parte.

Resposta (200):

json
{
    "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:

json
{
    "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):

json
{
    "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:

json
{
    "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):

json
{
    "success": true,
    "message": "Organization deleted"
}

POST /organizations/cnpj-check

Válida um CNPJ brasileiro contra a API federal (Receita Federal).

Request:

json
{
    "cnpj": "12345678000190"
}

Resposta (200):

json
{
    "success": true,
    "data": {
        "valid": true,
        "legal_name": "ACME CORP LTDA",
        "status": "ATIVA"
    }
}

Filtros (GET /organizations)

ParâmetroTipoDescrição
searchstringBuscar por nome ou CNPJ
statusstringFiltrar por status (publish, draft)
typestringFiltrar por tipo (company, individual)

Relacionados