Tipos de bolsas disponíveis

Configure a autenticação: obtendo uma sessão
A API SuiteCRM requer que um cliente tenha uma sessão ativa para consumir a API. As sessões são adquiridas por meio da autenticação no servidor OAuth 2, usando um dos tipos de concessão disponíveis.

 

Configurar Tipos de Concessão
Antes de consumir a API, você deve primeiro configurar o SuiteCRM para conceder acesso a um cliente. SuiteCRM 7.10 fornece um painel administrativo, através do qual você pode adicionar clientes e revogar tokens. Para configurar os tipos de concessão, selecione o painel de administração e selecione Clientes e Tokens OAuth2:

 

Tipos de bolsas disponíveis

Versão SuiteCRM Tipo de bolsa disponível
7,10,0 Concessão de senha.
7.10.2 Concessão de senha, concessão de credenciais de cliente.

 

 

Concessão de credenciais de cliente
Uma concessão de credenciais de cliente é o mais simples de todos os tipos de concessão; essa concessão é usada para autenticar uma máquina ou serviço. Selecione o novo cliente de credenciais do cliente:

Comece configurando a concessão:

Campo Descrição
Nome Isso facilita a identificação do cliente.
Segredo Define o client_secret que é postado no servidor durante a autenticação.
Confidencial Um cliente confidencial é um aplicativo capaz de manter a senha de um cliente confidencial para o mundo.
Usuário Associado Limita o acesso do cliente ao CRM, associando o cliente aos privilégios de segurança de um usuário.

O ‘segredo’ será criptografado quando salvo e não estará acessível mais tarde. O ‘id’ é criado pelo SuiteCRM e ficará visível assim que o cliente for salvo.

 

Autenticação com credenciais de cliente
POST / Api / access_token

Parâmetros necessários

Parâmetro Valor
grant_type client_credentials
client_id ExemploDeNomeDeCliente
client_secret ExemploDeSenhaSecreta

 

Solicitação de exemplo (PHP):

$ch = curl_init();
 $header = array(
     'Content-type: application/vnd.api+json',
     'Accept: application/vnd.api+json',
  );
 $postStr = json_encode(array(
     'grant_type' => 'client_credentials',
     'client_id' => '3D7f3fda97-d8e2-b9ad-eb89-5a2fe9b07650',
     'client_secret' => 'client_secret',
 ));
 $url = 'https://path-to-instance/Api/access_token';
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
 curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 $output = curl_exec($ch);

Resposta de exemplo:
{
“token_type”:”Bearer”,
“expires_in”:3600,
“access_token”:”eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdkOTEyODNhMjc1NDdkNDRlMzNmOTc5ZjVmMGRkYzQwNzg1ZGY5NGFhMWI5MDVlZGNmMzg3NWIxYjJkZDMzNDljZWEyNjZhMTQ2OTE5OWIzIn0.eyJhdWQiOiJzdWl0ZWNybV9jbGllbnQiLCJqdGkiOiI3ZDkxMjgzYTI3NTQ3ZDQ0ZTMzZjk3OWY1ZjBkZGM0MDc4NWRmOTRhYTFiOTA1ZWRjZjM4NzViMWIyZGQzMzQ5Y2VhMjY2YTE0NjkxOTliMyIsImlhdCI6MTUxODE5NTEwMiwibmJmIjoxNTE4MTk1MTAyLCJleHAiOjE1MTgxOTg3MDIsInN1YiI6IjEiLCJzY29wZXMiOltdfQ.EVGuRisoMxSIZut3IWtgOYISw8lEFSZgCWYCwseLEfOuPJ8lRMYL4OZxhu9gxJoGF0nj3yc6SYDPxovrsoj8bMoX38h4krMMOHFQLoizU0k2wAceOjZG1tWKPhID7KPT4TwoCXbb7MqAsYtVPExH4li7gSphJ8wvcWbFdS5em89Ndtwqq3faFtIq6bv1R4t0x98HHuT7sweHUJU40K9WQjbAfIOk8f5Y6T2wassN2wMCBB8CC6eUxLi14n2D6khHvkYvtPbXLHpXSHZWvEhqhvjAeSR5MmMrAth9WDSWUx7alO-ppsZpi8U7-g9Be5p6MRatc25voyTI2iTYbx02FQ”,
}

token_type the Bearer token value
expires_in um número inteiro que representa o TTL do token de acesso.
access_token um JWT assinado com a chave privada do servidor de autorização. É necessário que você inclua isso nos cabeçalhos HTTP, cada vez que você fizer uma solicitação à API.

Você pode armazenar o token do portador em um banco de dados e usá-lo em suas solicitações como esta:

 

Exemplo:

$header = array(
    'Content-type: application/vnd.api+json',
    'Accept: application/vnd.api+json',
    'Authorization: Bearer ' . $your_saved_access_token
 );


Concessão de senha
A concessão de senha é usada para permitir que os usuários façam login no SuiteCRM com um nome de usuário e uma senha. Selecione a nova senha do cliente:

Comece configurando a concessão:

