MyChat Integration API: MCIAPI_CS_RegisterNewUser

MyChat Integration API: MCIAPI_CS_RegisterNewUser

Зарегистрировать на сервере нового пользователя.

 

Синтаксис

0010 MCIAPI_CS_RegisterNewUser

{

 "ServerKey"  : "iddqd",

 "APIStype"   : "mydata",

 

 "Nick"       : "JohnSmith",

 "Password"   : "mysecretword",

 "Email"      : "john@fbi.com",

 "Domain"     : "circle1.fbi.com",

 

 "FirstName"  : "John",

 "LastName"   : "Smith",

 "MiddleName" : "M.",

 "Sex"        : 1,

 "IP"         : "192.168.10.137",

 "NetName"    : "comp01",

 "ClientType" : "web",

 "AuthType"   : 0

}

 

Параметры

Параметр

Тип

Значение

ServerKey

string

ключ IntegrationAPI, задаётся в настройках сервера;

APIStype

string

тип интеграции. Можно задавать произвольную строку;

Nick

string

ник пользователя, обязательное уникальное поле;

Password

string

пароль пользователя. Может быть пустым, если используется безпарольная аутентификация;

Email

string

адрес электронной почты пользователя. Необязательный параметр;

Domain

string

имя домена пользователя. Необязательный параметр;

FirstName

string

имя пользователя. Необязательный параметр;

LastName

string

фамилия пользователя. Необязательный параметр;

MiddleName

string

отчество пользователя. Необязательный параметр;

Sex

integer

пол пользователя. Необязательный параметр. По умолчанию устанавливается в "неизвестно";

IP

string

IP адрес пользователя. Необязательный параметр;

NetName

string

сетевое имя компьютера пользователя. Необязательный параметр;

ClientType

string

тип клиентского приложения. Один из вариантов;

AuthType

integer

тип аутентификации пользователя, цифра.

 

Результат работы

{

 "Cmd" : 16,

 "UIN" : 39

}

 

Поле

Тип

Значение

Cmd

integer

номер команды, которая была успешно выполнена, равно 16 (HEX 0010);

UIN

integer

уникальный идентификатор созданного пользователя (UIN).

 

Пример использования на языке PHP

<?php
$postData = (array                                         // заполнение полей для запроса
    (
    'cmd'       => '0010',
    'Nick'      => 'JohnSnow',
    'Password'  => 'mysecretword',
    'Email'     => 'johnsnow@winterfell.com',
    'Domain'    => 'circle1.winterfell.com',
    'FirstName' => 'John',
    'LastName'  => 'Snow',
    'MiddleName'=> 'S.',
    'Sex'       => 1,
    'IP'        => '192.168.10.133',
    'NetName'   => 'throne1',
    'ClientType'=> 'web',
    'AuthType'  => 0,
    'APIStype'  => 'php',
    'ServerKey' => 'iddqd'
    )
);

$myCurl = curl_init();
curl_setopt_array($myCurl, array(
    CURLOPT_URL => 'https://192.168.10.133/API/',           // указываем путь входа
    CURLOPT_RETURNTRANSFER => true,                         // возврат результата передачи в качестве строки
    CURLOPT_SSL_VERIFYHOST => false,                        // отключение проверки SSL
    CURLOPT_SSL_VERIFYPEER => false,                        // отключение проверки SSL
    CURLOPT_POST => true,                                   // включение POST режима
    CURLOPT_HEADER => true,                                 // включение заголовков
    CURLOPT_HTTPHEADER => array('integrationapi: mychat'),  // добавление !обязательного! заголовка — integrationapi: mychat
    CURLOPT_POSTFIELDS => json_encode($postData)            // перечисление данных запроса в формате JSON 
    ));

$response = curl_exec($myCurl);                             // отправка запроса

if($response === FALSE){                                    // проверка ошибок
    die(curl_error($myCurl));
}
curl_close($myCurl);                                        // закрытие соединения

echo $response;                                             // вывод ответа
?>

Возможные ошибки

MCIAPI_Error_Nick_Already_Exists

MCIAPI_Error_NickCannotBeEmpty

MCIAPI_Error_WrongIntegrationKey

 

Ещё посмотреть

MCIAPI_CS_GetUINByEmail

MCIAPI_CS_GetUINByNick