Pular para o conteúdo principal

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]

BASE URL
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.

Required permissions
customer_applications_write

Atributos de Requisição

ParâmetroDescrição
clientIdO ID do cliente gerado
displayNameO nome do cliente
permissionsUma array de objeto que contém as permissões da aplicação

Atributos de Resposta

ParâmetroDescrição
idO ID da aplicação na base de dados
clientIdCódigo de identificação do usuário
clientSecretCó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]

BASE URL
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.

Required permissions
customer_applications_write
customer_applications_read

Atributos de Resposta

AtributoDescrição
itemsUm 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]

BASE URL
https://api-b2b-hml.carbonext.com.br/v1/customers/applications/:id

Esse endpoint retorna um objeto de chave de API com suas permissões.

Required permissions
customer_applications_write
customer_applications_read

Atributos de Resposta

AtributosDescrição
ApplicationUm 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
}
]
}
PATH VARIABLES
id: 02c75cc5-b575-4b5f-87d8-bf09e6009c23