Nome
Isso facilita a identificação do cliente.

Segredo
Define o client_secret que é postado no servidor durante a autenticação.

Confidencial
Um cliente confidencial é um aplicativo capaz de manter a senha de um cliente confidencial para o mundo.

O ‘segredo’ será criptografado quando salvo e não estará acessível mais tarde. O ‘id’ é criado pelo SuiteCRM e ficará visível assim que o cliente for salvo.

 

Autenticação com concessão de senha
POST /Api/access_token

 

Parâmetros necessários

Parâmetro Valor
grant_type Senha
client_id ExemploDeNomeDeCliente
client_secret ExemploDeSenhaSecreta
username Admin
password Secreto

Altere os valores em negrito para corresponder aos detalhes de autenticação escolhidos.

 

Solicitação de exemplo (PHP):

$ch = curl_init();
 $header = array(
     'Content-type: application/vnd.api+json',
     'Accept: application/vnd.api+json',
  );
 $postStr = json_encode(array(
     'grant_type' => 'password',
     'client_id' => '3D7f3fda97-d8e2-b9ad-eb89-5a2fe9b07650',
     'client_secret' => 'client_secret',
     'username' => 'admin',
     'password' => 'admin',
 ));
 $url = 'https://path-to-instance/Api/access_token';
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
 curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 $output = curl_exec($ch);

 

Resposta de exemplo:

{
    "token_type":"Bearer",
    "expires_in":3600,
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdkOTEyODNhMjc1NDdkNDRlMzNmOTc5ZjVmMGRkYzQwNzg1ZGY5NGFhMWI5MDVlZGNmMzg3NWIxYjJkZDMzNDljZWEyNjZhMTQ2OTE5OWIzIn0.eyJhdWQiOiJzdWl0ZWNybV9jbGllbnQiLCJqdGkiOiI3ZDkxMjgzYTI3NTQ3ZDQ0ZTMzZjk3OWY1ZjBkZGM0MDc4NWRmOTRhYTFiOTA1ZWRjZjM4NzViMWIyZGQzMzQ5Y2VhMjY2YTE0NjkxOTliMyIsImlhdCI6MTUxODE5NTEwMiwibmJmIjoxNTE4MTk1MTAyLCJleHAiOjE1MTgxOTg3MDIsInN1YiI6IjEiLCJzY29wZXMiOltdfQ.EVGuRisoMxSIZut3IWtgOYISw8lEFSZgCWYCwseLEfOuPJ8lRMYL4OZxhu9gxJoGF0nj3yc6SYDPxovrsoj8bMoX38h4krMMOHFQLoizU0k2wAceOjZG1tWKPhID7KPT4TwoCXbb7MqAsYtVPExH4li7gSphJ8wvcWbFdS5em89Ndtwqq3faFtIq6bv1R4t0x98HHuT7sweHUJU40K9WQjbAfIOk8f5Y6T2wassN2wMCBB8CC6eUxLi14n2D6khHvkYvtPbXLHpXSHZWvEhqhvjAeSR5MmMrAth9WDSWUx7alO-ppsZpi8U7-g9Be5p6MRatc25voyTI2iTYbx02FQ",
    "refresh_token":"def50200d2fb757e4c01c333e96c827712dfd8f3e2c797db3e4e42734c8b4e7cba88a2dd8a9ce607358d634a51cadd7fa980d5acd692ab2c7a7da1d7a7f8246b22faf151dc11a758f9d8ea0b9aa3553f3cfd3751a927399ab964f219d086d36151d0f39c93aef4a846287e8467acea3dfde0bd2ac055ea7825dfb75aa5b8a084752de6d3976438631c3e539156a26bc10d0b7f057c092fce354bb10ff7ac2ab5fe6fd7af3ec7fa2599ec0f1e581837a6ca2441a80c01d997dac298e1f74573ac900dd4547d7a2a2807e9fb25438486c38f25be55d19cb8d72634d77c0a8dfaec80901c01745579d0f3822c717df21403440473c86277dc5590ce18acdb1222c1b95b516f3554c8b59255446bc15b457fdc17d5dcc0f06f7b2252581c810ca72b51618f820dbb2f414ea147add2658f8fbd5df20820843f98c22252dcffe127e6adb4a4cbe89ab0340f7ebe8d8177ef382569e2aa4a54d434adb797c5337bfdfffe27bd8d5cf4714054d4aef2372472ebb4"
}
token_type the Bearer token value
expires_in um número inteiro que representa o TTL do token de acesso.
access_token um JWT assinado com a chave privada do servidor de autorização. É necessário que você inclua isso nos cabeçalhos HTTP, cada vez que você fizer uma solicitação à API.
refresh_token uma carga criptografada que pode ser usada para atualizar o token de acesso quando ele expira.

um número inteiro que representa o TTL do token de acesso

 

Exemplo:

$header = array(
   ‘Content-type: application/vnd.api+json’,
   ‘Accept: application/vnd.api+json’,
   ‘Authorization: Bearer ‘ . $your_saved_access_token
);