CreateProfileRequest

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

Обязательные параметры запроса: 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) для передачи информации.

Last updated