Может быть кому то и пригодится, кто будет искать это в сл раз как я)
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\RequestOptions;
use Exception;
$client = new Client();
$subdomain = 'subdomain'; //Поддомен нужного аккаунта
$link = 'https://' . $subdomain . '.amocrm.ru/oauth2/access_token'; //Формируем URL для запроса
/** Соберем данные для запроса */
$data = [
'client_id' => 'client_id',
'client_secret' => 'client_secret',
'grant_type' => 'authorization_code',
'code' => 'code',
'redirect_uri' => 'redirect_uri',
];
try {
$response = $client->request('POST', $link, [
'headers' => [
'Content-Type' => 'application/json',
'User-Agent' => 'amoCRM-oAuth-client/1.0'
],
RequestOptions::JSON => $data
]);
$resp = json_decode($response->getBody()->getContents()); # возвращается у нас stdClass, и обращение к элементам идет $resp->token_type, $resp->expires_in, $resp->access_token, $resp->refresh_token
print_r($resp->token_type);
print_r($resp->expires_in);
print_r($resp->access_token);
print_r($resp->refresh_token);
} catch (GuzzleException | Exception $e) {
print_r($e->getMessage());
}
сам пока допер прошло не мало времени) может кому поможет)