Pular para o conteúdo
Acessar painel

Empresas (CRM)

O recurso Empresa (CRM) representa organizações registradas no módulo de CRM — pessoas jurídicas como clientes, fornecedores ou parceiros. Não confundir com a empresa do tenant (a conta Maestron), que é resolvida automaticamente a partir do token. Identificadores usam o prefixo comp_.

Cada empresa pode ter contatos e negócios vinculados. A resolução do tenant é descrita em Autenticação.

CampoTipoDescrição
idstringIdentificador prefixado por comp_.
namestringRazão social ou nome fantasia da empresa.
documentstring | nullDocumento fiscal (CNPJ).
emailstring | nullE-mail de contato principal.
phonestring | nullTelefone de contato.
websitestring | nullURL do site.
industrystring | nullSetor de atuação.
sizestring | nullPorte da empresa. Enum: micro, small, medium, large, enterprise.
annual_revenueinteger | nullFaturamento anual em centavos. Ex.: R$ 1.500.000,00 vira 150000000.
addressobject | nullEndereço estruturado.
tagsstring[]Lista de tags.
owner_idstring | nullUsuário responsável (user_).
created_atstringData de criação (ISO-8601).
updated_atstringData da última atualização (ISO-8601).
GET /crm/companies

Listar empresas

Retorna a coleção paginada de empresas do CRM.

Parâmetros de query

CampoTipoObrigatórioDescrição
page integer Página atual (padrão: 1).
per_page integer Itens por página (padrão: 20, máx: 100).
search string Busca textual por nome, documento ou e-mail.
sort string Campo de ordenação (ex.: name, created_at).
direction string Direção da ordenação: asc ou desc.
size string Filtra pelo porte: micro, small, medium, large, enterprise.
industry string Filtra pelo setor de atuação.
owner_id string Filtra pelo usuário responsável.
curl -X GET https://api.maestron.com.br/v1/crm/companies \
  -H "Authorization: Bearer SEU_TOKEN"
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maestron.com.br/v1/crm/companies', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.get(
    "https://api.maestron.com.br/v1/crm/companies",
    headers=headers,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies", {
  method: "GET",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
  },
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var response = await client.GetAsync("https://api.maestron.com.br/v1/crm/companies");
var data = await response.Content.ReadAsStringAsync();
GET /crm/companies HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN

Respostas

{
  "message": "Empresas listadas.",
  "data": [
    {
      "id": "comp_01J9Z3K8",
      "name": "Acme Tecnologia Ltda",
      "document": "12.345.678/0001-90",
      "email": "contato@acme.com.br",
      "phone": "+55 11 4000-0000",
      "website": "https://acme.com.br",
      "industry": "Tecnologia",
      "size": "medium",
      "annual_revenue": 150000000,
      "address": {
        "street": "Av. Paulista, 1000",
        "city": "São Paulo",
        "state": "SP",
        "zip": "01310-100",
        "country": "BR"
      },
      "tags": [
        "parceiro",
        "prioritário"
      ],
      "owner_id": "user_01J9Z3K8",
      "created_at": "2026-06-20T14:30:00Z",
      "updated_at": "2026-06-20T14:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "last_page": 1
  }
}
{
  "message": "Não autenticado."
}
GET /crm/companies/{id}

Obter empresa

Retorna uma única empresa pelo identificador.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
id string Sim Identificador da empresa (comp_).
curl -X GET https://api.maestron.com.br/v1/crm/companies/{id} \
  -H "Authorization: Bearer SEU_TOKEN"
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maestron.com.br/v1/crm/companies/{id}', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.get(
    "https://api.maestron.com.br/v1/crm/companies/{id}",
    headers=headers,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies/{id}", {
  method: "GET",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
  },
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var response = await client.GetAsync("https://api.maestron.com.br/v1/crm/companies/{id}");
var data = await response.Content.ReadAsStringAsync();
GET /crm/companies/{id} HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN

Respostas

{
  "message": "Empresa retornada.",
  "data": {
    "id": "comp_01J9Z3K8",
    "name": "Acme Tecnologia Ltda",
    "document": "12.345.678/0001-90",
    "email": "contato@acme.com.br",
    "phone": "+55 11 4000-0000",
    "website": "https://acme.com.br",
    "industry": "Tecnologia",
    "size": "medium",
    "annual_revenue": 150000000,
    "address": {
      "street": "Av. Paulista, 1000",
      "city": "São Paulo",
      "state": "SP",
      "zip": "01310-100",
      "country": "BR"
    },
    "tags": [
      "parceiro",
      "prioritário"
    ],
    "owner_id": "user_01J9Z3K8",
    "created_at": "2026-06-20T14:30:00Z",
    "updated_at": "2026-06-20T14:30:00Z"
  }
}
{
  "message": "Não autenticado."
}
{
  "message": "Empresa não encontrada."
}
POST /crm/companies

