PHP code example of rrd108 / nav-m2m

1. Go to this page and download the library: Download rrd108/nav-m2m 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/ */

    

rrd108 / nav-m2m example snippets




rd108\NavM2m\NavM2m;

$client = [
    'id' => $_ENV['NAV2M2M_CLIENT_ID'], // a kliens program azonosítója az UPO-nál
    'secret' => $_ENV['NAV2M2M_CLIENT_SECRET'], // a kliens program titkos kulcsa az UPO-nál
];

$navM2m = new NavM2m(mode: 'sandbox', client: $client, logger: true); // tesztkörnyezet
// vagy
$navM2m = new NavM2m(mode: 'production', client: $client); // éles környezet

    $user = $navM2m->getInactiveUser($_ENV['NAV2M2M_USER_TEMPORARY_API_KEY']);
    

    $token = $navM2m->createToken($user);
    

    $response = $navM2m->activateUser($user, $token['accessToken']);
    // TODO el kell tárolni a username ($user['id]), password ($user['password']) és signingKey-t ($response['signatureKey']) az adatbázisban a userhez
    

$result = $navM2m->addFile(
    file: 'bizonylat/xml/file/eleresi/utja',
    signatureKey: $user['signatureKey'],
    accessToken: $token['accessToken'],
);
$fileId = $result['fileId'];
$correlationId = $result['correlationId'];
echo "Fájl feltöltve. File ID: " . $fileId;

$result = $navM2m->createDocument(
    fileId: $fileId,
    correlationId: $correlationId,
    signatureKey: $user['signatureKey'],
    accessToken: $token['accessToken']
);

$result = $navM2m->updateDocument(
    fileId: $fileId,
    correlationId: $correlationId,
    signatureKey: $user['signatureKey'],
    accessToken: $token['accessToken']
);

$navM2m = new NavM2m(mode: 'sandbox', client: $client, logger: true);

// Példa Monolog használatával
$logger = new Monolog\Logger('nav-m2m');
$logger->pushHandler(new Monolog\Handler\StreamHandler('nav-m2m.log'));

$loggerCallback = function($message) use ($logger) {
    $logger->info($message);
};

$navM2m = new NavM2m(
    mode: 'sandbox',
    client: $client,
    logger: true,
    loggerCallback: $loggerCallback
);

// Példa CakePHP Log használatával
$loggerCallback = function($message) {
    \Cake\Log\Log::debug($message, 'nav-m2m');
};

$navM2m = new NavM2m(
    mode: 'sandbox',
    client: $client,
    logger: true,
    loggerCallback: $loggerCallback
);