Получение мастер-аккаунта
Описание
Endpoint возвращает данные одного мастер-аккаунта проекта, к которому привязан ваш Application Token.
Аккаунт можно найти по одному из трёх идентификаторов: user_id, email или phone. Набор полей в ответе совпадает с полями элемента списка из endpoint'а Список мастер-аккаунтов, поэтому оба endpoint'а можно обрабатывать одной моделью данных.
Вы можете использовать данный endpoint для:
Проверки существования аккаунта перед начислением баланса или выдачей предметов
Получения
user_idпо email или телефону из внешней системыОтображения профиля игрока в CRM, службе поддержки или боте
Endpoint возвращает персональные данные пользователя (email, телефон, IP). Выдавайте право
Получение мастер аккаунта (v2)только тем ключам, которым оно действительно необходимо.
Endpoint
GET https://api.mmoweb.biz/v2/master-accountТребуемое разрешение ключа: Получение мастер аккаунта (v2)
Параметры
Все параметры передаются в строке запроса (query string). Необходимо передать хотя бы один идентификатор.
user_id
integer
Да, если не переданы email и phone
Целое число ≥ 1
Идентификатор мастер-аккаунта
email
string
Да, если не переданы user_id и phone
Валидный email без пробелов
Email мастер-аккаунта
phone
string
Да, если не переданы user_id и email
Только цифры, от 7 до 18 символов, первая цифра не 0
Телефон мастер-аккаунта
Приоритет идентификаторов. Если передано несколько параметров, используется первый непустой в порядке
user_id→phone, остальные игнорируются. Например, при запросе?user_id=123&email=user@example.comпоиск выполняется только поuser_id.
Формат телефона. Передавайте телефон одной строкой цифр: код страны и номер, без
+, пробелов, скобок и дефисов. Например,+7 (900) 123-45-67передаётся как79001234567. Код страны обязателен и должен совпадать с тем, что указан у пользователя.
Кодировка
Запрос
Значения параметров передаются в кодировке UTF-8 и должны быть URL-кодированы (percent-encoding), как и любые данные в query string.
Символ
+в email обязательно кодируйте как%2B. Незакодированный+в query string читается как пробел, и такой email не пройдёт проверку.Символ
@допускается как в исходном виде, так и в виде%40.Пробелы в значениях не допускаются, в том числе по краям.
user@example.com
email=user%40example.com или email=user@example.com
user+promo@example.com
email=user%2Bpromo%40example.com
+7 (900) 123-45-67
phone=79001234567 (после очистки от нецифровых символов)
Стандартные средства формирования query string кодируют значения автоматически: URLSearchParams в JavaScript, http_build_query() в PHP, --data-urlencode в cURL.
Ответ
Ответ возвращается в формате JSON в кодировке UTF-8 с заголовком Content-Type: application/json.
Примеры
Поиск по user_id
Поиск по email
Поиск по телефону
Ответы
Успешный ответ (200 OK)
Поля аккаунта:
id
integer
Идентификатор мастер-аккаунта
email
string | null
phone
string | null
Телефон. "0" означает, что телефон не указан
shield
integer
Включена ли дополнительная защита аккаунта (1 — да, 0 — нет)
affiliate
integer
Идентификатор пригласившего аккаунта, 0 — реферал не установлен
select_lid
integer
Идентификатор выбранного логин-сервера
select_sid
integer
Идентификатор выбранного игрового сервера
project_id
integer
Идентификатор проекта
status
integer
Статус аккаунта (0 — активный, 1 — email не подтверждён, 2 — заблокирован)
desc_status
string | null
Сообщение, которое видит пользователь при блокировке
created_at
string
Дата регистрации в формате YYYY-MM-DD HH:MM:SS
last_login
string | null
Дата последнего входа в формате YYYY-MM-DD HH:MM:SS
last_ip
string | null
IP-адрес последнего входа
email_valid
integer
Подтверждён ли email (1 — да, 0 — нет)
lang
string | null
Язык интерфейса пользователя
iso
string | null
ISO-код страны
telegram
string | null
Telegram пользователя
Не передан идентификатор (400 Bad Request)
Когда встречается: в запросе нет ни одного из параметров
user_id,phone, либо все они пустые
Неверный формат параметра (400 Bad Request)
Когда встречается:
user_idне является целым числом≥ 1,phoneсодержит символы кроме цифр, начинается с0или не подходит по длине. Вmessageвозвращается объект, где ключ — имя параметра, а значение — описание ошибки
Аккаунт не найден (404 Not Found)
Когда встречается: в проекте нет мастер-аккаунта с указанным идентификатором
Недостаточно прав (403 Forbidden)
Когда встречается: у Application Token не включено разрешение
Получение мастер аккаунта (v2)
Коды ошибок
VALIDATION_ERROR
400
Не передан идентификатор или он не соответствует формату
Передайте один из user_id, email, phone в формате из раздела «Параметры»
USER_NOT_FOUND
404
Аккаунт с таким идентификатором не найден в проекте
Проверьте идентификатор; для телефона убедитесь, что код страны указан так же, как у пользователя
ACCESS_DENIED
403
У токена нет разрешения на этот endpoint
Включите разрешение Получение мастер аккаунта (v2) для ключа в панели администратора
Ошибки аутентификации (EMPTY_TOKEN, INVALID_TOKEN, TOKEN_NOT_FOUND, TOKEN_DISABLED) общие для всех endpoint'ов API v2 и описаны во введении.
Важные особенности
Только текущий проект
Токен привязан к одному проекту. Endpoint ищет аккаунт только среди мастер-аккаунтов этого проекта, параметра для выбора проекта нет. Для аккаунта другого проекта вернётся USER_NOT_FOUND.
Один запрос — один аккаунт
Endpoint всегда возвращает ровно один аккаунт или ошибку USER_NOT_FOUND. Для получения нескольких аккаунтов используйте Список мастер-аккаунтов.
Телефон — только цифры
Запрос с +, пробелами, скобками или дефисами в phone отклоняется с VALIDATION_ERROR. Очищайте номер от нецифровых символов на своей стороне перед вызовом, как показано в примерах. Значение 0 не принимается: по нему нельзя найти аккаунт без телефона.
Сравнение email
Регистр букв в email не учитывается: User@Example.com и user@example.com находят один и тот же аккаунт. Алиасы вида user+promo@example.com и user@example.com считаются разными адресами.
Рекомендации
Безопасность:
Храните Application Token на сервере и никогда не передавайте его в браузер или мобильное приложение
Не логируйте ответ endpoint'а целиком: он содержит персональные данные пользователя
Используйте HTTPS для всех запросов
Надёжность:
Предпочитайте поиск по
user_id: он однозначен и не зависит от формата email или телефонаОбрабатывайте
USER_NOT_FOUNDкак штатный результат, а не как сбойРеализуйте retry logic с экспоненциальной задержкой при ошибках 5xx и сетевых сбоях
Интеграция:
Формируйте query string стандартными средствами языка, чтобы не ошибиться с кодированием
+и@Сохраняйте
user_idна своей стороне после первого успешного поиска по email или телефонуУбедитесь, что токен приложения имеет разрешение
Получение мастер аккаунта (v2)
Last updated
Was this helpful?