Com a StructCMS, você pode criar e consumir APIs dinâmicas baseadas nas coleções definidas por você.
https://api.structcms.com
Authorization: Bearer <token>
/api/:projectId/:collectionName
):GET
: acesso sempre públicoPOST
, PUT
e DELETE
: requerem header x-api-token: token-do-projeto
Obtenha um token de acesso para consumir as rotas protegidas por login.
Body:
{ "email": "usuario@email.com", "password": "suasenha" }
Exemplo de resposta:
{ "token": "jwt-token-aqui" }
Retorna todos os projetos do usuário autenticado.
Headers:
{ "Authorization": "Bearer seu-token" }
Exemplo de resposta:
[{ "_id": "id-do-projeto", "name": "Meu Projeto", "apiToken": "token-da-api" }]
Cria uma nova coleção vinculada a um projeto.
Headers:
{ "Authorization": "Bearer seu-token" }
Body:
{ "name": "clientes", "fields": [ { "name": "nome", "type": "string" }, { "name": "email", "type": "string" } ], "auth": true }
Exemplo de resposta:
{ "_id": "id-da-colecao", "name": "clientes" }
Retorna os itens de uma coleção. Rota pública.
Exemplo de resposta:
[ { "_id": "id", "nome": "João" }, { "_id": "id", "nome": "Maria" } ]
Retorna um item específico da coleção. Rota pública.
Exemplo de resposta:
{ "_id": "id", "nome": "João", "email": "joao@email.com" }
Adiciona um novo item à coleção. Requer x-api-token.
Headers:
{ "x-api-token": "token-do-projeto" }
Body:
{ "nome": "João", "email": "joao@email.com" }
Exemplo de resposta:
{ "_id": "id-gerado", "nome": "João", "email": "joao@email.com" }
Atualiza um item da coleção. Requer x-api-token.
Headers:
{ "x-api-token": "token-do-projeto" }
Body:
{ "nome": "João da Silva" }
Exemplo de resposta:
{ "_id": "id", "nome": "João da Silva", "email": "joao@email.com" }
Remove um item da coleção. Requer x-api-token.
Headers:
{ "x-api-token": "token-do-projeto" }
Exemplo de resposta:
{ "message": "Item removido com sucesso" }