Результаты поиска
    Ничего не найдено
    Оглавление
    Заполнение юридических реквизитов

    Заполнение юридических реквизитов

    Заполнение подпрофиля юридических реквизитов в личном кабинете (юните) клиента маркетплейса Для сохранения данных в подпрофиле юридических реквизитов необходимо сначала получить 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) для передачи информации.