Результаты поиска
    Ничего не найдено
    Оглавление
    Создание профиля

    Создание профиля

    Создание личного кабинета (юнита) для клиента маркетплейса.

    Обязательные параметры запроса: 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="ООО &#34;Маркетплейс&#34;"/><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) для передачи информации.