API программной регистрации в сервисе использует настройки страниц внешней регистрации и все, что с этим связано, в том числе работу обслуживающих организаций и тарификацию.
Подробнее о настройке страниц внешней регистрации написано в документации на ИТС - https://its.1c.ru/db/freshpub#content:232:hdoc
Рассмотрим пример настройки от первоначально развернутой виртуальной машины на Linux для использования API программной регистрации.
Откроем настройки Главное → Сервис → Настройки конфигурации.
Установим признак Отображать обслуживающие организации на вкладке Возможности
Установим признак Использовать приглашения для регистрации на вкладке Регистрация абонентов.
Здесь же установим признак Использовать сервис внешней регистрации абонентов
А также адрес быстрой активации (в нашем случае стенд развернут по адресу https://popma.1c709.ru) = https://popma.1c709.ru/a/httpextreg/hs/FastExternalRegistration/CompleteRegistration/{id}"
На вкладке Тарификация установим признак Использовать контроль тарификации.
Нажимаем на форме кнопку Записать и закрыть.
Добавим новый тариф: Управление тарифами → Тарифы.
В тарифе укажем для примера использование конфигурации "Библиотека технологии сервиса".
На первой странице укажем
- Наименование = Тестовый
- Признак Показывать пользователям абонентов
- Признак Разрешено использовать для страниц внешней регистрации
В списке услуг укажем:
- Количество активных сеансов = 1
- Количество прав пользователей на запуск приложений = 1
- Количество приложений = 1
Укажем конфигурацию "Библиотека технологии сервиса" на вкладке Конфигурации:
Добавим нового абонента: Обслуживание → Абоненты
Заполним в абоненте информацию:
- Наименование = Обслуживающая организация
- Идентификатор = 00000
- Флаг Разрешено подписывать на тарифы
- Предоставляемые взаимоотношения: Обслуживающая организация - Абонент
Запишем и закроем элемент.
Добавим нового пользователя сервиса: Обслуживание → Пользователи сервиса.
Этого пользователя будем использовать для регистрации абонентов по созданной обслуживающей организации.
Заполним у пользователя:
- Полное имя = reg
- Имя (логин) = reg
- Флаг Вход в программу разрешен
- Флаг Аутентификация 1С:Предприятия
- Установить пароль = 123Qwer
- Флаг Аутентификация по протоколу OpenID
- Разрешенные действия (роли):
- Базовые права
- Использование вариантов отчетов
- Пользователь сервиса
- Удаленный доступ (Быстрая регистрация)
- Удаленный доступ (Внешняя регистрация)
Создадим еще одного пользователя, которого будем использовать для доступа к API приложения для его начального заполнения после создания.
Добавим пользователя, и заполним у него реквизиты:
- Полное имя = api
- Имя (логин) = api
- Флаг Вход в программу разрешен
- Флаг Аутентификация 1С:Предприятия
- Установить пароль = 123Qwer
- Флаг Аутентификация по протоколу OpenID
- Разрешенные действия (роли):
- Базовые права
- Использование вариантов отчетов
- Пользователь сервиса
Откроем ранее созданного абонента, перейдем по гиперссылке Пользователи абонента
Добавим созданных пользователей абонента к абоненту.
Пользователь 1:
- Абонент = Обслуживающая организация
- Пользователь сервиса = reg
- Роли пользователя = Владелец абонента (управление абонентом)
Пользователь 2:
- Абонент = Обслуживающая организация
- Пользователь сервиса = api
- Роли пользователя = Пользователь абонента (запуск приложений)
В результате у абонента должно получиться 2 пользователя - reg и api.
Теперь настроим страницу регистрации для использования API (Обслуживание → Сервис внешней регистрации абонентов → Страницы для регистрации абонентов):
Создадим и заполним страницу для регистрации абонентов:
- Наименование = Основная
- Пользователь для внешней регистрации = reg
- Обслуживающая организация = Обслуживающая организация
- Тариф по умолчанию = Тестовый
- Период действия тарифа по умолчанию = (Число) 30
- Флаг Быстрая регистрация приложения по конфигурации
- Приложение = Библиотека технологии сервиса, редакция 1.2
- Флаг Установить доступ к API приложения пользователю
- Пользователь API = api
На этом настройки завершены
Попробуем зарегистрировать абонента с добавлением ему нужного приложения, тарифа и с доступом к API у обслуживающей организации для возможности заполнения приложения начальными данными абонента.
POST https://popma.1c709.ru/a/adm/hs/promo_reg/sign_up
Authorization: Basic reg 123Qwer
{
"email":"user@mail.com",
"name": "User",
"fast_completion": true,
"send_notification": false,
}
Должны получить ответ:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 19 Jun 2019 12:17:54 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 113
Connection: close
Cache-Control: no-cache
Accept-Charset: utf-8
{
"error": false,
"response": 10202,
"message": "",
"registration_code": "434ea0dc-928c-11e9-1c8a-0242ac130004"
}
Далее выполняем запрос получения адреса приложения:
POST https://popma.1c709.ru/a/adm/hs/promo_reg/get_app_url
Authorization: Basic reg 123Qwer
{
"login":"user@mail.com",
"send_notification": false,
}
Должны получить ответ:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 19 Jun 2019 12:22:22 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 278
Connection: close
Cache-Control: no-cache
Accept-Charset: utf-8
{
"error": false,
"response": 10102,
"message": "",
"url": "https://popma.1c709.ru/a/httpextreg/hs/FastExternalRegistration/CompleteRegistration/434ea0dc-928c-11e9-1c8a-0242ac130004",
"tenant": 1,
"account": 3,
"app": "smtl",
"permanent_url": "https://popma.1c709.ru/a/smtl/1"
}
Пока приложение готовится, ответ в URL будет на страницу быстрой регистрации и код ответа 102.
Когда приложение подготовится, ответ будет такой:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 19 Jun 2019 12:28:39 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 188
Connection: close
Cache-Control: no-cache
Accept-Charset: utf-8
{
"error": false,
"response": 10201,
"message": "",
"url": "https://popma.1c709.ru/a/smtl/1",
"tenant": 1,
"account": 3,
"app": "smtl",
"permanent_url": "https://popma.1c709.ru/a/smtl/1"
}
Код ответа 201 и в url будет адрес приложения, а не адрес завершения регистрации.
Было создано приглашение для регистрации (Обслуживание → Приглашения для регистрации):
И подписка на нужный тариф от обслуживающей организации (Управление тарифами → Подписки):
В списке приложений должно быть создано приложение с соответствующим доступом (Главное → Приложения):
Видим, что у пользователя api есть доступ к этому приложению:
Возможные проблемы
Если приложение долго не создается, нужно проверить, не заблокирован ли шлюз приложений (Администрирование → Структура сервиса → Шлюзы приложений)
Нужно открыть шлюз приложений и проверить его состояние. Если состояние Заблокирован, нужно обновить настройки подключения.
После этого нужно попробовать зарегистрировать пользователя еще раз, но уже по другому email.





