Criar empresa

Cria uma nova empresa no CRM.

Corpo (body)

CampoTipoObrigatórioDescrição
name string Sim Razão social ou nome fantasia.
document string Documento fiscal (CNPJ).
email string E-mail de contato principal.
phone string Telefone de contato.
website string URL do site.
industry string Setor de atuação.
size string Porte: micro, small, medium, large, enterprise.
annual_revenue integer Faturamento anual em centavos.
address object Endereço estruturado.
tags string[] Lista de tags.
owner_id string Usuário responsável (user_).
curl -X POST https://api.maestron.com.br/v1/crm/companies \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Tecnologia Ltda",
    "document": "12.345.678/0001-90",
    "email": "contato@acme.com.br",
    "phone": "+55 11 4000-0000",
    "website": "https://acme.com.br",
    "industry": "Tecnologia",
    "size": "medium",
    "annual_revenue": 150000000,
    "address": {
      "street": "Av. Paulista, 1000",
      "city": "São Paulo",
      "state": "SP",
      "zip": "01310-100",
      "country": "BR"
    },
    "tags": [
      "parceiro",
      "prioritário"
    ],
    "owner_id": "user_01J9Z3K8"
  }'
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.maestron.com.br/v1/crm/companies', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
    'json' => [
        'name' => 'Acme Tecnologia Ltda',
        'document' => '12.345.678/0001-90',
        'email' => 'contato@acme.com.br',
        'phone' => '+55 11 4000-0000',
        'website' => 'https://acme.com.br',
        'industry' => 'Tecnologia',
        'size' => 'medium',
        'annual_revenue' => 150000000,
        'address' => [object Object],
        'tags' => parceiro,prioritário,
        'owner_id' => 'user_01J9Z3K8',
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
payload = {
    "name": "Acme Tecnologia Ltda",
    "document": "12.345.678/0001-90",
    "email": "contato@acme.com.br",
    "phone": "+55 11 4000-0000",
    "website": "https://acme.com.br",
    "industry": "Tecnologia",
    "size": "medium",
    "annual_revenue": 150000000,
    "address": [object Object],
    "tags": parceiro,prioritário,
    "owner_id": "user_01J9Z3K8",
}
response = requests.post(
    "https://api.maestron.com.br/v1/crm/companies",
    headers=headers,
    json=payload,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies", {
  method: "POST",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "name": "Acme Tecnologia Ltda",
    "document": "12.345.678/0001-90",
    "email": "contato@acme.com.br",
    "phone": "+55 11 4000-0000",
    "website": "https://acme.com.br",
    "industry": "Tecnologia",
    "size": "medium",
    "annual_revenue": 150000000,
    "address": {
      "street": "Av. Paulista, 1000",
      "city": "São Paulo",
      "state": "SP",
      "zip": "01310-100",
      "country": "BR"
    },
    "tags": [
      "parceiro",
      "prioritário"
    ],
    "owner_id": "user_01J9Z3K8"
  }),
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var payload = new StringContent(
    "{\"name\":\"Acme Tecnologia Ltda\",\"document\":\"12.345.678/0001-90\",\"email\":\"contato@acme.com.br\",\"phone\":\"+55 11 4000-0000\",\"website\":\"https://acme.com.br\",\"industry\":\"Tecnologia\",\"size\":\"medium\",\"annual_revenue\":150000000,\"address\":{\"street\":\"Av. Paulista, 1000\",\"city\":\"São Paulo\",\"state\":\"SP\",\"zip\":\"01310-100\",\"country\":\"BR\"},\"tags\":[\"parceiro\",\"prioritário\"],\"owner_id\":\"user_01J9Z3K8\"}",
    System.Text.Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.maestron.com.br/v1/crm/companies", payload);
var data = await response.Content.ReadAsStringAsync();
POST /crm/companies HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{
  "name": "Acme Tecnologia Ltda",
  "document": "12.345.678/0001-90",
  "email": "contato@acme.com.br",
  "phone": "+55 11 4000-0000",
  "website": "https://acme.com.br",
  "industry": "Tecnologia",
  "size": "medium",
  "annual_revenue": 150000000,
  "address": {
    "street": "Av. Paulista, 1000",
    "city": "São Paulo",
    "state": "SP",
    "zip": "01310-100",
    "country": "BR"
  },
  "tags": [
    "parceiro",
    "prioritário"
  ],
  "owner_id": "user_01J9Z3K8"
}

Respostas

{
  "message": "Empresa criada.",
  "data": {
    "id": "comp_01J9Z3K8",
    "name": "Acme Tecnologia Ltda",
    "document": "12.345.678/0001-90",
    "email": "contato@acme.com.br",
    "phone": "+55 11 4000-0000",
    "website": "https://acme.com.br",
    "industry": "Tecnologia",
    "size": "medium",
    "annual_revenue": 150000000,
    "address": {
      "street": "Av. Paulista, 1000",
      "city": "São Paulo",
      "state": "SP",
      "zip": "01310-100",
      "country": "BR"
    },
    "tags": [
      "parceiro",
      "prioritário"
    ],
    "owner_id": "user_01J9Z3K8",
    "created_at": "2026-06-20T14:30:00Z",
    "updated_at": "2026-06-20T14:30:00Z"
  }
}
{
  "message": "Não autenticado."
}
{
  "message": "Já existe uma empresa com este documento."
}
{
  "message": "Os dados fornecidos são inválidos.",
  "errors": {
    "name": [
      "O campo nome é obrigatório."
    ],
    "size": [
      "O porte selecionado é inválido."
    ],
    "annual_revenue": [
      "O faturamento anual deve ser um inteiro em centavos."
    ]
  }
}
PATCH /crm/companies/{id}

Atualizar empresa

Atualiza parcialmente uma empresa existente.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
id string Sim Identificador da empresa (comp_).

Corpo (body)

CampoTipoObrigatórioDescrição
name string Razão social ou nome fantasia.
document string Documento fiscal (CNPJ).
email string E-mail de contato principal.
phone string Telefone de contato.
website string URL do site.
industry string Setor de atuação.
size string Porte: micro, small, medium, large, enterprise.
annual_revenue integer Faturamento anual em centavos.
address object Endereço estruturado.
tags string[] Lista de tags.
owner_id string Usuário responsável (user_).
curl -X PATCH https://api.maestron.com.br/v1/crm/companies/{id} \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Tecnologia S.A.",
    "size": "large",
    "annual_revenue": 500000000
  }'
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://api.maestron.com.br/v1/crm/companies/{id}', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
    'json' => [
        'name' => 'Acme Tecnologia S.A.',
        'size' => 'large',
        'annual_revenue' => 500000000,
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
payload = {
    "name": "Acme Tecnologia S.A.",
    "size": "large",
    "annual_revenue": 500000000,
}
response = requests.patch(
    "https://api.maestron.com.br/v1/crm/companies/{id}",
    headers=headers,
    json=payload,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies/{id}", {
  method: "PATCH",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "name": "Acme Tecnologia S.A.",
    "size": "large",
    "annual_revenue": 500000000
  }),
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var payload = new StringContent(
    "{\"name\":\"Acme Tecnologia S.A.\",\"size\":\"large\",\"annual_revenue\":500000000}",
    System.Text.Encoding.UTF8, "application/json");
