Aplicações
Chaves de API
Chaves de API são as credenciais que identificam e autorizam um projeto a acessar nossa API, usamos o fluxo client_credentials
OAauth2.0
, com client_id
e client_secret
, salvos anteriormente, para autorizar as solicitações em nossos endpoints.
É importante salientar que sempre adicionamos o prefixo cbx_b2b_
ao clientId
de todas as credenciais criadas na plataforma. Você pode consultar as suas credenciais no menu "Chaves de API"
Aplicação [POST]
https://api-b2b-hml.carbonext.com.br/v1/customers/applications
Este endpoint cria uma nova chave de aplicação, usada para criar integrações Machine to Machine (M2M), aconselhamos usar uma para cada API que você precisar integrar com a nossa.
customer_applications_write
Atributos de Requisição
Parâmetro | Descrição |
---|---|
clientId | O ID do cliente gerado |
displayName | O nome do cliente |
permissions | Uma array de objeto que contém as permissões da aplicação |
Atributos de Resposta
Parâmetro | Descrição |
---|---|
id | O ID da aplicação na base de dados |
clientId | Código de identificação do usuário |
clientSecret | Código utilizado junto com o client_id para conceder autorização ao usuário |
Exemplo de Requisição
var axios = require('axios');
var data = JSON.stringify({
"clientId": "myapp_name",
"displayName": "My test app",
"permissions": [
{
"id": "45bbe1bc-4d5a-4991-baac-42fa95d35824"
},
{
"id": "65c514f4-424f-4c82-9827-482d564091c0"
}
]
});
var config = {
method: 'post',
url: 'https://api-b2b-hml.carbonext.com.br/v1/customers/applications?customer-id=d762a683-cb74-43a4-979a-6579dc53cec1',
headers: {
'Authorization': 'Bearer <access_token>',
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Exemplo de Resposta
{
"id": "21be1e66-307e-47a7-914e-c1a8a68f269c",
"clientId": "cbx_b2b_myapp_name",
"clientSecret": "1d49c575-81f8-4d8c-bc18-93711cf7eb24"
}
Listar Chaves de API [GET]
https://api-b2b-hml.carbonext.com.br/v1/customers/applications?page=2&page-size=10
Esse endpoint retorna uma lista paginada de chaves de API.
customer_applications_write
customer_applications_read
Atributos de Resposta
Atributo | Descrição |
---|---|
items | Um array de chaves de API paginadas do cliente |
Exemplo de Requisição
var axios = require('axios');
var qs = require('qs');
var data = qs.stringify({
});
var config = {
method: 'get',
url: 'https://api-b2b-hml.carbonext.com.br/v1/customers/applications',
headers: {
'Authorization': 'Bearer <access_token>'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Exemplo de Resposta
{
"items": [
{
"id": "21be1e66-307e-47a7-914e-c1a8a68f269c",
"clientId": "cbx_b2b_myapp_name",
"displayName": "My test app44"
},
],
"pageIndex": 1,
"totalPages": 1,
"totalCount": 1,
"aggregations": null,
"hasPreviousPage": false,
"hasNextPage": false
}
Consultar uma Chave de API [GET]
https://api-b2b-hml.carbonext.com.br/v1/customers/applications/:id
Esse endpoint retorna um objeto de chave de API com suas permissões.
customer_applications_write
customer_applications_read
Atributos de Resposta
Atributos | Descrição |
---|---|
Application | Um objeto de chave de API |
Exemplo de Requisição
var axios = require('axios');
var config = {
method: 'get',
url: 'https://api-b2b-hml.carbonext.com.br/v1/customers/applications/02c75cc5-b575-4b5f-87d8-bf09e6009c23',
headers: {
'Authorization': 'Bearer <access_token>'
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Exemplo de Resposta
{
"id": "02c75cc5-b575-4b5f-87d8-bf09e6009c23",
"clientId": "cbx_b2b_myapp_name",
"displayName": "My test app",
"permissions": [
{
"id": "781d50ae-ab86-4988-8d39-48dca58da6a6",
"name": "default-roles-co2free",
"description": null,
"composite": true,
"clientRole": false,
"containerId": "CO2FREE",
"attributes": null
}
]
}
id: 02c75cc5-b575-4b5f-87d8-bf09e6009c23