Общие сведения

HTTP-cервис менеджера сервиса ПромоРегистрация предназначен для регистрации пользователя в облачном сервисе Фреш и выполняет следующие операции:

  1. Создание нового абонента
  2. Создание нового пользователя абонента
  3. Создание приложения нового абонента и оформление подписки на тариф
  4. Оповещение пользователя о регистрации в сервисе и создании приложения.

Пример настройки сервиса для использования программной регистрации 

Общие параметры, используемые в запросах к сервису

ИмяОписаниеПример
serverАдрес сервера сервиса. https://1cfresh.com
regАдрес сервиса регистрации. a/adm/hs/promo_reg
authorizationДанные авторизации Логин:Пароль в base64

Обычно HTTP-cервис менеджера сервиса ПромоРегистрация публикуется во внешней публикации менеджера сервиса. Корневое имя HTTP-cервиса  promo_reg. 

Общие параметры ответов всех методов

ПараметрТипОписание
errorБулевоУказывает, что во время выполнения метода возникла ошибка.
responseЧислоКод возврата. У каждого метода свой набор кодов возврата.
messageСтрокаКомментарий к выполненной операции (например, описание ошибки).

Пользователю менеджера сервиса, от имени которого вызывается какой-либо метод сервиса, должны быть назначены роли:

  • УдаленныйДоступБыстраяРегистрация
  • УдаленныйДоступВнешняяРегистрация

Также в информационной базе менеджера сервиса должны быть штатным образом настроены разрешения внешней регистрации.

Методы сервиса ПромоРегистрация

Сервис ПромоРегистрация поддерживает следующие методы:

МетодНазначение
check_userПроверяет существование в сервисе пользователя с указанным логином.
check_available_appПолучает список доступных видов приложений для тарифа.
sign_upИнициирует регистрацию абонента в сервисе и создание нового приложения (тип приложения определяется настройками внутри сервиса).
get_user_idВозвращает идентификатор пользователя сервиса по его логину.
get_app_urlВозвращает URL созданного приложения по указанному логину пользователя.
send_notificationОтправляет пользователю оповещение о результатах регистрации.
authorization_codeЗапрос кода авторизации стороннего приложения для нового зарегистрированного пользователя.
send_verificationОтправка письма верификации пользователю сервиса для авторизации стороннего приложения.

Метод check_user

Проверяет существование в сервисе пользователя с указанной электронной почтой.

Параметры запроса

ПараметрТипОбязательныйЗначение
email Строка (50)ДаАдрес электронной почты пользователя
validate_emailБулевоНетЕсли Истина, то проверяет адрес электронной почты на соответствие требованиям RFC 5321, RFC 5322, RFC 5335, RFC 5336 и RFC 3696. По умолчанию = Ложь.

Параметры ответа

ПараметрТипЗначение
urlСтрокаURL приложения, созданного при регистрации (если приложение уже подготовлено).
accountЧислоКод абонента, созданного при регистрации.
tenantЧислоНомер области, адрес которой приведен в параметре  url .
Пример запроса  Развернуть
POST {{server}}/{{reg}}/check_user
Authorization: Basic {{authorization}}
 
{
  "email":"user@mail.com",
  "validate_email": true
}
Пример ответа, если пользователь с указанным адресом не найден  Развернуть
{
  "response": 10404,
  "error": false,
  "message": "Пользователь с адресом электронной почты 'user@mail.com' не найден.",
  "url": "",
  "tenant": 0,
  "account": 0
}
Пример ответа для организации, регистрировавшей абонента  Развернуть
{
  "error": false,
  "response": 10200,
  "message": "",
  "url": "https://1cfresh.com/a/smtl/20",
  "tenant": 20,
  "account": 11
}
Пример ответа для прочей обслуживающей организации  Развернуть
{
  "error": false,
  "response": 10403,
  "message": "Указанный адрес электронной почты уже используется.",
  "url": "",
  "tenant": 0,
  "account": 0
}
Пример запроса с некорректным адресом электронной почты  Развернуть
POST {{server}}/{{reg}}/check_user
Authorization: Basic {{authorization}}
 
{
  "email":"user_mail.com",
  "validate_email": true
}
Пример ответа при некорректном адресе электронной почты  Развернуть
{
  "error": true,
  "response": 10400,
  "message": "Указан некорректный адрес электронной почты.",
  "url": "",
  "tenant": 0,
  "account": 0
}

