Versionamento
A API Maestron usa versionamento na URL. A versão atual é a v1, presente em todas as rotas:
https://api.maestron.com.br/v1A versão é gerenciada centralmente e faz parte da Base URL. Ver Autenticação para o envio do token e a resolução automática da empresa.
Esquema de versão
Seção intitulada “Esquema de versão”- O identificador de versão é um único segmento na URL:
v1,v2, etc. - Apenas mudanças incompatíveis (breaking changes) geram uma nova versão major.
- Mudanças retrocompatíveis são entregues dentro da versão atual, sem alteração da URL.
A versão não é negociada por header (Accept, Api-Version) nem por query string. O único mecanismo de seleção de versão é o segmento da URL.
Retrocompatibilidade
Seção intitulada “Retrocompatibilidade”Dentro de uma mesma versão major, as seguintes mudanças são consideradas retrocompatíveis e podem ocorrer sem aviso de quebra:
- Adição de novos endpoints.
- Adição de novos campos opcionais em corpos de requisição.
- Adição de novos campos em objetos de resposta.
- Adição de novos valores em enums já existentes.
- Adição de novos parâmetros de query opcionais.
- Alteração da ordem dos campos em respostas JSON.
São consideradas mudanças incompatíveis (exigem nova versão major):
- Remoção ou renomeação de endpoints, campos ou parâmetros.
- Alteração do tipo de um campo.
- Tornar obrigatório um campo antes opcional.
- Alteração da estrutura do envelope de resposta de sucesso ou de erro.
- Alteração do significado de um valor de enum existente.
- Alteração do prefixo de um identificador de recurso (ex.:
cont_).
Headers de depreciação
Seção intitulada “Headers de depreciação”Quando um endpoint ou uma versão entra em processo de descontinuação, a API passa a retornar headers padronizados em todas as respostas do recurso afetado, sem alterar o status nem o corpo:
| Header | Descrição |
|---|---|
Deprecation | Data ISO-8601 em que o recurso foi marcado como descontinuado (ex.: Deprecation: 2026-09-01T00:00:00Z). |
Sunset | Data ISO-8601 a partir da qual o recurso deixará de responder, passando a retornar 410 Gone (ex.: Sunset: 2027-03-01T00:00:00Z). |
Link | Aponta para a documentação de migração e/ou para o recurso substituto, com rel="deprecation" e/ou rel="successor-version". |
Exemplo de headers em uma resposta de recurso descontinuado:
HTTP/1.1 200 OKDeprecation: 2026-09-01T00:00:00ZSunset: 2027-03-01T00:00:00ZLink: <https://developers.maestron.com.br/pt-br/intro/versioning/>; rel="deprecation", <https://api.maestron.com.br/v2/crm/contacts>; rel="successor-version"Content-Type: application/json- Entre a data de
Deprecatione a deSunset, o recurso continua funcionando normalmente. - A partir da data de
Sunset, requisições ao recurso retornam410 Gone.
Verificação de versão
Seção intitulada “Verificação de versão”Endpoint para inspecionar as versões disponíveis e o estado da versão atual. Não exige autenticação.
Listar versões
Retorna as versões da API e o status de cada uma (ativa ou descontinuada).
curl -X GET https://api.maestron.com.br/v1/versions <?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maestron.com.br/v1/versions', [
'headers' => ['Accept' => 'application/json'],
]);
$data = json_decode($response->getBody(), true); import requests
headers = {}
response = requests.get(
"https://api.maestron.com.br/v1/versions",
headers=headers,
)
data = response.json() const response = await fetch("https://api.maestron.com.br/v1/versions", {
method: "GET",
headers: {
},
});
const data = await response.json(); using var client = new HttpClient();
var response = await client.GetAsync("https://api.maestron.com.br/v1/versions");
var data = await response.Content.ReadAsStringAsync(); GET /versions HTTP/1.1
Host: api.maestron.com.br Respostas
{
"message": "Registros listados.",
"data": [
{
"version": "v1",
"status": "active",
"released_at": "2026-06-20T00:00:00Z",
"deprecated_at": null,
"sunset_at": null,
"docs_url": "https://developers.maestron.com.br/pt-br/"
}
]
} {
"message": "Erro interno do servidor."
} Estados de uma versão
Seção intitulada “Estados de uma versão”| Estado | Significado |
|---|---|
active | Versão suportada e recomendada. |
deprecated | Versão ainda funcional, com headers Deprecation e Sunset presentes. |
sunset | Versão encerrada; requisições retornam 410 Gone. |
Como migrar
Seção intitulada “Como migrar”- Monitore os headers
DeprecationeSunsetnas respostas. Eles sinalizam o início e o fim do período de transição de cada recurso. - Consulte o
Linkrel="successor-version"para identificar a rota equivalente na nova versão. - Aponte as requisições para a nova versão trocando o segmento da URL (ex.:
/v1/crm/contactstorna-se/v2/crm/contacts). - Revise as mudanças incompatíveis listadas no guia de migração da nova versão antes de cortar o tráfego.
- Conclua a migração antes da data de
Sunsetpara evitar respostas410 Gone.
Para o detalhamento dos códigos de status, consulte Erros. Para os limites de requisição, consulte Rate limiting.