В документе приведено API портала 1С:ИТС для взаимодействия с инстансом сервиса Фреш. Более подробное описание возможностей интеграции – https://fresh-integration.1c.ru/api/swagger-ui.html
Содержание
1. Тарифы
1.1. Метод получения информации о доступных тарифах ИТС для инстанса сервиса Фреш
Описание
Метод, возвращающий информацию о доступных тарифах портала 1С:ИТС для конкретного инстанса Фреш.
Классификатор тарифов портала 1С:ИТС передается в инстанс сервиса Фреш для того, чтобы тарифы из этого классификатора включать в тарифы сервиса Фреш. Т.е. партнер, продавая тариф сервиса Фреш, может сразу «заложить» в нем стоимость тарифа портала 1С:ИТС. Для абонента это будет выглядеть как покупка единого тарифа, содержащего в себе и услуги партнера, и сервисы портала 1С:ИТС. При продаже тарифа сервиса Фреш данные о содержащемся в нем тарифе портала 1С:ИТС должны быть переданы на портал через специальный программный интерфейс.
Входные параметры
- freshInstanceGuid – guid инстанса сервиса Фреш
Способ вызова
GET {basePath}/freshInstance/{freshInstanceGuid}/tariffs
GET {basePath}/freshInstance/f0ff2f3b-9149-49b0-bbd0-ce812efb4365/tariffs/
{ "tariffs": [ { "guid": "9b50604d-7747-48ef-ac65-76dbcbb39bc5", "name": "1C:ИТС Аренда", "free" : true, "monthCounts": [3, 6, 12], "dayCounts" : [1, 2, 3], "optionTypes": [ { "guid": "0b6d3008-8482-4a6f-b0be-c1e1a5f0a412", "name": "Обмен электронными документами", "nick": "1c-buh-phone-license-unlimited-service", "service": { "guid": "b4bfea69-c0ae-4fdd-a7a0-2882e96aa162", "name": "https://1cbn.ru" } }, { "guid": "7d2f4726-9d27-427e-9d3e-307db44ad985", "name": "Получение обновлений прикладных решений", "nick": "1c-buh-phone-license-unlimited-service", "service": { "guid": "9a81b026-eac7-40ac-a774-da62d32a3c97", "name": "1С:Обновление программ" } } ] } ] }
Успех
- 200 – информация о доступных тарифах портала 1С:ИТС для инстанса сервиса Фреш
Ошибки
- 500 – ошибка на сервере. Информация об ошибке в текстовом виде содержится в возвращаемом объекте в поле text.
- 401 – необходима авторизация
- 404 – такой инстанс сервиса Фреш не найден
2. Абоненты
2.1. Метод добавления информации по абоненту
Описание
Метод для добавления нового абонента в систему портала 1С:ИТС.
Входные параметры
- guid – идентификатор абонента
- name – название абонента
Способ вызова
POST {basePath}/subscribers/
POST {basePath}/subscribers/ { "guid": "f0ff2f3b-9149-49b0-bbd0-ce812efb4365", "name": "Название абонента }
Успех
- 201 – абонент успешно создан в системе
Ошибки
- 500 – ошибка на сервере
- 401 – необходима авторизация
- 422 – некорректный набор параметров (дополнительная информация в response)
{ "text": "Поле, содержащее название абонента, не должно быть пустым" }
2.2. Метод изменения информации по абоненту
Описание
Метод для изменения информации по абоненту.
Входные параметры
- guid – идентификатор абонента
- name – название абонента
Способ вызова
PUT {basePath}/subscribers/{guid}
PUT {basePath}/subscribers/f0ff2f3b-9149-49b0-bbd0-ce812efb43653 { "guid" : "f0ff2f3b-9149-49b0-bbd0-ce812efb4365" , "name" : "Новое название абонента" }
Успех
- 200 – информация об абоненте успешно обновлена
Ошибки
- 422 – некорректный набор параметров (дополнительная информация в response)
- 401 – необходима авторизация
- 403 – абонент не принадлежит инстансу сервиса Фреш. Операция невозможна
- 404 – абонент не найден на сервере
- 500 – ошибка на сервере. Информация об ошибке в текстовом виде содержится в возвращаемом объекте в поле text.
{ "text" : "Абонент с guid f0ff2f3b-9149-49b0-bbd0-ce812efb4365 не найден в системе" }
2.3. Метод удаления информации об абоненте
Описание
Метод для удаления информации об абоненте.
Входные параметры
- guid – идентификатор абонента
Способ вызова
DELETE {basePath}/subscribers/{guid}
DELETE {basePath}/subscribers/f0ff2f3b-9149-49b0-bbd0-ce812efb4365
Успех
- 204 – информация об абоненте успешно удалена
Ошибки
- 500 – ошибка на сервере
- 401 – необходима авторизация
- 404 – абонент не найден на сервере
- 403 – абонент не принадлежит вашему инстансу сервиса Фреш. Операция невозможна
{ "text" : "Абонент с guid f0ff2f3b-9149-49b0-bbd0-ce812efb4365 не найден в системе" }
3. Пользователи абонентов
3.1. Метод добавления информации по пользователю абонента
Описание
Метод отвечает за добавление информации по пользователю абонента.
Если по ходу работы инстанс сервиса Фреш добавляет информацию по пользователю, то он должен оповестить об этом портал 1С:ИТС.
Входные параметры
- guid – идентификатор пользователя сервиса
- login – логин пользователя сервиса
- role – роль пользователя:
User
– пользователь абонентаSubscriberOwner
– владелец абонента
- subscriber_guid – идентификатор абонента
- email – адрес электронной почты пользователя
- fullName – полное имя пользователя, для отображения
- firstName – имя
- lastName – фамилия (не обязательно)
- middleName – отчество (не обязательно)
Способ вызова
POST {basePath}/subscribers/{subscriber_guid}/users/
POST {basePath}/subscribers/be0adc4f-a691-486b-9a49-a674e8d9f494/users/, { "guid": "9dd94c9d-3d3c-4e77-85ac-53c5175164fc", "login": "subscriberUserLogin", "role": "User", "email": " subscriberUser@yopmail.com", "fullName": { "firstName": "Mikhail", "lastName": "Popov"} }
Успех
- 201 – пользователь абонента успешно создан в системе
Ошибки
- 500 – ошибка на сервере
- 401 – необходима авторизация
- 422 – некорректный набор параметров (дополнительная информация в response)
- 404 – абонент, для которого добавляется пользователь, не найден в системе
{ "text" : "Поле, содержащее guid пользователя абонента не должно быть пустым" }
3.2. Метод изменения информации по пользователю абонента
Описание
Метод отвечает за изменение информации по пользователю абонента.
Если по ходу работы инстанс сервиса Фреш изменяет какую-либо информацию по пользователю, то он должен оповестить об этом портал 1С:ИТС.
Входные параметры
- guid – идентификатор пользователя абонента
- login – логин пользователя абонента
- role – роль пользователя:
User
– пользователь абонентаSubscriberOwner
– владелец абонента
- subscriber_guid – идентификатор абонента
- email – адрес электронной почты пользователя
- fullName – полное имя пользователя, для отображения
- firstName – имя
- lastName – фамилия (не обязательно)
- middleName – отчество (не обязательно)
Способ вызова
PUT {basePath}/subscribers/{subscriber_guid}/users/{guid}
PUT {basePath}/subscribers/be0adc4f-a691-486b-9a49-a674e8d9f494/users/9dd94c9d-3d3c-4e77-85ac-53c5175164fc { "guid": "9dd94c9d-3d3c-4e77-85ac-53c5175164fc", "login": "subscriberUserLogin", "role": "User", "email": " subscriberUser@yopmail.com", "fullName": { "firstName": "Mikhail", "lastName": "Popov" } }
Успех
- 200 – пользователь абонента успешно обновлён в системе
Ошибки
- 500 – ошибка на сервере
- 401 – необходима авторизация
- 422 – некорректный набор параметров (дополнительная информация в response)
- 404 – ресурс не найден в системе (дополнительная информация в response)
{ "text" : "Пользователь абонента с guid 9dd94c9d-3d3c-4e77-85ac-53c5175164fc не найден для абонента be0adc4f-a691-486b-9a49-a674e8d9f494" }
3.3. Метод удаления информации по пользователю абонента
Описание
Метод отвечает за удаление информации по пользователю абонента.
Если по ходу работы инстанс сервиса Фреш удаляет пользователя абонента, то он должен оповестить об этом портал 1С:ИТС.
Входные параметры
- guid – идентификатор пользователя абонента
- subscriber_guid – идентификатор абонента
Способ вызова
DELETE {basePath}/subscribers/{subscriber_guid}/users/{guid}
DELETE {basePath}/subscribers/be0adc4f-a691-486b-9a49-a674e8d9f494/users/9dd94c9d-3d3c-4e77-85ac-53c5175164fc
Успех
- 204 – пользователь абонента успешно удалён в системе
Ошибки
- 500 – ошибка на сервере
- 401 – необходима авторизация
- 422 – некорректный набор параметров (дополнительная информация в response)
- 404 – ресурс не найден (дополнительная информация в response)
{ "text" : "Абонент с guid 9dd94c9d-3d3c-4e77-85ac-53c5175164fc не найден для абонента be0adc4f-a691-486b-9a49-a674e8d9f494" }
4. Подписки на тарифы
4.1. Метод оформления покупки тарифов
Описание
Метод, через который осуществляется оформление покупки тарифа портала 1С:ИТС инстансом сервиса Фреш.
Входные параметры
- subscriberGuid – идентификатор абонента
- partnerСode – код партнёрской организации
- tariffPurchaseGuid – идентификатор подписки (генерируется на стороне сервиса Фреш)
- number – номер подписки на тариф
- startDate – дата начала действия тарифов в заявке
- period – величина периода на которых оформляются тарифы (целое число)
- periodType – тип периода {DAYS, MONTHS}
- firmName – наименование фирмы
- inn – ИНН. Для России поле обязательно, правильность проверяется по алгоритму. Для Украины и Казахстана проверяется только факт заполнения. Если клиент физическое лицо и у него нет ИНН, используется "заглушка" вида "Ф" + регистрационный номер
- kpp – КПП. Только для российских юридических лиц
- responsible – ответственный
- city – город (не обязательно)
- areaCode – телефонный код города (не обязательно)
- phone – телефон
- email – электронная почта
- version – версия объекта (техническое поле)
- itsTariffListInfo – информация о тарифах ИТС
- tariffGuid – идентификатор тарифа
Способ вызова
POST {basePath}/subscribers/{subscriberGuid}/tariffsPurchases/
POST {basePath}/subscribers/9dd94c9d-3d3c-4e77-85ac-53c5175164fc/tariffsPurchases/ { "tariffPurchaseGuid": "f0ff2f3b-9149-49b0-bbd0-ce812efb4365", "partnerCode": 234901, "number": "TP-123435", "startDate": "10.10.2016", "period": 6, "periodType" : "MONTHS", "legalEntity": { "firmName": "Наименование фирмы", "inn": 5702001741, "kpp": 525601001 }, "responsible": "Ответственный", "phone": "8-800-000-00-00", "email": "example@domain.com", "itsTariffListInfo": [ {"tariffGuid": "a650f6a7-2313-4f85-b8ff-809bc1dc79bb"}, {"tariffGuid": "43cb2fb7-4f35-4e2d-9853-0d93abe0f976"} ] }
Успех
- 201 – оформление покупки успешно совершено. Пока не получен данный код, действие не может считаться завершённым на стороне сервиса Фреш.
- 202 – запрос на оформление покупки тарифа принят. Возвращается в случае, если портал 1С:ИТС успешно принял запрос, но потенциально по каким-то причинам нам может понадобиться время на его обработку. При таком коде предполагается повторный запрос со стороны сервиса Фреш.
Ошибки
- 500 – ошибка при оформлении покупки тарифа. Информация об ошибке в текстовом виде содержится в возвращаемом объекте в поле text.
- 401 – Необходима авторизация
- 404 – абонент с таким идентификатором не найден
- 422 – переданы некорректные данные (информация в сообщении)
{ "text": "Абонент с идентификатором 9dd94c9d-3d3c-4e77-85ac-53c5175164fc не найден в системе" }
4.2. Метод изменения информации о покупке тарифов
Описание
Метод, через который осуществляется изменения информации о покупке тарифа портала 1С:ИТС в инстансе сервиса Фреш.
Входные параметры
- Аналогично покупке
Способ вызова
PUT {basePath}/subscribers/{subscriberGuid}/tariffsPurchases/{tariffPurchaseGuid}
PUT {basePath}/subscribers/9dd94c9d-3d3c-4e77-85ac-53c5175164fc/tariffsPurchases/f0ff2f3b-9149-49b0-bbd0-ce812efb4365 { "tariffPurchaseGuid": "f0ff2f3b-9149-49b0-bbd0-ce812efb4365", "partnerCode": 234901, "number": "TP-123435", "startDate": "10.10.2016", "period": 6, "periodType" : "MONTHS", "legalEntity": { "firmName": "Наименование фирмы", "inn": 5702001741, "kpp": 525601001 }, "responsible": "Ответственный", "phone": "8-800-000-00-00", "email": "example@domain.com", "itsTariffListInfo": [ {"tariffGuid": "a650f6a7-2313-4f85-b8ff-809bc1dc79bb"}, {"tariffGuid": "43cb2fb7-4f35-4e2d-9853-0d93abe0f976"} ] }
4.3. Метод удаления информации о покупке тарифов
Описание
Метод, через который осуществляется удаление информации о покупке тарифа портала 1С:ИТС в инстансе сервиса Фреш.
Входные параметры
- subscriberGuid – идентификатор абонента
- tariffPurchaseGuid- идентификатор подписки, который сгенерируется на стороне сервиса Фреш
Способ вызова
DELETE {basePath}/subscribers/{subscriberGuid}/tariffsPurchases/{tariffPurchaseGuid}
DELETE {basePath}/subscribers/9dd94c9d-3d3c-4e77-85ac-53c5175164fc/tariffsPurchases/f0ff2f3b-9149-49b0-bbd0-ce812efb4365
Успех
- 204 – информация о покупке тарифов ИТС успешно удалена
Ошибки
- 500 – ошибка на сервере
- 401 – Необходима авторизация
- 404 – ресурс не найден (дополнительная информация в сообщении)
{ "text": "Абонент с идентификатором 9dd94c9d-3d3c-4e77-85ac-53c5175164fc не найден в системе" }
Успех
- 200 – изменение информации о покупке тарифов успешно совершено
Ошибки
- 500 – ошибка на сервере
- 401 – Необходима авторизация
- 404 – ресурс не найден (дополнительная информация в сообщении)
- 422 – переданы некорректные данные (информация в сообщении)
{ "text": "Информация о покупке f0ff2f3b-9149-49b0-bbd0-ce812efb4365 не найдена" }
5. Получение тикета
5.1. Метод получения тикета
Описание
Метод возвращает тикет пользователя, с которым приложение в сервисе Фреш будет обращаться к порталу 1С:ИТС.
Входные параметры
- subscriberGuid – идентификатор абонента (обязательное поле)
- userGuid – идентификатор пользователя
- openUrl – URL, на который необходимо осуществить переход для проверки тикета на Портале 1С:ИТС (опциональное поле)
Результат
- userTicket – тикет аутентификации для пользователя
Способ вызова
POST {basePath}/auth/tickets/
POST {basePath}/auth/tickets/ { "userGuid": "f0ff2f3b-9149-49b0-bbd0-ce812efb4365", "subscriberGuid": "9bc4fc06-7c81-4813-a14d-526ee7cce954", "openUrl": "https://1cfresh.com"} }
Успех
- 201 – тикет успешно сгенерирован
{ "userTicket": "ab4749ca-9c6d-4c3b-8cfa-e4c746be0f54" }
Ошибки
- 500 – ошибка на сервере
- 422 – некорректный набор параметров (дополнительная информация в response)
- 401 – необходима авторизация
- 403 – такой инстанс сервиса Фреш не зарегистрирован или не имеет доступа к данной операции
- 404 – пользователь с таким guid не найден в системе
{ "text": "Пользователь с guid f0ff2f3b-9149-49b0-bbd0-ce812efb4365 не найден в системе" }
6. Проверки со стороны Портала 1С:ИТС
На каждый запрос идет проверка по логину и паролю от конкретного экземпляра сервиса Фреш.
Объект | Валидация запроса | Проверки | ||
---|---|---|---|---|
Создание | Изменение | Удаление | ||
Абонент | Заполнены:
|
|
|
|
Пользователь | Заполнены:
|
|
|
|
Заявка на покупку тарифа | Заполнены:
|
|
|
|