Создание личного кабинета (юнита) для клиента маркетплейса.
Обязательные параметры запроса: INN, ORGANISATION_SHORT_NAME, EMAIL, URL, UNITID - номер юнита группы “Зарегистрированные клиенты”.
Ответ содержит номер созданного личного кабинета (юнита) клиента.
Copy Запрос :
{
"Envelope" : {
"Header" : {
"Security" : {
"UsernameToken" : {
"Username" : "Username" ,
"Password" : "Password"
}
}
} ,
"Body" : {
"CreateProfileRequest" : {
"unitId" : НОМЕР ЮНИТА ГРУППЫ "ЗАРЕГИСТРИРОВАННЫЕ ПАРТНЕРЫ ПЛОЩАДКИ" ,
"profileType" : "organization" ,
"profile" : {
"attribute" : [
{
"key" : "ORGANIZATION_NAME_SHORT" ,
"value" : "ООО Маркетплейс"
} ,
{
"key" : "INN" ,
"value" : "1234567890"
} ,
{
"key" : "CONTACT_EMAIL" ,
"value" : "test@test.ru"
} ,
{
"key" : "URL" ,
"value" : "payanyway.marketplace.ru"
}
]
}
}
}
}
}
Ответ :
{
"Envelope" : {
"Body" : {
"CreateProfileResponse" : 12345
}
}
}
Copy <? php
if (isset($_POST['org_name_short']) && isset($_POST['org_inn']) && isset($_POST['org_email']) && isset($_POST['org_url'])) {
$sdkAppFileName = __DIR__ . "/../moneta-sdk-lib/autoload.php" ;
include_once ($sdkAppFileName);
try {
$monetaSdk = new \ Moneta \ MonetaSdk ();
$monetaSdk -> checkMonetaServiceConnection () ;
$request = new \ Moneta \ Types \ CreateProfileRequest ();
$request -> unitId = 1111111111 ;
$request -> profileType = \ Moneta \ Types \ ProfileType :: organization;
$profile = new \ Moneta \ Types \ Profile ();
//краткое название организации
$attribute = new \ Moneta \ Types \ KeyValueApprovedAttribute ();
$attribute -> approved = false ;
$attribute -> key = "ORGANIZATION_NAME_SHORT" ;
$attribute -> value = $_POST[ 'org_name_short' ];
$profile -> addAttribute ( $attribute ) ;
//ИНН организации
$attribute = new \ Moneta \ Types \ KeyValueApprovedAttribute ();
$attribute -> approved = false ;
$attribute -> key = "INN" ;
$attribute -> value = $_POST[ 'org_inn' ];
$profile -> addAttribute ( $attribute ) ;
//контактный e-mail
$attribute = new \ Moneta \ Types \ KeyValueApprovedAttribute ();
$attribute -> approved = false ;
$attribute -> key = "CONTACT_EMAIL" ;
$attribute -> value = $_POST[ 'org_email' ];
$profile -> addAttribute ( $attribute ) ;
//адрес сайта организации
$attribute = new \ Moneta \ Types \ KeyValueApprovedAttribute ();
$attribute -> approved = false ;
$attribute -> key = "URL" ;
$attribute -> value = $_POST[ 'org_url' ];
$profile -> addAttribute ( $attribute ) ;
$request -> profile = $profile;
//создание новой организации(продавца)
$result = $monetaSdk -> monetaService -> CreateProfile ( $request ) ;
if ( is_array ( $result ) || ( strlen ( $result ) !== strlen ( intval ( $result )) )) {
throw new Exception ( print_r ( $result , true ) );
}
echo "UNIT ID нового продавца: $result<br/><br/>" ;
echo "Запишите UNIT ID нового продавца. Он понадобится для совершения дальнейших шагов." ;
} catch ( Exception $e) {
echo "Произошла ошибка:<br />" ;
echo "<pre>" . $e -> getMessage () . "</pre>" ;
}
} else {
echo '
<form method="post">
Краткое название организации:<br/>
<input type="text" name="org_name_short" placeholder="ООО "Маркетплейс""/><br/><br/>
ИНН организации:<br/>
<input type="text" name="org_inn"/><br/><br/>
Контактный e-mail:<br/>
<input type="text" name="org_email"/><br/><br/>
Url сайта:<br/>
<input type="text" name="org_url" placeholder="http://example.ru"/><br/><br/>
<input type="submit" value="Создать профиль организации"/>
</form>
' ;
}
Полученное значение unitid маркетплейсу необходимо сохранить в своей системе учета.
Каждому юниту (unitid) соответствует базовый профиль (profileid), его значение можно получить в ответе на запрос CheckProfileRequest.
Все запросы маркетплейс отправляет с помощью интерфейса MONETA.MerchantAPI.