var response = await client.SendAsync(new HttpRequestMessage(
    new HttpMethod("PATCH"), "https://api.maestron.com.br/v1/crm/companies/{id}") { Content = payload });
var data = await response.Content.ReadAsStringAsync();
PATCH /crm/companies/{id} HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{
  "name": "Acme Tecnologia S.A.",
  "size": "large",
  "annual_revenue": 500000000
}

Respostas

{
  "message": "Empresa atualizada.",
  "data": {
    "id": "comp_01J9Z3K8",
    "name": "Acme Tecnologia S.A.",
    "document": "12.345.678/0001-90",
    "email": "contato@acme.com.br",
    "phone": "+55 11 4000-0000",
    "website": "https://acme.com.br",
    "industry": "Tecnologia",
    "size": "large",
    "annual_revenue": 500000000,
    "address": {
      "street": "Av. Paulista, 1000",
      "city": "São Paulo",
      "state": "SP",
      "zip": "01310-100",
      "country": "BR"
    },
    "tags": [
      "parceiro",
      "prioritário"
    ],
    "owner_id": "user_01J9Z3K8",
    "created_at": "2026-06-20T14:30:00Z",
    "updated_at": "2026-06-20T15:10:00Z"
  }
}
{
  "message": "Não autenticado."
}
{
  "message": "Empresa não encontrada."
}
{
  "message": "Já existe uma empresa com este documento."
}
{
  "message": "Os dados fornecidos são inválidos.",
  "errors": {
    "size": [
      "O porte selecionado é inválido."
    ]
  }
}
DELETE /crm/companies/{id}

Remover empresa