Возможные коды ответа

Код

Значение

10200Пользователь существует, доступна информация по абоненту.
10400Обязательные параметры либо не указаны, либо некорректны.
10403Пользователь существует, информация по абоненту недоступна.
10404Пользователь с указанным логином не найден.
10500Внутренняя ошибка.
10509Не удалось однозначно определить абонента пользователя.

Параметры ответа  url account  и  tenant  метода check_user  заполняются только в том случае, когда запрашивается информация о пользователях, которые были ранее зарегистрированы методом sign_up от имени той же обслуживающей организации.
Если запрашивается информация о пользователе, который был зарегистрирован в сервисе каким-то другим способом (или от имени другой обслуживающей организации), параметры  url account и  tenant  
не заполняются.

Метод check_available_app

Получить список доступных видов приложений для тарифа

Параметры запроса

ПараметрТипОбязательныйЗначение
tariffСтрока (9)ДаКод тарифа, для которого надо получить список доступных видов приложений

Параметры ответа

ПараметрТипЗначение
applicationsМассивМассив структур вида:
  • name – Строка – имя вида приложения
  • id – Строка – код вида приложения
Пример запроса  Развернуть
POST {{server}}/{{reg}}/check_available_app
Authorization: Basic {{authorization}}
 
{
  "tariff":"000000001"
}
Пример ответа  Развернуть
{
  "error": false,
  "response": 10200,
  "message": "",
  "applications": [
    {
      "name": "Библиотека технологии сервиса, редакция 2.0",
      "id": "smtl"
    },
    {
      "name": "Управление нашей фирмой",
      "id": "sbm"
    }
  ]
}

Возможные коды ответа

КодЗначение
10200Успешное выполнение
10400Не указан код тарифа
10404Не найден тариф с указанным кодом или для тарифа нет доступных видов приложений

Метод sign_up

Инициирует регистрацию абонента в сервисе и, опционально, создание нового приложения. Тип и количество создаваемых приложений определяется настройками внешней регистрации менеджера сервиса или переданными параметрами запроса.

Параметры запроса

ПараметрТипОбязательныйЗначение
nameСтрока(64)ДаОтображаемое имя пользователя, не логин.
emailСтрока(50)ДаАдрес электронной почты. Также является логином пользователя в сервисе.
phoneСтрока
Контактный телефон пользователя (не обязательный).
public_idСтрока(36)
Публичный идентификатор. Может использоваться для заполнения свойств абонента. Например, для автоматического заполнения свойств организации по ИНН.
fast_completionБулево

При значении параметра Истина подтверждение регистрации пользователем не выполняется. При значении параметра Ложь после выполнения запроса необходимо подтверждение регистрации пользователем. Ссылка на страницу подтверждения регистрации может быть получена в ответе на запрос get_app_url, или ее можно сформировать самостоятельно, используя значение поля  ответа registration_code. Значение параметра по умолчанию берется из параметра настройки регистрации Пропустить подтверждение регистрации пользователем.

send_notificationБулево
Указывает, что необходимо отправить уведомление на почту пользователя сразу же после регистрации (по умолчанию = Истина).
force_create_subscriberБулево

Принудительное создание абонента для существующего пользователя:

  • Ложь:
    • Если у пользователя есть абонент и пользователь является владельцем абонента – обслуживающая организация добавляется к существующему абоненту.
    • Если у пользователя есть абонент и пользователь не является владельцем абонента или пользователь не имеет абонента – создается новый абонент.
  • Истина:
    • Существующему пользователю при любых условиях создается новый абонент.

Если не указан, используется значение  - Ложь.

sso_user_idСтрока(256)
Идентификатор пользователя провайдера аутентификации.
user_infoСтруктура
Информация о пользователе, аналогичная выдаваемой провайдером аутентификации. Используется для заполнения свойств абонента.
promocode Строка
Промокод.
subidСтрока
Дополнительная информация о промокоде (например, метод его распространения).
site_idЧисло
Код сайта внешней регистрации. Влияет на выбор шаблона письма о регистрации в сервисе, отправляемого пользователю.
timezoneСтрока

Часовой пояс. В качестве значения указывается "TZ identifier" из IANA Time Zone Database, например – Europe/Moscow. Допустимые значения можно получить в 1С:Предприятии методом глобального контекста  ПолучитьДопустимыеЧасовыеПояса()

