PHP code example of magdv / diadoc-php

1. Go to this page and download the library: Download magdv/diadoc-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

magdv / diadoc-php example snippets




declare(strict_types=1);

use Diadoc\Proto\GetOrganizationsByInnListRequest;

tps://diadoc-api.kontur.ru/'
);

$token = $api->authenticateLogin('[email protected]', 'vvllvlvlv');

// это место использовать только если уже есть токен, когда не надо повторно логиниться
$api->setToken($token);


// выводим список контрагентов нашей организации
$orgId = 'ламлвоалоывлолыовлаоыловалоыва';
$contragents = $api->getCountragentsV2($orgId);

// количество контрагентов
var_dump($contragents->getTotalCount());

/** @var Diadoc\Proto\Counteragent $item */
foreach ($contragents->getCounteragents() as $item) {
    $org = $item->getOrganization();
    // пример вывода данных из ответа
    if ($org) {
        $d = [];
        $d['konturId'] = $org->getOrgId();
        $d['inn'] = $org->getInn();
        $d['fullName'] = $org->getFullName();
        $d['shortName'] = $org->getShortName();
        $d['kpp'] = $org->getKpp();
        $d['ogrn'] = $org->getOgrn();
        $d['isRoaming'] = $org->getIsRoaming();
    }
    var_dump($d);
}

$api = new \MagDv\Diadoc\DiadocApi(
    '111111111111111111111111111111111',
    'https://diadoc-api.kontur.ru/'
);
$token = $api->authenticateLogin('[email protected]', 'password');
$api->setToken($token);

$serviceUrl = 'https://diadoc-api.kontur.ru/';

$api = \MagDv\Diadoc\DiadocApi::create(
    new \MagDv\Diadoc\Auth\OidcAuthMode(
        'oauth-client-id',
        'oauth-client-secret',
        'https://identity.kontur.ru',
        $serviceUrl
    ),
    $serviceUrl
);

// 1. Получить URL авторизации и перенаправить пользователя
$authUrl = $api->buildAuthorizationUrl('https://app.example/oauth/callback', $state);

// 2. После редиректа обменять authorization code на токены
$api->exchangeAuthorizationCode($_GET['code'], 'https://app.example/oauth/callback');

// 3. Токены можно сохранить и восстановить позже
$session = $api->getOAuthSessionState();
$api->setOAuthSession($session['access_token'], $session['refresh_token'], $session['expires_at']);