Remove uma empresa do CRM.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
id string Sim Identificador da empresa (comp_).
curl -X DELETE https://api.maestron.com.br/v1/crm/companies/{id} \
  -H "Authorization: Bearer SEU_TOKEN"
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://api.maestron.com.br/v1/crm/companies/{id}', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.delete(
    "https://api.maestron.com.br/v1/crm/companies/{id}",
    headers=headers,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies/{id}", {
  method: "DELETE",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
  },
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var response = await client.DeleteAsync("https://api.maestron.com.br/v1/crm/companies/{id}");
var data = await response.Content.ReadAsStringAsync();
DELETE /crm/companies/{id} HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN

Respostas

{
  "message": "Empresa removida."
}
{
  "message": "Não autenticado."
}
{
  "message": "Empresa não encontrada."
}
{
  "message": "Não é possível remover uma empresa com negócios vinculados."
}
GET /crm/companies/{id}/contacts

Listar contatos da empresa

Retorna a coleção paginada de contatos vinculados à empresa.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
id string Sim Identificador da empresa (comp_).

Parâmetros de query

CampoTipoObrigatórioDescrição
page integer Página atual (padrão: 1).
per_page integer Itens por página (padrão: 20, máx: 100).
search string Busca textual por nome ou e-mail.
curl -X GET https://api.maestron.com.br/v1/crm/companies/{id}/contacts \
  -H "Authorization: Bearer SEU_TOKEN"
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maestron.com.br/v1/crm/companies/{id}/contacts', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.get(
    "https://api.maestron.com.br/v1/crm/companies/{id}/contacts",
    headers=headers,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies/{id}/contacts", {
  method: "GET",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
  },
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var response = await client.GetAsync("https://api.maestron.com.br/v1/crm/companies/{id}/contacts");
var data = await response.Content.ReadAsStringAsync();
GET /crm/companies/{id}/contacts HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN

Respostas

{
  "message": "Contatos listados.",
  "data": [
    {
      "id": "cont_01J9Z3K8",
      "name": "Maria Silva",
      "email": "maria.silva@acme.com.br",
      "phone": "+55 11 99999-0000",
      "company_id": "comp_01J9Z3K8",
      "tags": [
        "decisor"
      ],
      "created_at": "2026-06-20T14:30:00Z",
      "updated_at": "2026-06-20T14:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "last_page": 1
  }
}
{
  "message": "Não autenticado."
}
{
  "message": "Empresa não encontrada."
}
GET /crm/companies/{id}/deals

Listar negócios da empresa

Retorna a coleção paginada de negócios vinculados à empresa.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
id string Sim Identificador da empresa (comp_).

Parâmetros de query

CampoTipoObrigatórioDescrição
page integer Página atual (padrão: 1).
per_page integer Itens por página (padrão: 20, máx: 100).
search string Busca textual pelo título do negócio.
curl -X GET https://api.maestron.com.br/v1/crm/companies/{id}/deals \
  -H "Authorization: Bearer SEU_TOKEN"
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maestron.com.br/v1/crm/companies/{id}/deals', [
    'headers' => [
        'Authorization' => 'Bearer SEU_TOKEN',
        'Accept' => 'application/json',
    ],
]);
$data = json_decode($response->getBody(), true);
import requests
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.get(
    "https://api.maestron.com.br/v1/crm/companies/{id}/deals",
    headers=headers,
)
data = response.json()
const response = await fetch("https://api.maestron.com.br/v1/crm/companies/{id}/deals", {
  method: "GET",
  headers: {
    "Authorization": "Bearer SEU_TOKEN",
  },
});
const data = await response.json();
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "SEU_TOKEN");
var response = await client.GetAsync("https://api.maestron.com.br/v1/crm/companies/{id}/deals");
var data = await response.Content.ReadAsStringAsync();
GET /crm/companies/{id}/deals HTTP/1.1
Host: api.maestron.com.br
Authorization: Bearer SEU_TOKEN

Respostas

{
  "message": "Negócios listados.",
  "data": [
    {
      "id": "deal_01J9Z3K8",
      "title": "Contrato anual de licenças",
      "value": 12000000,
      "company_id": "comp_01J9Z3K8",
      "contact_id": "cont_01J9Z3K8",
      "pipeline_id": "pipe_01J9Z3K8",
      "stage_id": "stg_01J9Z3K8",
      "status": "open",
      "owner_id": "user_01J9Z3K8",
      "created_at": "2026-06-20T14:30:00Z",
      "updated_at": "2026-06-20T14:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "last_page": 1
  }
}
{
  "message": "Não autenticado."
}
{
  "message": "Empresa não encontrada."
}

Para o detalhamento de cada código de status, consulte Erros. Os limites de requisição estão descritos em Rate limiting.