Также корректное значение часового пояса компьютера клиента можно получить в браузере с помощью JavaScript:

Intl.DateTimeFormat().resolvedOptions().timeZone;

Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате: GMT{+/-}h[h][:mm] где hh=0:23, mm=0:59.

Если часовой пояс не указан, то используется часовой пояс менеджера сервиса.

appСписок (0..*)

Массив с данными о создаваемых приложениях

– idСтрока
Имя вида приложения
– countЧисло
Количество создаваемых приложений указанного вида
tariffs

Список (0..*)
Массив с данными о подписках, на которые нужно подписать абонента. Если параметр не задан или его значение это пустой массив, будет использован тариф, заданный в настройках системы по умолчанию.
– idСтрока
Код тарифа провайдера
– servant_tariff_idСтрока

Код тарифа обслуживающей организации (если тарифы обслуживающей организации используются)

– periodСтрока
Код периода действия (указывается, если тариф периодический)
– daysЧисло
Длительность действия подписки на тариф в днях (указывается, если тариф непериодический)
– parentЧисло
Номер строки основной подписки (указывается для тарифов расширений)
fieldsСписок (0..*)
Дополнительные реквизиты

– key

Строка
Имя реквизита
– valueСтрока, Число, Булево, Дата
Значение реквизита
propertiesСписок (0..*)
Дополнительные сведения

– key

Строка
Имя дополнительного сведения
– valueСтрока, Число, Булево, Дата
Значение дополнительного сведения

Если в настройках внешней регистрации для пользователя, от имени которого вызывается метод сервиса, указан провайдер аутентификации, то:

  • если в запросе передан идентификатор пользователя этого провайдера (параметр sso_user_id ), то после регистрации становится доступен вход в приложения этого пользователя через указанного провайдера аутентификации;
  • если в запросе указан параметр  user_info , то при регистрации будет выполнено заполнение свойств созданного абонента согласно правилу трансляции, заданному в свойствах указанного провайдера аутентификации в менеджере сервиса.

Если в настройках внешней регистрации для пользователя, от имени которого вызывается метод сервиса, не указан провайдер аутентификации, то указание параметра  sso_user_id  приводит к ошибке.

Если в запросе sign_up указаны тарифы и промокод, который содержит тарифы, заменяющие тарифы регистрации, то все указанные в запросе тарифы будут заменены на тарифы, указанные в промоакции.

Параметры ответа

ПараметрТипЗначение
registration_codeСтрока(36)

Уникальный регистрационный код приглашения. Для дальнейших действий в рамках сервиса проморегистрации этот код не используется.
Код можно использовать на стороне клиента, если нужен быстрый переход пользователя в создаваемое в рамках регистрации приложение.
В этом случае нужно использовать сервис быстрой регистрации, подставив полученный код в запрос:

GET {baseURL}/a/fastreg/hs/FastExternalRegistration/ComleteRegistration/{registration_code}

Подробнее см. Интерактивная регистрация – сервис FastExternalRegistration

stateСтрока

Состояние приглашения:

  • activated (Активировано)
  • blocked (Заблокировано)
  • expired (Истек срок активации)
  • pending (Ожидание активации
accountЧислоКод абонента или 0, если при вызове метода sign_up проморегистрации абонент не был создан (при значении Ложь параметра fast_completion
Пример запроса с указанием непериодического тарифа  Развернуть
POST {{server}}/{{reg}}/sign_up
Authorization: Basic {{authorization}}
 
{
  "email":"user@mail.com",
  "name": "User",
  "fast_completion": true,
  "timezone": "Europe/Moscow",
  "public_id": "773064301401",
  "send_notification": false,
  "tariffs": [
     {
       id: "112",
      "days": 30
     }
  ]
}
Пример запроса с указанием периодического тарифа  Развернуть
POST {{server}}/{{reg}}/sign_up
Authorization: Basic {{authorization}}
 
{
  "email":"user@mail.com",
  "name": "User",
  "fast_completion": true,
  "send_notification": false,
  "timezone": "Europe/Moscow",
  "tariffs": [
     {
       id: "99",
      "period": "6MN"
     }
  ]
}
Пример запроса с указанием массива создаваемых приложений  Развернуть
POST {{server}}/{{reg}}/sign_up
Authorization: Basic {{authorization}}
 
{
  "email":"user@mail.com",
  "name": "User",
  "fast_completion": true,
  "send_notification": false,
  "timezone": "Europe/Moscow",
  "public_id": "773064301401",
  "tariffs": [
     {
       id: "112",
      "days": 30
     }
  ],
  "app": [
      {
        "count": 2,
        "id": "ea"
      },
      {
        "count": 1,
        "id": "sbm"
      }
    ]
}
Пример запроса с заполнением свойств абонента  Развернуть
POST {{server}}/{{reg}}/sign_up
Authorization: Basic {{authorization}}
 
{
  "email":"pupkin@yopmail.com",
  "name": "Василий Пупкин",
  "fast_completion": true,
  "timezone": "Europe/Moscow",
  "sso_user_id": "portal_id",
  "user_info":
    {
      "ev_token": "1234-5678-9800"
    }
}
Пример запроса с указанием дополнительных сведений о регистрации  Развернуть
POST {{server}}/{{reg}}/sign_up
Authorization: Basic {{authorization}}
 
{
  "email":"user@mail.com",
  "name": "User",
  "fast_completion": true,
  "send_notification": false,
  "timezone": "Europe/Moscow",
  "public_id": "773064301401",
  "tariffs": [
     {
       id: "112",
      "days": 30
     }
  ],
  "app": [     
      {
        "count": 1,
        "id": "sbm"
      }
    ],
  "properties": [
    {
      "key": "city",
      "value": "Москва",
    },
    {
      "key": "phone",
      "value": "+7(999)123-45-67"
    },
   {
      "key": "person",
      "value": "Сидоров Иван Николаевич"
    },
  ]
}
Пример ответа  Развернуть
{
  "error": false
  "response": 10202
  "message": " "
  "registration_code": "9fdb128e-bb3a-11e7-6381-08002798b77b",
  "state": "activated",
  "account": 200
}

Регистрация для существующих пользователей

Если пользователь сервиса не имеет абонента – создается новый абонент.

Если у пользователя есть абонент и пользователь не является владельцем абонента – создается новый абонент.

Если у пользователя есть абонент и пользователь является владельцем абонента – регистрация добавляется к существующему абоненту.

Возможные коды ответа

КодЗначение
10202Запрос на регистрацию успешно принят к обработке, регистрационный код возвращен в параметре registration_code
10242Запрос на регистрацию успешно принят к обработке, однако параметры запроса были скорректированы. Регистрационный код возвращен в параметре registration_code
10400Обязательные параметры либо не указаны, либо некорректны (например, указан код тарифа обслуживающей организации, не соответствующий тарифу провайдера) 
10400Идентификатор пользователя не может быть привязан
10404Не найден тариф или тариф обслуживающей организации с указанным кодом
10404Вид приложения с указанным кодом недоступен для использования
10406Некорректное значение количества приложений. Ожидается положительное число
10406Некорректно указаны периоды действия, подробности в сообщении
10406Указанный идентификатор пользователя уже используется
10412Количество приложений превышает доступный лимит по тарифу
10409Указанный адрес электронной почты уже используется в сервисе
10422Длина адреса электронной почты превышает допустимое значение. Допустимо не более 50 символов.
10452Промокод не найден или исчерпано количество активаций промокода
10453Промокод заблокирован
10454Срок активации промокода истек
10500Внутренняя ошибка

Сообщение "Идентификатор пользователя не может быть привязан" выводится, если не указан сторонний провайдер аутентификации или не разрешена регистрация для указанного провайдера.

Сообщение "Указанный идентификатор пользователя уже используется" выводится, если параметр  sso_user_id передан и уже используется для текущего провайдера.

Сообщение "Не найден провайдер сторонней аутентификации" выводится, если в запросе указан параметр   sso_user_id , но в настройках внешней регистрации для пользователя, от имени которого вызывается метод сервиса, провайдер аутентификации не задан.

Метод get_user_id

Возвращает идентификатор пользователя сервиса по его логину.

Параметры запроса

ПараметрТипОбязательныйЗначение
loginСтрока (50)ДаЛогин пользователя в сервисе (адрес электронной почты).

Параметры ответа

ПараметрТипЗначение
useridСтрока (36)Идентификатор пользователя сервиса (UID).
Пример запроса  Развернуть
POST {{server}}/{{reg}}/get_user_id
Authorization: Basic {{authorization}}
 
{
  "login":"user@mail.com"
}
Пример ответа  Развернуть
{
  "error": false,
  "response": 10200,
  "message": "",
  "userid": "80f69852-eb3b-11e7-819b-0050568925e0"
}
Параметр ответа  userid  заполняется только в том случае, когда запрашивается информация о пользователях, которые были ранее зарегистрированы методом sign_up от имени того же самого служебного пользователя. Если запрашивается информация о пользователе, который был зарегистрирован в сервисе каким-то другим способом (или от имени другого служебного пользователя), параметр  userid  не заполняются.

Метод get_app_url

Возвращает URL созданного приложения по указанному логину пользователя.

Метод возвращает только список приложений созданных при регистрации и не предназначен для получения полного списка приложений абонента.

Параметры запроса

Параметр

ТипОбязательныйЗначение
loginСтрока (50)ДаЛогин пользователя в сервисе (адрес электронной почты).
send_notificationБулевоНетУказывает, что необходимо отправить уведомление на почту пользователя сразу же после подготовки приложения.

Параметры ответа

ПараметрТипЗначение
urlСтрока, МассивАдрес перехода после регистрации:
  • если регистрация приложения завершена, возвращается постоянный адрес приложения. Если запрашивалось создание нескольких приложений, то возвращается массив.
  • если регистрация не завершена, возвращается адрес страницы завершения регистрации
sso_urlМассивМассив адресов для перехода в приложение через сторонний провайдер аутентификации. Массив заполняется если:
  • у пользователя, указанного параметром login,  имеется идентификатор стороннего провайдера аутентификации;
  • пользователь, от имени которого выполняется запрос , должен принадлежать стороннему провайдеру аутентификации, настройки которого указаны в МС.
accountЧислоКод абонента, созданного при регистрации
appСтрокаИмя приложения (код вида приложения)
tenantЧисло, МассивНомер области, адрес которой приведен в параметре  url . Если запрашивалось создание нескольких приложений, то возвращается массив
permanent_urlСтрока, МассивПостоянный адрес приложения (возвращается в любом случае, даже пока приложение не готово к использованию). Если запрашивалось создание нескольких приложений, то возвращается массив
subscription_idСтрока (9)Номер подписки созданной по приглашению для регистрации
subscription_completionДатаДата окончания подписки созданной по приглашению для регистрации
applicationsМассивМассив со сведениями о созданных приложениях. Параметр возвращается, если при промо-регистрации было создано несколько приложений разных типов
Пример запроса  Развернуть
POST {{server}}/{{reg}}/get_app_url
Authorization: Basic {{authorization}}
 
{
  "login":"user@mail.com",
  "send_notification": false
}
Пример ответа  Развернуть
{
  "error": false,
  "response": 10201,
  "message": "",
  "url": "https://1cfresh.com/a/smtl/20",
  "sso_url": [],
  "tenant": 20,
  "applications": [
    {
      "app": "smtl",
      "permanent_url": "https://1cfresh.com/a/smtl/20",
      "tenant": 20,
      "sso_url": ""
    },
  ],
  "account": 3,
  "app": "smtl",
  "permanent_url": "https://1cfresh.com/a/smtl/20",
  "subscription_id": "000000007",
  "subscription_completion": "2020-08-06T23:59:59"
}
Пример ответа при запросе нескольких приложений  Развернуть
{  
   "error":false,
   "response":10201,
   "message":"",
   "url":[  
      "https://1cfresh.com/a/smtl/20",
      "https://1cfresh.com/a/smtl/21",
      "https://1cfresh.com/a/smtl/22"
   ],
  "sso_url": [ 
    "https://1cfresh.com/a/openid/e1cib/oid2op/sso/login/iva_auth?return_to=https%3A%2F%2F1cfresh.com%2Fa%2Fsmtl%2F20",
    "https://1cfresh.com/a/openid/e1cib/oid2op/sso/login/iva_auth?return_to=https%3A%2F%2F1cfresh.com%2Fa%2Fsmtl%2F21",
    "https://1cfresh.com/a/openid/e1cib/oid2op/sso/login/iva_auth?return_to=https%3A%2F%2F1cfresh.com%2Fa%2Fsmtl%2F22"
   ],
   "tenant":[  
      20,
      21,
      22
   ],
  "applications": [
    {
      "app": "smtl",
      "permanent_url": "https://1cfresh.com/a/smtl/20",
      "tenant": 20,
      "sso_url": "https://1cfresh.com/a/openid/e1cib/oid2op/sso/login/iva_auth?return_to=https%3A%2F%2F1cfresh.com%2Fa%2Fsmtl%2F20"
    },
    {
      "app": "smtl",
      "permanent_url": "https://1cfresh.com/a/smtl/21",
      "tenant": 21,
      "sso_url": "https://1cfresh.com/a/openid/e1cib/oid2op/sso/login/iva_auth?return_to=https%3A%2F%2F1cfresh.com%2Fa%2Fsmtl%2F21"
    },
    {
      "app": "smtl",
      "permanent_url": "https://1cfresh.com/a/smtl/22",
      "tenant": 22,
      "sso_url": "https://1cfresh.com/a/openid/e1cib/oid2op/sso/login/iva_auth?return_to=https%3A%2F%2F1cfresh.com%2Fa%2Fsmtl%2F22"
    },
  ],
   "account":3,
   "app":"smtl",
   "permanent_url":[  
      "https://1cfresh.com/a/smtl/20",
      "https://1cfresh.com/a/smtl/21",
      "https://1cfresh.com/a/smtl/22"
   ],
  "subscription_id": "000000008",
  "subscription_completion": "2020-08-06T23:59:59"
}
Пример ответа при отсутствии завершенной регистрации  Развернуть
{
  "error": false,
  "response": 10500,
  "message": "По указанному логину пользователя не обнаружено завершенной регистрации.",
  "url": "",
  "sso_url": [],
  "tenant": 0,
  "account": 0,
  "app": "",
  "permanent_url": "",
  "subscription_id": "",
  "subscription_completion": ""
}
Пример ответа со ссылкой на страницу подтверждения регистрации (при задании параметра fast_completion = false)  Развернуть
{
  "response": 10302,
  "error": false,
  "message": "Требуется активация приглашения пользователем.",
  "url": "https://1cfresh.com/register/using_code/e62dc018-4c4b-4de0-b86c-3f9b8f19e765"
}
Если создается приглашение без пропуска подтверждения пользователем (fast_completion = false), то в ответе возвращается ссылка на страницу завершения регистрации. В этом случае письмо о создании приглашения пользователю не отправляется, обслуживающая организация контролирует и самостоятельно выполняет передачу ссылки на завершение регистрации пользователю.
Пример ответа, если приложения не создаются при fast_completion = true  Развернуть
{
  "response": 10102,
  "error": false,
  "message": "",
  "url": "https://1cfresh.com/a/extreg/hs/FastExternalRegistration/CompleteRegistration/fbc4d84e-c22d-4070-ab77-99f6757dbaeb",
  "applications": [],
  "account": 48,
  "subscription_id": "000000042",
  "subscription_completion": "2027-07-20T23:59:59",
  "permanent_url": "",
  "sso_url": [],
  "app": "",
  "tenant": 0
}
Если приложения не создаются при fast_completion = true, то  по ссылке, выдаваемой методом get_app_url, производится переход по адресу из настройки витрины – ВнешнийАдресЭтогоПриложения. Аутентификация выполняется аналогично аутентификации в приложении – если используется провайдер аутентификации, то через него, а если провайдер не используется, то через параметр адресной строки N=ИмяПользователя&P=Пароль.
Пример ответа, если при создании приложения произошла ошибка  Развернуть
{
  "response": 10500,
  "error": true,
  "message": "Не создано приложение \"Библиотека технологии сервиса, редакция 2.0\".\nВ процессе установки приложения произошла ошибка.\n Добавить приложение невозможно - нет информационных баз для размещения."
}
Текст ошибки выводится кратко. В карточке свойств приглашения в менеджере сервиса можно посмотреть подробный текст.

Возможные коды ответа

Код

Значение

10201Приложение успешно создано, адрес возвращен в параметре url .
10102Приложение в процессе создания, необходимо обратиться позже
10302Выполнена переадресация на страницу завершения регистрации
10400Обязательные параметры либо не указаны, либо некорректны
10408Истекло допустимое время быстрой регистрации
10409Пользователь был зарегистрирован в сервисе другим партнером
10500Внутренняя ошибка

Метод send_notification

Отправляет пользователю оповещение о результатах регистрации.

Параметры запроса

ПараметрТипОбязательныйЗначение
loginСтрока (50)ДаЛогин пользователя в сервисе (адрес электронной почты)
Пример запроса  Развернуть
POST {{server}}/{{reg}}/send_notification
Authorization: Basic {{authorization}}
 
{
  "login":"user@mail.com"
}
Пример ответа если оповещение отправлено  Развернуть
{
  "error": false,
  "response": 10200,
  "message": ""
}

Возможные коды ответа

КодЗначение
10200Оповещение успешно отправлено.
10403У текущего пользователя нет доступа на отправку оповещения этому пользователю.
Оповещение отправляется только в том случае, если запрос отправляется от имени того же пользователя, который ранее регистрировал клиента методом sign_up.

 Метод authorization_code

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

Параметры запроса

ПараметрТипОбязательныйОписание
loginСтрока ДаЛогин пользователя сервиса.

client_id 

СтрокаДаИдентификатор клиента стороннего приложения.
client_secret СтрокаДаСекрет клиента стороннего приложения.

Параметры ответа

ПараметрТипЗначение
codeСтрокаКод авторизации стороннего приложения.
expires_inЧислоСрок жизни кода авторизации.
redirect_uriМассив из СтрокаАдреса возвратов.

Метод может быть вызван только для тех пользователей, у которых в качестве первичной регистрации была обслуживающая организация, отправляющая запрос.

Для других случаев нужно использовать метод send_verification или использовать OAuth2 способ аутентификации пользователя с дальнейшей передачей кода доступа и обмена его на токен.

Пример запроса  Развернуть
POST https://{{server}}/{{reg}}/authorization_code
Authorization: Basic {{authorization}}
Content-Type: application/json
  
{
  "login": "client@yopmail.com", 
  "client_id": "1c.cloud",
  "client_secret": "secret-123Qwer"
}
Пример ответа  Развернуть
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Cache-Control: no-cache, no-store
Pragma: no-cache
...

{
  "response": 10200,
  "error": false,
  "message": "",
  "code": "ewoiY...",
  "expires_in": 600,
  "redirect_uri": [
    "https://1c.cloud/callback"
  ]
}

Полученный код авторизации может использоваться для предоставления доступа приложению к данным пользователя и получения токенов доступа и обновления, при обращению к методу {server}/a/openid/e1cib/oid2op/token.

Возможные коды ответа

КодЗначение
10200Код авторизации успешно получен.
10404Пользователь с логином ''%1'' не найден.
10403Получение кода авторизации доступно только для первичных регистраций.
10400

Не найдено стороннее приложение по %1 = %2'

Некорректный секрет клиента %1 = %2

Метод send_verification

Отправка письма верификации пользователю сервиса для авторизации стороннего приложения.

Параметры запроса

ПараметрТипОбязательныйЗначение
emailСтрокаДаПочта пользователя сервиса.
client_idСтрокаДаИдентификатор клиента стороннего приложения.
client_secretСтрокаДаСекрет клиента стороннего приложения.
redirect_uriСтрокаДаПодтвержденный адрес перенаправления в стороннее приложение.
stateСтрокаДаВозвращаемый статус стороннего приложения.
Пример запроса  Развернуть
POST https://{{server}}/{{reg}}/send_verification
Authorization: Basic {{authorization}}
Content-Type: application/json
  
{
  "email": "{{username}}", 
  "client_id": "1c.cloud",
  "client_secret": "secret-123Qwer",
  "redirect_uri": "https://1c.cloud/callback",
  "state": "12345"
}
Пример ответа  Развернуть
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
...

{
  "response": 10200,
  "error": false,
  "message": ""
}

В результате вызова метода пользователю отправляется письмо с code и с ссылкой переходом на callback стороннего сервиса.

После перехода по ссылке из почты стороннее приложение получит код авторизации.
Полученный код авторизации может использоваться для предоставления доступа приложению к данным пользователя и получения токенов доступа и обновления, при обращению к методу {server}/a/openid/e1cib/oid2op/token .

Возможные коды ответа

Код

Значение

10200Письмо верификации успешно отправлено.
10404Пользователь с адресом электронной почты ''%1'' не найден.
10400

Не найдено стороннее приложение по %1 = %2'

Некорректный секрет клиента %1 = %2

Адрес перенаправления ''%1'' недоступен.