API

Сервис “Mail.Ru для Бизнеса” предоставляет почту для вашей компании. Для пользования некоторыми возможностями данного сервиса доступно API по адресу https://biz.mail.ru/api/v1/. Для доступа к методам API используется протокол HTTPS. Все ответы API имеют JSON-формат.

Все таймстампы возвращаются в формате ISO 8601, в UTC:

YYYY-MM-DDTHH:MM:SSZ

Для регистрации клиента API, а также в случае возникновения вопросов и предложений следует обратиться в службу поддержки.

Параметры

Некоторые параметры запросов, такие как идентификатор домена, идентификатор пользователя, передаются как часть адреса:

https://biz.mail.ru/api/v1/domain/{domain_id}/users/{user_id}

Остальные параметры передаются в зависимости от типа запроса либо в теле запроса, либо в строке запроса. Для GET-запросов параметры методов передаются в строке запроса.

curl "https://biz.mail.ru/api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830&parameter1=value1&parameter2=value2"

GET /api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830&parameter1=value1&parameter2=value2
Host: biz.mail.ru

Для остальных типов запросов параметры методов передаются в теле запроса. Содержимое тела запроса в этом случае определяется типом указанным в заголовке Content-Type запроса:

  • application/x-www-form-urlencoded
curl -X POST  "https://biz.mail.ru/api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830" -d "parameter1=value1&parameter2=value2"

POST /api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830
Host: biz.mail.ru
Content-Type: application/x-www-form-urlencoded

parameter1=value1&parameter2=value2
  • application/json
curl -X POST  'https://biz.mail.ru/api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830' -d '{"parameter1": "value1", "parameter2": "value2"}' -H 'Content-Type: application/json'

POST /api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830
Host: biz.mail.ru
Content-Type: application/x-www-form-urlencoded

{"parameter1": "value1", "parameter2": "value2"}
  • multipart/form-data
curl -X POST  "https://biz.mail.ru/api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830" -F "parameter1=value1" -F "parameter2=value2"

POST /api/v1/test?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830'
Host: biz.mail.ru
Content-Type: multipart/form-data; boundary=------------------------------7b1bfd973086

------------------------------7b1bfd973086
Content-Disposition: form-data; name="parameter1"

value1
------------------------------7b1bfd973086
Content-Disposition: form-data; name="parameter2"

value2
------------------------------7b1bfd973086--

Авторизация

Авторизация клиентов API выполняется на основе протокола авторизации OAuth 2.0. В каждом запросе помимо параметров вызываемого метода следует передавать access token. Процедуры получения и обновления access token описаны в главе “OAuth 2.0 Авторизация”.

Примеры

  • GET-запрос

    curl "https://biz.mail.ru/api/v1/domains?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830"
    
    GET /api/v1/domains?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830
    Host: biz.mail.ru
    
  • POST-запрос

    curl -X POST "https://biz.mail.ru/api/v1/domains?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830" -d "name=domain.net"
    
    POST /api/v1/domains?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830
    Host: biz.mail.ru
    Content-Type: application/x-www-form-urlencoded
    
    name=domain.net
    
  • PUT-запрос

    curl -X PUT "https://biz.mail.ru/api/v1/domains/1/users/2341?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830" -d "lastname=Kotikov"
    
    PUT /api/v1/domains?access_token=5c918ed51f38749782b8b2c3ad41a265e560661137363830
    Host: biz.mail.ru
    Content-Type: application/x-www-form-urlencoded
    
    lastname=Kotikov
    

access token можно передавать как часть строки запроса (см. выше) или включать его в заголовок Authorization: Bearer.

Пример

curl "https://biz.mail.ru/api/v1/domains" -H "Authorization: Bearer 5c918ed51f38749782b8b2c3ad41a265e560661137363830"

GET /api/v1/domains
Authorization: Bearer 5c918ed51f38749782b8b2c3ad41a265e560661137363830
Host: biz.mail.ru

Ошибки клиента

В случае ошибок клиента возвращается ответ с HTTP-кодом 400.

Ответ

HTTP 400 BAD REQUEST

{
  "code": 0,
  "message": "Ошибка валидации данных.",
  "data":  {
    "name": ["Недопустимое имя домена"]
  }
}

Описание полей

Название Тип Описание
message String Текст описания ошибки.
code Number Уникальный код ошибки.
data String Дополнительная информация об ошибке. Может отсутствовать.

Общие ошибки

code message
0 Ошибка валидации данных
1 Домен не подтвержден
2 В данный момент Вы не можете воспользоваться выбранной услугой

Для неавторизованных пользователей отдается ответ с HTTP-кодом 403.

HTTP 403 FORBIDDEN

{
  "message": "Authentication credentials were not provided."
}

В случае превышения лимита запросов к какому-либо из методов отдается ответ с HTTP-кодом 429.

Действующие ограничения

  • Любые запросы с одного IP-адреса (не более 200 запросов в минуту)
  • Запросы на добавление домена (не более 50 запросов в минуту)