Update partner user
Last updated: 30-Mar-2022
Rate this article:
Overview
Use the updatePartnerUser method via JSON-RPC API 6.0 to update a partner user.
Required parameters
Parameter | Type | Required/Optional | Description |
---|---|---|---|
sessionID | String | Required | Output of the Login method. |
UUID | String | Required | Partner unique identifier. |
partnerUserUUID | String | Required | Partner user unique identifier. |
Request sample
<?php
declare(strict_types=1);
class Configuration
{
public const MERCHANT_CODE = '';
public const MERCHANT_KEY = '';
public const URL = 'http://api.2checkout.com/rpc/6.0';
public const ACTION = 'updatePartnerUser';
public const ADDITIONAL_OPTIONS = null;
public const PARTNER_UUID = '95b6b8bd-20db-478a-9682-d165f5d85d46';
public const PARTNER_USER_UUID = '95c329d6-b45d-44ea-856a-1af254d06ae9';
//array or JSON
public const PAYLOAD = <<<JSON
{
"Email": "test@test.com",
"FirstName": "test",
"LastName": "test",
"Position": "test",
"PhoneNumber": "98765432123",
"MobilePhone": "8179186432",
"Status": "ACTIVE"
}
JSON;
}
class Client
{
private const LOGIN_METHOD = 'login';
private $calls = 1;
private $sessionId;
private function generateAuth(): array
{
$merchantCode = Configuration::MERCHANT_CODE;
$key = Configuration::MERCHANT_KEY;
$date = gmdate('Y-m-d H:i:s');
$string = strlen($merchantCode) . $merchantCode . strlen($date) . $date;
$hash = hash_hmac('md5', $string, $key);
return compact('merchantCode', 'date', 'hash');
}
public function login(string $url)
{
$payload = $this->generateAuth();
$response = $this->call($url, array_values($payload), self::LOGIN_METHOD);
$this->sessionId = $response['result'];
}
public function call(
string $url = Configuration::URL,
$payload = Configuration::PAYLOAD,
string $action = Configuration::ACTION
): ?array {
if (empty($this->sessionId) && $action !== self::LOGIN_METHOD) {
$this->login($url);
}
if(is_string($payload)) {
$payload = json_decode($payload, true);
}
if (!empty($this->sessionId)) {
$payload = [$this->sessionId, Configuration::PARTNER_UUID, Configuration::PARTNER_USER_UUID, $payload];
}
$payload = array_filter($payload);
$request = json_encode([
'jsonrpc' => '2.0',
'method' => $action,
'params' => $payload,
'id' => $this->calls++,
]);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSLVERSION, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Accept: application/json', 'Cookie: XDEBUG_SESSION=PHPSTORM'));
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($curl);
if(empty($response)) {
die('Server unavailable');
}
echo $response . '</br>';
return json_decode($response, true);;
}
}
$client = new Client();
$result = $client->call();
var_dump($result);
Response
{
"UUID": "95d59280-3b7d-4d5b-8b9f-7b66fe900045",
"Email": test@test.com,
"FirstName": "test2",
"LastName": "test2",
"Position": "test2",
"PhoneNumber": "98765432123",
"MobilePhone": null,
"Status": "ACTIVE"
}
Rate this article: