Bem-vindo à documentação da API do MeuSimples. Esta API permite consultar, adicionar, editar e excluir dados do sistema MeuSimples.
A API segue os princípios RESTful e utiliza JSON para troca de dados.
As tabelas no MeuSimples seguem uma convenção de nomenclatura para IDs que facilita o entendimento dos relacionamentos:
Selecione o servidor que deseja utilizar para as operações de API:
| Ambiente | URL | Descrição |
|---|---|---|
| Produção | https://api.meusimples.com.br/1.0 |
Ambiente de produção para aplicações em uso real. Use este servidor para suas aplicações em produção. |
| Beta | https://beta.api.meusimples.com.br/1.0 |
Ambiente de teste para validação final. Use este servidor para testar suas integrações antes de ir para produção. |
| Desenvolvimento | https://dev.api.meusimples.com.br/1.0 |
Ambiente para desenvolvimento e testes iniciais. Use este servidor durante o desenvolvimento da sua integração. |
A API do MeuSimples utiliza OAuth 2.0 para autenticação. Você precisará de um client_id e um client_secret para obter um token de acesso.
client_id e client_secretclient_secret deve ser guardado em segurança. Caso você o perca, será necessário gerar um novo.
Para obter um token de acesso via API, faça uma requisição POST para o endpoint de autenticação:
POST https://api.meusimples.com.br/1.0/auth/token
Content-Type: application/json
{
"client_id": "seu_client_id",
"client_secret": "seu_client_secret",
"grant_type": "client_credentials"
}
A resposta será um JSON contendo o token de acesso:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"expires_in": 3600
}
Inclua o token em todas as requisições à API no cabeçalho Authorization:
GET https://api.meusimples.com.br/1.0/financeiro.lancamentos
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Informe suas credenciais abaixo para gerar um token de acesso:
Token gerado com sucesso! Validade: 60 minutos
Selecione um endpoint para ver os detalhes
Todas as requisições e respostas da API utilizam o formato JSON (JavaScript Object Notation). Certifique-se de incluir o cabeçalho Content-Type: application/json em suas requisições.
Os identificadores (IDs) na API seguem um padrão consistente com o formato:
id_[letra identificadora do schema][nome da tabela no singular][_identificação adicional (opcional)]
Exemplos:
id_flancamento - Identificador de um lançamento financeiroid_fcategoria - Identificador de uma categoria financeiraid_flancamento_empresa - Identificador específico de empresa em um lançamentoA API suporta relacionamentos hierárquicos entre registros. Registros pai podem conter registros filhos, que são representados como arrays de objetos dentro do objeto pai. Isso permite a criação e manipulação de estruturas de dados complexas em uma única requisição.
Ao invés de usar o ID numérico padrão, você pode referenciar registros usando campos com valores únicos:
{"campo": "valor_unico"}
Exemplo: {"codigo": "123456789"} ao invés de {"id_flancamento": 12345}
Caso queira usar o código do seu sistema, informe o campo cod_externo. Exemplo: {"cod_externo": "123456789"}
A API suporta operações em lote para processamento eficiente de múltiplos registros:
POST Para criar múltiplos registros em uma única requisição, envie um array de objetos no corpo da requisição:
[
{ "campo1": "valor1", "campo2": "valor2" },
{ "campo1": "valor3", "campo2": "valor4" }
]
PUT Para atualizar múltiplos registros, especifique na URL apenas o campo que servirá como chave e envie um array de objetos no corpo da requisição:
Exemplo: /financeiro.lancamentos/codigo com corpo:
[
{ "codigo": "A001", "descricao": "Nova descrição 1" },
{ "codigo": "A002", "descricao": "Nova descrição 2" }
]
PATCH Similar ao PUT, mas para atualizações parciais de múltiplos registros. Especifique o campo chave na URL e envie apenas os campos que deseja atualizar para cada registro:
[
{ "codigo": "A001", "descricao": "Nova descrição 1" },
{ "codigo": "A002", "valor": 150.00 }
]
GET Para controlar o número de registros retornados, use o parâmetro limit. O valor padrão é 100 registros por página.
Exemplo: /financeiro.lancamentos?limit=50
GET Para implementar paginação, use o parâmetro offset em conjunto com limit. O valor padrão de offset é 0 (primeira página).
Exemplo: /financeiro.lancamentos?limit=50&offset=50 (segunda página)
GET Para alterar a ordenação dos resultados, use o parâmetro order. Por padrão, os registros são ordenados pela chave primária em ordem ascendente.
Exemplos:
/financeiro.lancamentos?order=dt_lancamento (ordem ascendente por data)/financeiro.lancamentos?order=dt_lancamento:desc (ordem descendente por data)/financeiro.lancamentos?order=dt_lancamento:desc,vl_lancamento:asc (ordenação múltipla)