Создание профиля
Создание личного кабинета (юнита) для клиента маркетплейса.
Обязательные параметры запроса: INN, ORGANISATION_SHORT_NAME, EMAIL, URL, UNITID - номер юнита группы “Зарегистрированные клиенты”.
Ответ содержит номер созданного личного кабинета (юнита) клиента.
Запрос:
{
"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
}
}
}
<?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.
Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.