Заполнение юридических реквизитов
Заполнение подпрофиля юридических реквизитов в личном кабинете (юните) клиента маркетплейса Для сохранения данных в подпрофиле юридических реквизитов необходимо сначала получить id подпрофиля юридических реквизитов запросом FindLegalInformationRequest.
Примечание: Запрос является экспериментальным, может быть изменен без предупреждения.
Отправлять запрос необходимо на http://moneta.ru/schemas/messages-frontend.xsd
WSDL документ: https://moneta.ru/services-frontend.wsdl
Запрос:
{
"Envelope":{
"Header":{
"PayloadNamespace" : "http://moneta.ru/schemas/messages-frontend.xsd",
"Security":{
"UsernameToken":{
"Username":"Username",
"Password":"Password"
}
}
},
"Body":{
"SaveLegalInformationRequest": {
"legalInformation": {
"unitId": "12345",
"id": 1878,
"okato": "00000000"
}
}
}
}
}
Ответ:
{
"Envelope":{
"Header":{
"PayloadNamespace":"http://moneta.ru/schemas/messages-frontend.xsd",
"Security":{
"UsernameToken":{
"Username":"Username",
"Password":"Password"
}
}
},
"Body":{
"SaveLegalInformationRequest":{
"legalInformation":{
"unitId":"12345",
"id":1878,
"okato":"00000000"
}
}
}
}
}
<?php
if (isset($_POST['unit_id']) && isset($_POST['submit'])) {
$sdkAppFileName = __DIR__ . "/../moneta-sdk-lib/autoload.php";
include_once($sdkAppFileName);
try {
$monetaSdk = new \Moneta\MonetaSdk();
$username = $monetaSdk->settings['monetasdk_account_username'];
$password = $monetaSdk->settings['monetasdk_account_password'];
$url = 'https://demo.moneta.ru/services';
$requestData = [
"Envelope" =>
[
"Header" =>
[
"Security" =>
[
"UsernameToken" =>
[
"Username" => $username,
"Password" => $password,
],
],
"PayloadNamespace" => "http://moneta.ru/schemas/messages-frontend.xsd",
],
"Body" =>
[
"SaveLegalInformationRequest" =>
[
"legalInformation" =>
[
"unitId" => $_POST['unit_id'],
"id" => $_POST['doc_id'],
"okato" => $_POST['okato'],
"okved" => $_POST['okved'],
],
],
],
],
];
$requestData = json_encode($requestData);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;charset=UTF-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
if (!$result['Envelope']['Body']['SaveLegalInformationResponse']['id']) {
throw new Exception(print_r($result, true));
}
echo "Юридические реквизиты успешно сохранены.";
} catch (Exception $e) {
echo "Произошла ошибка:<br />";
echo "<pre>" . $e->getMessage() . "</pre>";
}
} else {
echo '
<form method="post">
unit ID организации (площадки):<br/>
<input type="text" name="unit_id" required="required"/><br/><br/>
ID документа юридических реквизитов:<br/>
<input type="text" name="doc_id" required="required"/><br/><br/>
ОКАТО:<br/>
<input type="text" name="okato" required="required"/><br/><br/>
ОКВЭД:<br/>
<input type="text" name="okved" required="required" placeholder="XX.XX.XX, XX.XX.XX"/><br/><br/>
<input type="submit" name="submit" value="Сохранить юридические реквизиты"/>
</form>
';
}
Все запросы маркетплейс отправляет с помощью интерфейса MONETA.MerchantAPI.
Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.