146
Спецификация протокола API Газпромнефть-Корпоративные продажи Название документа: Спецификация протокола API Газпромнефть-Корпоративные продажи Версия документа: 1.1.20 Дата документа: 25.03.2020 Назначение документа: Спецификация протокола API для корпоративных клиентов Газпромнефть- Корпоративные продажи Аудитория: Руководитель проекта – со стороны ГПН- КП Архитектор ИТ-решения - со стороны Клиента Разработчик - со стороны Клиента Тестировщик - со стороны Клиента Единое ответственно лицо от клиента История изменений Верси я Дата Комментарий Автор 1.0.8 01.03.2 017 1. Форматирование документа Королёв К.Ю. 1.1.0 18.04.2 017 1. Форматирование документа Абрамов К.А. 1.1.1 12.05.2 017 1. Скорректированы транзакции Абрамов К.А. 1.1.2 31.07.2 017 1. Форматирование документа. 2. Добавлены группы карт. 3. Перевод на POST многих методов. 4. Наглядные примеры запросов и ответов. Абрамов К.А. 1.1.3 05.10.2 017 1. Постраничный вывод АЗС. 2. Заказ отчета по ссылке. 3. Приложения. Абрамов К.А.

lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация протокола API

Газпромнефть-Корпоративные продажи

Название документа: Спецификация протокола API Газпромнефть-Корпоративные продажи

Версия документа: 1.1.20Дата документа: 25.03.2020Назначение документа: Спецификация протокола API для корпоративных

клиентов Газпромнефть-Корпоративные продажиАудитория: Руководитель проекта – со стороны ГПН-КП

Архитектор ИТ-решения - со стороны КлиентаРазработчик - со стороны КлиентаТестировщик - со стороны КлиентаЕдиное ответственно лицо от клиента

История изменений

Версия Дата Комментарий Автор1.0.8 01.03.2017 1. Форматирование документа Королёв К.Ю.1.1.0 18.04.2017 1. Форматирование документа Абрамов К.А.1.1.1 12.05.2017 1. Скорректированы транзакции Абрамов К.А.1.1.2 31.07.2017 1. Форматирование документа.

2. Добавлены группы карт.3. Перевод на POST многих методов.4. Наглядные примеры запросов и ответов.

Абрамов К.А.

1.1.3 05.10.2017 1. Постраничный вывод АЗС.2. Заказ отчета по ссылке.3. Приложения.

Абрамов К.А.

1.1.4 29.01.2018 1. Изменен 1 метод и добавлено 2 новых в разделе “Контракт, договор – Contract”.2. Добавлен параметр count в разделе “Транзакции – Transaction“.3. Добавлен параметр archive в разделе “Запрос отчета – Reports“.4. Добавлена функция массового удаления ID лимитов, ограничителей и региональных лимитов, а также добавился параметр contract_id.5. Скорректированы приложения.

Абрамов К.А.

1.1.5 01.03.2018 1. Добавлены новые справочники Абрамов К.А.

Page 2: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

1.1.6 28.06.2018 1. Удалены старые справочники.2. Обновлены примеры запросов и ответов.3. Обновлены типы данных.4. Добавлен новый сервис по списку последних платежей.5. Форматирование документа.

Абрамов К.А.

1.1.7 10.07.2018 1. Добавлены новые методы электронного кошелька.2. Добавлены новые поля в сервис топливных карт.3. Добавлен сервис по предоставлению статистики.4.Форматирование документа.

Абрамов К.А.

2

Page 3: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

1.1.8 05.09.2018 1. Добавлено поле read_only в метод “Авторизация пользователя”.2. Сервис “Сохранение данных по карте” возвращает в ответе true вместо ID карты.3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено поле card_group на group_id, card на card_id и добавлено новое поле date.4. В сервисе “Список товарных ограничителей по договору, карте и группе карт” изменено поле card_group на group_id, card на card_id и добавлено новое поле date.5. В сервисе “Список региональных лимитов по договору, карте и группе карт” изменено поле card_group на group_id, card на card_id и добавлено новое поле date.6. В сервисе “Удаление продуктового лимита по карте и группе карт” параметр card_group заменен на group_id. 7. В сервисе “Удаление продуктового лимита по карте и группе карт” изменена логика: можно удалить только 1 лимит в запросе. Данная мера введена с учетом ограничений по обработке запросов на стороне процессинговой системы. 8. В сервисе “Удаление товарного ограничителя по карте и группе карт” параметр card_group заменен на group_id. 9. В сервисе “Удаление товарного ограничителя по карте и группе карт” изменена логика: можно удалить только 1 ограничитель в запросе. Данная мера введена с учетом ограничений по обработке запросов на стороне процессинговой системы. 10. В сервисе “Удаление регионального лимита по карте и группе карт” параметр card_group заменен на group_id.11. В сервисе “Удаление регионального лимита по карте и группе карт” изменена логика: можно удалить только 1 ограничитель в запросе. Данная мера введена с учетом ограничений по обработке запросов на стороне процессинговой системы. 12. В сервисе “Установка/Изменение продуктового лимита по карте и группе карт” изменено поле card_group на group_id, card на card_id. 13. В сервисе “Установка/Изменение продуктового лимита по карте и группе карт” изменена логика: можно создать\изменить только 1 лимит в запросе. Данная мера введена с учетом ограничений по обработке запросов на стороне процессинговой системы. 14. В сервисе “Установка/Изменение товарного ограничителя по карте и группе карт” изменено поле card_group на group_id, card на card_id. 15. В сервисе “Установка/Изменение товарного ограничителя по карте и группе карт” изменена логика: можно создать\изменить только 1 лимит в запросе. Данная мера введена с учетом ограничений по обработке запросов на стороне процессинговой системы.16 . В сервисе “Установка/Изменение товарного ограничителя по

Абрамов К.А.

3

Page 4: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

карте и группе карт” изменен формат ответа данного сервиса с uint на string.17. В сервисе “Установка/Изменение регионального лимита по карте и группе карт” изменено поле card_group на group_id, card на card_id. 18. В сервисе “Установка/Изменение регионального лимита по карте и группе карт” изменена логика: можно создать\изменить только 1 лимит в запросе. Данная мера введена с учетом ограничений по обработке запросов на стороне процессинговой системы.19. Скорректировано Приложение 1.

1.1.9 25.10.2018 1. Скорректирован метод статистики.2. Исправлен баг отображения поля transaction_timeout в топливной карте.3. Скорректированы методы списка топливных карт и расписаны более детальнее.4. Форматирование документа.

Абрамов К.А.

1.1.10 26.11.2018 1. Скорректированы типы полей.2. Форматирование документа.

Абрамов К.А.

1.1.11 04.04.2019 1. Добавлен адрес продуктивного сервера.2. Исправлена ошибка в документации по обязательности тега «timeZone» в ответе по запросу списка торговых точек.

Садыков А.К.

1.1.12 17.04.2019 1. В методе «Сохранение данных по карте» удален параметр «transaction_timeout».2. Метод «Сохранение данных по карте» помечен, как устаревший.3. Добавлен новый метод «Установить комментарий на топливную карту».4. Скорректировано Приложение 1 – убрали старый продуктивный адрес, добавили Демо – стенд и тестовую учетную запись.5. Скорректировали текст ошибок при сохранении отчета в файл.6. Скорректировали текст ошибок при блокировки/разблокировке карты.

Абрамов К.А.

1.1.13 17.06.2019 1. Добавлен новый параметр «request» в метод «Список последних транзакций по договору» и «Список последних транзакций по карте».

Абрамов К.А.

1.1.14 16.07.2019 1. Добавлен новый фильтр АЗС по типу принадлежности.2. Добавлены новые справочники – OwnType и POIType.

Абрамов К.А.

1.1.15 26.08.2019 1. Скорректирован адрес продуктивного сервера. Садыков А.К.1.1.16 07.10.2019 1. Убрали тестовый сервер из Приложения 1. Абрамов К.А.1.1.17 26.11.2019 1. Убрали поле reason у электронного кошелька.

2. Удален устаревший метод сохранения данных по карте.3. Добавили проверку обязательности поля productType в методе setLimit.

Абрамов К.А.

4

Page 5: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

1.1.18 17.12.2019 1. Добавлены новые методы по управлению приглашениями.2. Добавлены новые методы по управлению пользователями.3. Добавлены новые методы по управлению виртуальной картой.4. Добавлены новые методы по управлению шаблонами виртуальной карты.5. Добавлены новые методы по управлению шаблонами лимитов виртуальной карты.6. Добавлены новые методы по управлению шаблонами ограничителей виртуальной карты.7. Добавлено поле cards_count в метод Авторизации.8. Добавлено поле carrier в списке карт и детальной информации по карте.9. Форматирование документа.

Абрамов К.А.

1.1.19 26.02.2020 1. Добавлен метод по сбросу счетчика неверного ввода PIN – кода.2. Добавлен метод – Список водителей по карте.3. Скорректированы пути и параметры методов сброса счетчика выпуска МПК и удаление МПК.

Абрамов К.А.

1.1.20 25.03.2020 1. Добавлен новый метод списка шаблонов геоограничителей ВК2. Добавлен новый метод создания шаблона геоограничителя ВК3. Добавлен новый метод обновления шаблона геоограничителя ВК4. Добавлен новый метод удаления шаблона геоограничителя ВК5. Скорректирован метод списка шаблонов ВК – убрали обязательность параметра contract_id6. Скорректирован метод списка лимитов шаблонов ВК – убрали обязательность параметра contract_id7. Скорректирован метод списка ограничителей шаблонов ВК – убрали обязательность параметра contract_id8. Скорректирован метод удаления лимита шаблона ВК – убрали обязательность параметра contract_id9. Скорректирован метод удаления ограничителя шаблона ВК – убрали обязательность параметра contract_id10. В запросе методе списка пользователь убран лишний параметр driver11. Скорректированы ответы списочных сервисов – data заменен на result.12. Добавлены новые поля в метод авторизации – role_name, mpc и template_id13. Добавлено поле use_mpc в сервисе привязки договоров

Абрамов К.А.

5

Page 6: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

СОДЕРЖАНИЕМетоды API............................................................................................................................7

Структура запроса методов..............................................................................................................7Структура ответа методов................................................................................................................7

Пользователь, учетная запись.....................................................................................................10Авторизация пользователя.............................................................................................................10Деавторизация пользователя.........................................................................................................12Статистика........................................................................................................................................12

Договор – Contract........................................................................................................................16Данные по договору.......................................................................................................................16Последний используемый договор...............................................................................................18Установить последний используемый договор............................................................................19Платежи по договору......................................................................................................................20

Топливные карты – Cards.............................................................................................................22Список топливных карт (Кеш).........................................................................................................22Список топливных карт (Процессинг)............................................................................................24Список топливных карт по группе карт..........................................................................................26Список водителей по карте............................................................................................................27Детальная информация по карте...................................................................................................29Блокировка и разблокировка карты..............................................................................................31Установить комментарий на топливную карту.............................................................................32Запрос одноразового кода для сброса попыток ввода PIN карты...............................................32Подверждение сброса попыток некорректного ввода PIN - кода карты....................................33

Электронный кошелек – Ewallet..................................................................................................34Изменить тип продукта карты........................................................................................................34Перевести деньги с договора на кошелек.....................................................................................35Перевести деньги с кошелька на договор.....................................................................................35

Транзакции – Transactions............................................................................................................37Список последних транзакций по договору..................................................................................37Список последних транзакций по карте........................................................................................39

Продуктовые лимиты - Limit........................................................................................................42Список продуктовых лимитов по договору, карте и группе карт................................................42Удаление продуктового лимита по карте и группе карт..............................................................44Установка/Изменение продуктового лимита по карте и группе карт.........................................45

Товарные ограничители - Restriction...........................................................................................48Список товарных ограничителей по договору, карте и группе карт............................................48Удаление товарного ограничителя по карте и группе карт.........................................................51Установка/Изменение товарного ограничителя по карте и группе карт....................................51

Региональные лимиты - RegionLimit............................................................................................53Список региональных лимитов по договору, карте и группе карт..............................................53Удаление регионального лимита по карте и группе карт............................................................55Установка/Изменение регионального лимита по карте и группе карт.......................................56

Группа карт – CardGroup...............................................................................................................58Добавление карт в группу карт......................................................................................................58Список групп карт............................................................................................................................58Удаление группы карт.....................................................................................................................60Установка/Изменение группы карт................................................................................................60

Запрос отчета – Reports................................................................................................................62

6

Page 7: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Запрос транзакционного отчета за период на email и по ссылке................................................62Список ранее заказанных отчетов по ссылке................................................................................63Генерация файла отчета.................................................................................................................65

Приглашение пользователей – Invites.........................................................................................67Список приглашений.......................................................................................................................67Создание приглашения с отправкой..............................................................................................69Создание приглашения...................................................................................................................70Удалить приглашение.....................................................................................................................72Повторная отправка приглашения.................................................................................................72

Пользователи – Users...................................................................................................................74Список пользователей....................................................................................................................74Прикрепление договоров к пользователю...................................................................................79Открепление договоров от пользователя.....................................................................................80Прикрепление карты к пользователю...........................................................................................81Открепление карты от пользователя.............................................................................................81Удаление пользователя..................................................................................................................82

Шаблоны ВК – Templates..............................................................................................................84Список шаблонов ВК.......................................................................................................................84Создание шаблона ВК.....................................................................................................................85Изменение шаблона ВК..................................................................................................................86Удаление шаблона ВК.....................................................................................................................87

Шаблон лимитов ВК – Template Limits.........................................................................................88Список лимитов шаблона ВК..........................................................................................................88Создание лимита шаблона ВК........................................................................................................90Изменение лимита шаблона ВК.....................................................................................................92Удаление лимита шаблона ВК.......................................................................................................94

Шаблон ограничителей ВК – Template Restrictions.....................................................................96Список ограничителей шаблона ВК...............................................................................................96Создание ограничителя шаблона ВК.............................................................................................97Изменение ограничителя шаблона ВК..........................................................................................98Удаление ограничителя шаблона ВК.............................................................................................99

Шаблон геоограничителей ВК – Template GeoRestrictions........................................................101Список геоограничителей шаблона ВК........................................................................................101Создание геоограничителя шаблона ВК......................................................................................102Изменение геоограничителя шаблона ВК...................................................................................103Удаление геоограничителя шаблона ВК......................................................................................104

Виртуальная карта – Virtual Card................................................................................................106Удаление МПК...............................................................................................................................106Сброс счетчиков МПК....................................................................................................................106

Cправочник торговых точек с услугами и ценами.....................................................................108Список торговых точек..................................................................................................................108

Справочники...............................................................................................................................116Общие справочники......................................................................................................................116

Приложение №1.........................................................................................................................118

7

Page 8: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Методы API

Структура запроса методов

Запрос к API должен быть сформирован в виде GET: http://<IP сервера>/<название сервиса>/<название версии>/<название метода>?<параметры>&<параметры> и POST: http://<IP сервера>/<название сервиса>/<название версии>/<название метода> + тело запроса: <параметры>&<параметры>.

Структура ответа методов

Типы данных: string - строковый тип данных uint - беззнаковый целочисленный тип данных float - вещественный тип данных byte - бинарный тип данных json – массив объектов JSON bool – логический тип данных

Все методы возвращают данные в формате JSON с поименованными параметрами:

Параметр Тип Описаниеstatus json Статус выполнения запроса, содержит код и сведения об ошибкахcode uint Код ошибки, обязателен при любом результате выполнения запроса

(200=успех)errors json Массив ошибок, если ошибок не было, то параметр отсутствуетdata json Структура ответа зависит от метода API. Если метод не

возвращает данных, то параметр может отсутствовать

Успешный ответ

Формат ответа в JSON:{“data”: <Mixed>,“status”: {

“code”: <беззнаковое целое>,“errors”: <массив Error>}

}

Неуспешный ответПараметр Тип / Значение Описаниеtype “notAuthenticated” Ошибки данного типа возникают, когда метод,

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

8

Page 9: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

ошибке может само принять меры, например, произвести повторную аутентификацию

“passwordRequired” Не указан пароль“passwordIncorrect” Некорректный пароль“userNotFound” Пользователь, от имени которого выполнялся

запрос, не существует“accessDenied” Доступ к запрашиваемым данным запрещен для

пользователя“validationFailed” Ошибки данного типа возникают при передаче

в параметрах, некорректных данных. Клиентское приложение в поле data получает информацию о том, какие параметры запроса были некорректны и соответствующее сообщение об ошибка в поле messages

“updateRequired” Ошибки данного типа возникают, если запрашиваются данные, отсутствующие на сервере или серверу требуется передать данные в формате, не поддерживаемом данной версией клиентского приложения. На основе полученных данных клиентское приложение может само обновить требуемые справочники, указанные в поле data

"upgradeRequired" Ошибки данного типа возникают, если версия сервера, используемая клиентским приложением, устарела. Это может быть исправлено только путем обновления приложения целиком

message string[] Описание ошибки для пользователя, массивdata string[] Дополнительная информация об ошибке для

приложения. Содержание зависит от типа ошибки type

Примеры неуспешного ответа:1) {

“status”: {“code”: 403,"errors":[

{"type":"notAuthenticated","message":"Пользователь не авторизован!"

} ]}

}

9

Page 10: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

2) { “status”: {

“code”: 400,"errors":[

{"type":"upgradeRequired","message":"Необходимо обновить приложение"

} ]

}}

3) { “status”: {

“code”: 406,"errors":[

{"type":"validationFailed","message":" Ошибка в переданном параметре""data": ["start", "end"]

} ]

}}

В связи с особенностями архитектуры БД и количеством запрашиваемых данных, некоторые запросы могут выполнятся дольше стандартного времени, отведенного на обработку (120 секунд).

10

Page 11: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пользователь, учетная запись

Авторизация пользователя

Запрос: POST http://localhost/vip/v1/authUser

Параметры запроса: Параметр Тип Обяз

.Описание

login string + Логин пользователяpassword string + Пароль пользователя, захешированный функцией SHA-512 по стандарту

SHS - FIPS 180-4, результат хеширования в нижнем регистре

Заголовки запроса: api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780date_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: POST: http://localhost/vip/v1/authUserBODY: login=VashLogin&password=50f6a82e4de7114b2bbt31d57d79353ewerwgb28a3c1e4bfb81784ttttwwecc8d6206f9136a4td334e516d1e9af2b42f0fatab19

Параметры ответа:Параметр Тип Обяз. Описаниеclient_id string + ID клиента

client_status string + Статус пользователяorg_name string + Название организацииsession_id string + ID текущей сессии пользователя

user_id string + ID пользователяcontracts json + Данные договоров доступных пользователю

role_id string + ID роли пользователяrole_name string + Название роли пользователяread_only bool + Режим чтенияfirst_login string + Первая авторизация

user_name string - Имя пользователяuser_patronymic string - Отчество пользователя

user_surname string - Фамилия пользователяlast_contract string - Последний используемый договор

Поля объекта contractsid string + ID договора

number string + Номер договора

11

Page 12: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

mpc bool + Возможность выпуска МПКtemplate_id string - ID шаблона ВКcards_count uint + Количество топливных карт на договоре

Пример ответа: { "status": { "code": 200 }, "data": { "client_id": "1-2Q45DA8", "client_status": "Active", "org_name": "Клиент ЛК АО", "session_id": "a8380534088adeeeafc86de6a3c0ccba", "user_id": "1-2Q468ZB", "contracts": [ { "id": "1-2Q4CNBH", "number": "ЯР4030436", "mpc": true, "template_id": "1-3BDZMRJ", "cards_count": 11 }, { "id": "1-2Q4CN99", "number": "ЯР4030435", "mpc": false, "template_id": null, "cards_count": 401 }, { "id": "1-2Q4C2L2", "number": "ЯР4030434", "mpc": false, "template_id": null, "cards_count": 155 } ], "role_id": "Supervisor", "role_name": "Администратор", "read_only": false, "first_login": "no", "user_name": "Петр", "user_patronymic": "Петрович", "user_surname": "Петров", "last_contract": "1-2Q4CNBH" }

12

Page 13: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

}

Деавторизация пользователя

Запрос:GET http://localhost/vip/v1/logoff

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/logoff

Параметры ответа:Параметр Тип Обяз. Описание

При успехе всегда передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Статистика

Запрос: GET http://localhost/vip/v1/info

Параметры запроса: Параметр Тип Обяз. Описание

period string - Период формата за весь месяц (YYYY-MM 2018-10) или за конкретный день (YYYY-MM-DD 2018-10-10)

Заголовки запроса: api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780date_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:

13

Page 14: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Весь месяц:GET: http://localhost/vip/v1/info?period=2018-10

Конкретный день:GET: http://localhost/vip/v1/info?period=2018-10-20

Параметры ответа:Параметр Тип Обяз. Описание

from string + Начало периодаto string + Конец периода

client_info json + Информация об организацииmethods json + Статистика вызовов

methods_info json + Описание методовПоля объекта client_info

Client string + ID организацииClientType string + Тип клиента (C – Клиент, D – Дилер, S – сабдилер)Contract string - ID договора

ContractName string - Название договораPricePlan string - Тарифный план

Cost uint - Стоимость тарифаQueries uint - Количество оплаченных запросов

Additional uint - Количество доп. пакетовПоля объекта methods

all uint + Сумма всех вызововname uint + Метод – количество вызовов

Поля объекта methods_infoactions_bill json + Тарифицируемые методы

actions_not_bill json + Бесплатные методы

Пример ответа: { "status": { "code": 200 }, "data": { "from": "2018-10-24 00:00:00", "to": "2018-10-25 00:00:00", "client_info": { "Client": "1-2SWR0I3", "ClientType": "D", "Contract": "1-2SWRA1O", "ContractName": "ЯР014032462", "PricePlan": "Base", "Cost": 20000, "Queries": 10000, "Additional": 1

14

Page 15: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

}, "methods": { "all": 18, "cards": 15, "cardgroups": 1, "card": 2 }, "methods_info": { "actions_bill": { "getpartcontractdata": "Данные по договору", "getpayments": "Платежи по договору", "setcardproduct": "Изменить тип продукта карты", "movetocard": "Перевести деньги с договора на кошелек", "movetocontract": "Перевести деньги с кошелька на договор", "cards": "Список топливных карт", "blockcard": "Блокировка и разблокировка карты", "setcardcomment": "Установить комментарий на топливную карту", "transactions": "Список последних транзакций по договору и по карте", "setlimit": "Установка/Изменение продуктового лимита по карте и группе карт", "removelimit": "Удаление продуктового лимита по карте и группе карт", "restriction": "Список товарных ограничителей по договору, карте и группе карт", "setrestriction": "Установка/Изменение товарного ограничителя по карте и группе карт", "removerestriction": "Удаление товарного ограничителя по карте и группе карт", "regionlimit": "Список региональных лимитов по договору, карте и группе карт", "setregionlimit": "Установка/Изменение регионального лимита по карте и группе карт", "removeregionlimit": "Удаление регионального лимита по карте и группе карт", "cardgroups": "Список групп карт", "setcardgroup": "Установка/Изменение группы карт", "setcardstogroup": "Добавление карт в группу карт", "removecardgroup": "Удаление группы карт", "reports": "Запрос транзакционного отчета за период на email и по ссылке", "getreportfile": "Генерация файла отчета", "invites_post": "Создание приглашения с отправкой", "invites_send": "Повторная отправка приглашения", "users_list": "Список пользователей", "users_remove": "Удаление пользователя" }, "actions_not_bill": { "logoff": "Деавторизация пользователя", "getlastcontract": "Последний используемый договор", "azs": "Список торговых точек", "getdictionary": "Общие справочники", "getreportjoblist": "Список ранее заказанных отчетов по ссылке", "info": "Статистика", "authuser": "Авторизация пользователя", "setlastcontract": "Установить последний используемый договор", "limit": "Список продуктовых лимитов по договору, карте и группе карт", "invites_post_free": "Создание приглашения",

15

Page 16: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"invites_get": "Список приглашений", "invites_get_id": "Детальная информация приглашения", "invites_delete": "Удалить приглашение", "invites_put": "Изменить приглашение" } } }}

16

Page 17: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Договор – Contract

Данные по договору

Запрос: GET http://localhost/vip/v1/getPartContractData

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/getPartContractData?contract_id=1-13WR9S2

Параметры ответа:Параметр Тип Обяз. Описание

balanceData json + Данные по расходу и балансу договораcontractData json + Данные договораmanagerData json + Данные по менеджеру договора

cardsData json + Данные по количеству карт и групп карт на договоре

Поля объекта balanceDataavailable_amount string + ID договора

own_balance string + Номер договораbalance string + Собственные средства клиента с учетом

блокировокconsumption_for_month string + Расход в текущем месяце (в валюте контракта)

consumption_for_month_volume string + Объем потребления в текущем месяце (в литрах)

consumption_for_prev_month_volume string + Объем потребления в предыдущем месяце (в литрах)

last_payment_sum string - Сумма последнего платежаlast_payment_date string - Дата последнего платежа

currency string + Валюта договораПоля объекта contractData

contract_id string + ID договораcontract_number string + Номер договора

client string + ID клиентаclient_category string + Категория клиента

contract_category string + Категория договора

17

Page 18: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

country string + Страна заключенияregion string + Регион заключения

fin_institution string + Финансовый институтinvoice_scheme string + Подключение инвойсирвоанияinvoice_period string - Дни выставления счетов

invoice_pmt_delay string - Количество дней на оплату инвойсаcontract_status string + Статус договора

pay_scheme string + Условия оплатыcredit_limit string - Кредитный лимит

current_amount_limiter string + Накопленная сумма по контрактуmax_amount_limiter string - Ограничение лимита на сумму договора

date_open string + Дата заключения договораeffective_date string + Дата вступления в силу

end_date string + Дата окончанияdate_expire string - Дата закрытия

auto_renewal string - Флаг автоматической пролонгацииproduct_type bool + Признак универсального топливного

продукта (false – старый продукт, true - УТП)Поля объекта managerData

email string + Email менеджера по сопровождениюfirst_name string + Имя менеджера по сопровождениюlast_name string + Фамилия менеджера по сопровождению

middle_name string - Отчество менеджера по сопровождениюwork_phone string - Рабочий телефон менеджера по

сопровождениюПоля объекта cardsData

cards_quantity_all string + Число карт договораcards_quantity_active string + Число активных карт договора

card_groups_quantity_all string - Число групп карт на договоре

Пример ответа: { "status": { "code": 200 }, "data": { "balanceData": { "available_amount": "63363.02", "own_balance": "63363.02", "balance": "63363.02", "consumption_for_month": "0", "consumption_for_month_volume": "0", "consumption_for_prev_month_volume": "50", "last_payment_sum": "40000", "last_payment_date": "2017-09-01", "currency": "810"

18

Page 19: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

}, "contractData": { "contract_id": "1-7MMKF", "contract_number": "МС014005503", "client": "1-3K159", "client_category": "Commercial", "contract_category": "№МС014005503 от 21.08.2015", "country": "RUS", "region": "45", "rbs_member_id": "", "rbs_number": "", "fin_institution": "ГПН Россия", "invoice_scheme": "ON", "invoice_period": "", "invoice_pmt_delay": "14", "contract_status": "Active", "pay_scheme": "Предоплатный", "credit_limit": null, "current_amount_limiter": "31810542.9", "max_amount_limiter": null, "date_open": "2015-08-21", "effective_date": "2015-08-21", "end_date": "2030-01-01", "date_expire": null, "auto_renewal": null, "product_type ": true, }, "cardsData": { "cards_quantity_all": "800", "cards_quantity_active": "73", "card_groups_quantity_all": "6" }, "managerData": { "email": "[email protected]", "first_name": "Антон", "last_name": "Соболев", "middle_name": "Владимирович", "work_phone": "+74959813364,6171" } }}

Последний используемый договор

Запрос: GET http://localhost/vip/v1/getLastContract

19

Page 20: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: GET: http://localhost/vip/v1/getLastContract

Параметры ответа: Параметр Тип Обяз. Описание

contractData string - ID контракта

Пример ответа: { "status": { "code": 200 }, "data": { "contractData": "1-1N7MWYG" }}

Установить последний используемый договор

Запрос: POST http://localhost/vip/v1/setLastContract

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: POST: http://localhost/vip/v1/setLastContractBODY: contract_id=1-1N7MWYG

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

20

Page 21: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа: { "status": { "code": 200 }, "data": true}

Платежи по договору

Запрос: GET http://localhost/vip/v1/getPayments

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/getPayments?contract_id=1-13WR9S2

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID платежа

contract_id string + ID договораdate string + Дата платежа

amount string + Сумма платежаcurrency string + Валюта

amount_client string + Сумма в валюте клиентаdescription string + Описание платежа

payment_name string + Название платежаpayment_type string + Тип платежа.

P – Advice (Прямая);R – Reversal (Отмена);J – Adjustment (Частичная отмена)

payment_number string + Номер платежа

21

Page 22: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "1334479", "contract_id": "1-1FLW4T7", "date": "2015-04-15T15:25:20", "amount": "10000", "currency": "810;RUR", "amount_client": "10000", "description": " БН00-00000250099 от 15.04.2015 15:25:14", "payment_name": "Payment To Client Contract", "payment_type": "P;Advice", "payment_number": "0000250099" } ], "timestamp": "2018-06-28 15:56:22" }}

22

Page 23: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Топливные карты – Cards

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

Список топливных карт (Кеш)

Запрос: GET http://localhost/vip/v1/cards

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

cache bool + Кеш карт.true - данные берутся из кеша. В кеше имеются группы карт.

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/cards?contract_id=1-B7C8D&cache=true

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID карты

group string - ID группы карт, к которой принадлежит картаcontract_id string + ID договора

number string + Номер картыstatus string + ID статуса карты

comment string - Комментарий картыproduct string + Тип продукта (Лимитная карта или Электронный кошелек)carrier string + Тип карты (Plastic – физическая карта, Virtual Card –

виртуальная карта)payment_of_tolls string + Возможность оплаты дорожных сборовsync_group_state string - Статус синхронизации группы карт

23

Page 24: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа:{ "status": { "code": 200 }, "data": { "totalCount": 3, "result": [ { "id": "382359", "group": "1-CRPDCT2", "contract_id": "1-1FLKAJQ", "number": "7005830001422138", "status": "Locked(Client)", "comment": "Комментарий", "product": "limit", "carrier": "Virtual Card", "payment_of_tolls": "N", "sync_group_state": "Синхронизирована" }, { "id": "382360", "group": null, "contract_id": "1-1FLKAJQ", "number": "7005830001422146", "status": "Locked(Client)", "comment": "Комментарий", "product": "wallet", "carrier": " Plastic", "payment_of_tolls": "N", "sync_group_state": "" }, { "id": "382361", "group": null, "contract_id": "1-1FLKAJQ", "number": "7005830001422153", "status": "Active", "comment": "лимиты не работают", "product": "wallet", "carrier": "Plastic", "payment_of_tolls": "N", "sync_group_state": "" } ], "timestamp": "2018-10-25 22:01:53" }}

24

Page 25: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Список топливных карт (Процессинг)

Запрос: GET http://localhost/vip/v1/cards

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

cache bool - Кеш карт.false или не задан - данные берутся по прямому запросу из процессинга.

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/cards?contract_id=1-B7C8DGET: http://localhost/vip/v1/cards?contract_id=1-B7C8D&cache=false

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID карты

contract_id string + ID договораnumber string + Номер картыstatus string + ID статуса карты

can_work_offline bool + Возможность обслуживания карты в режиме оффлайнcard_auth_type string + Наименование способа авторизации карты

comment string - Комментарий картыdate_expired string + Дата окончания срока действия

date_last_usage string - Дата последнего использованияdate_released string - Дата выпуска карты

servicecenter_last_usage string - ID ТО последнего обслуживанияtransaction_last_detail string - Детали последней транзакции

transaction_timeout json - Минимальное время между транзакциямиproduct string + Тип продукта (Лимитная карта или Электронный кошелек)

payment_of_tolls string + Возможность оплаты дорожных сборовПоля объекта transaction_timeout

type uint + Единицы измененияvalue uint + Значение ограничения

25

Page 26: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 3, "result": [ { "id": "382359", "contract_id": "1-1FLKAJQ", "number": "7005830001422138", "status": "Locked(Client)", "can_work_offline": true, "card_auth_type": "PIN", "comment": "Комментарий", "date_expired": "2034-09-30 23:59:59", "date_last_usage": "2015-04-27 00:00:00", "date_released": "2014-09-24 00:00:00", "servicecenter_last_usage_name": "AZS103261", "transaction_last_detail": "", "transaction_timeout": { "type": "H", "value": "1" }, "product": "limit", "payment_of_tolls": "N" }, { "id": "382360", "contract_id": "1-1FLKAJQ", "number": "7005830001422146", "status": "Locked(Client)", "can_work_offline": true, "card_auth_type": "PIN", "comment": "Комментарий", "date_expired": "2034-09-30 23:59:59", "date_last_usage": null, "date_released": "2014-09-24 00:00:00", "servicecenter_last_usage_name": null, "transaction_last_detail": "", "transaction_timeout": { "type": "N", "value": "10" }, "product": "wallet", "payment_of_tolls": "N" },

26

Page 27: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

{ "id": "382361", "contract_id": "1-1FLKAJQ", "number": "7005830001422153", "status": "Active", "can_work_offline": true, "card_auth_type": "PIN", "comment": "лимиты не работают", "date_expired": "2034-09-30 23:59:59", "date_last_usage": null, "date_released": "2014-09-24 00:00:00", "servicecenter_last_usage_name": null, "transaction_last_detail": "", "transaction_timeout": { "type": "H", "value": "2" }, "product": "wallet", "payment_of_tolls": "N" } ], "timestamp": "2018-10-25 22:01:47" }}

Список топливных карт по группе карт

Запрос: GET http://localhost/vip/v1/cards

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

group_id string + ID группы карт

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/cards?contract_id=1-B7C8D&group_id=1-CRPDCT2

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данных

27

Page 28: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

timestamp string + Таймштамп запросаПоля объекта result

id string + ID картыgroup string - ID группы карт, к которой принадлежит карта

contract_id string + ID договораnumber string + Номер картыstatus string + ID статуса карты

comment string - Комментарий картыproduct string + Тип продукта (Лимитная карта или Электронный кошелек)

payment_of_tolls string + Возможность оплаты дорожных сборовsync_group_state string - Статус синхронизации группы карт

Пример ответа:{ "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "382359", "group": "1-CRPDCT2", "contract_id": "1-1FLKAJQ", "number": "7005830001422138", "status": "Locked(Client)", "comment": "Комментарий", "product": "limit", "payment_of_tolls": "N", "sync_group_state": "Синхронизирована" } ], "timestamp": "2018-10-25 22:01:57" }}

Список водителей по карте

Запрос: GET http://localhost/vip/v2/cards/{card_id}/drivers

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

28

Page 29: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45contract_id: 1-B7C8D3

Пример запроса:GET: http://localhost/vip/v2/cards/382359/drivers

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp uint + Таймштемп запроса

Поля объекта resultid string + ID пользователя

login string + Логин пользователяfirst_name string + Имяlast_name string + Фамилия

middle_name string - Отчествоdate string - Дата рождения

position string - Должностьrole json + Роль пользователя

mobile_phone string + Телефонemail string - Email

Пример ответа: { "status": { "code": 200 }, "data": { "total_count": 2, "result": [ { "id": "1-3AKNC9S", "login": "79111111111", "first_name": "Роман", "last_name": "Петров", "middle_name": "", "date": "01/01/1970", "position": "Водитель", "role": "Водитель", "mobile_phone": "+79111111111", "email": "[email protected]" },

29

Page 30: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

{ "id": "1-37TPIP6", "login": "79999999999", "first_name": "Кирилл", "last_name": "Иванов", "middle_name": "Александрович", "date": "07/12/1981", "position": "Дальнобойщик", "role": "Водитель", "mobile_phone": "+79999999999", "email": "" } ] }, "timestamp": 1582741325}

Детальная информация по карте

Запрос: GET http://localhost/vip/v1/cards

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

card_id string + ID карты

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/cards?contract_id=1-1FLKAJQ&card_id=382359

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID карты

contract_id string + ID договораnumber string + Номер картыstatus string + ID статуса карты

can_work_offline bool + Возможность обслуживания карты в режиме оффлайнcard_auth_type string + Наименование способа авторизации карты

30

Page 31: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

comment string - Комментарий картыdate_last_usage string - Дата последнего использованияdate_released string - Дата выпуска карты

servicecenter_last_usage string - ID ТО последнего обслуживанияtransaction_timeout json - Минимальное время между транзакциями

product string + Тип продукта (Лимитная карта или Электронный кошелек)carrier string + Тип карты (Plastic – физическая карта, Virtual Card –

виртуальная карта)available string + Баланс электронного кошелькаcurrency string + Валюта карты

payment_of_tolls string + Возможность оплаты дорожных сборовprevious string - Предыдущая карта

next string - Следующая картаПоля объекта transaction_timeout

type uint + Единицы измененияvalue uint + Значение ограничения

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "382359", "contract_id": "1-1FLKAJQ", "number": "7005830001422138", "status": "Locked(Client)", "can_work_offline": true, "card_auth_type": "PIN", "comment": "Комментарий", "date_last_usage": "2015-04-27 00:00:00", "date_released": null, "servicecenter_last_usage_name": "602881", "transaction_timeout": { "type": 2, "value": "1" }, "product": "limit", "carrier": "Virtual Card", "available": "40000", "currency": "810", "payment_of_tolls": "N", "previous": "", "next": "382360"

31

Page 32: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

} ], "timestamp": "2018-10-25 22:01:07" }}

Блокировка и разблокировка карты

Запрос: POST http://localhost/vip/v1/blockCard

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта

card_id [string, string] + ID картblock bool + true – блокировка, false – разблокировка

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:Блокировка картыPOST: http://localhost/vip/v1/blockCardBODY: contract_id=1-B7C8D&card_id=["517945","517946"]&block=true

Разблокировка картыPOST: http://localhost/vip/v1/blockCardBODY: contract_id=1-B7C8D&card_id=["517945","517946"]&block=false

Параметры ответа:Параметр Тип Обяз. Описание

data [string, string] - ID карт, которые были заблокированы/разблокированы

Пример ответа:{ "status": { "code": 200 }, "data": [ "517945", "517946" ]}

32

Page 33: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Установить комментарий на топливную карту

Запрос:POST http://localhost/vip/v1/setCardComment

Параметры запроса:Параметр Тип Обяз. Описание

card_id string + ID картыcontract_id string + ID договораcomment string + Комментарий

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:POST: http://localhost/vip/v1/setCardCommentBODY: card_id=517945&contract_id=1-2Q4CNBH&comment=COMMENT

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Запрос одноразового кода для сброса попыток ввода PIN карты

Запрос: POST http://localhost/vip/v2/cards/{card_id}/verifyPIN

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45contract_id: 1-FKFKFF

33

Page 34: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример запроса:POST: http://localhost/vip/v2/cards/4534535/verifyPIN

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Подверждение сброса попыток некорректного ввода PIN - кода карты

Запрос: POST http://localhost/vip/v2/cards/{card_id}/resetPIN

Параметры запроса:Параметр Тип Обяз. Описание

code string + Код из Emailа

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencodedcontract_id: 1-FKFKFF

Пример запроса:POST: http://localhost/vip/v2/cards/4534535/resetPIN

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

34

Page 35: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Электронный кошелек – EwalletЭлектронный кошелек – карта, обслуживание которой производится не из доступных средств счета договора, а из собственных средств кошелькового счета карты, который отдельно пополняется из доступных средств договора.Электронный кошелек позволяет установить общий (единый) лимит на все услуги в денежном выражении (валюте договора).Пользователь может работать с картами типа «электронный кошелек»: изменять тип карты с «лимитной карты» на «электронный кошелек», переводить денежные средства со счета договора на электронный кошелек, и наоборот.

Изменить тип продукта карты

Запрос:POST http://localhost/vip/v1/setCardProduct

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

card_id json + ID карт ([“424234”,”423423”])product string + Тип продукта (wallet или limit)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: POST: http://localhost/vip/v1/setCardProductBODY: contract_id=1-2Q4CNBH&card_id=[“11148025”]&product=wallet

Параметры ответа:Параметр Тип Обяз. Описание

data [string, string] - ID карт, у которых изменен тип продукта

Пример ответа: { "status": { "code": 200 }, "data": [ "11148025" ]}

35

Page 36: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Перевести деньги с договора на кошелек

Запрос:POST http://localhost/vip/v1/moveToCard

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

card_id string + ID картыamount string + Сумма

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: POST: http://localhost/vip/v1/moveToCardBODY: contract_id=1-2Q4CNBH&card_id=11148025&amount=500

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа: { "status": { "code": 200 }, "data": true}

Перевести деньги с кошелька на договор

Запрос:POST http://localhost/vip/v1/moveToContract

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

card_id string + ID картыamount string + Сумма

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

36

Page 37: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример запроса: POST: http://localhost/vip/v1/moveToContractBODY: contract_id=1-2Q4CNBH&card_id=11148025&amount=1500

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа: { "status": { "code": 200 }, "data": true}

37

Page 38: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Транзакции – Transactions

Список последних транзакций по договору

Будут возвращены последние транзакции, относящиеся к указанному договору.

Запрос:GET http://localhost/vip/v1/transactions

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

count uint (1..30) - Количество транзакций (если не указывать, то вернется 10 последних транзакций)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: GET: http://localhost/vip/v1/transactions?contract_id=1-B7C8D&count=20

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID транзакции

card_id string + ID картыcard_number string + Номер карты

currency string + ID валютыservice_center string - ID точки обслуживания

time string + Локальное время торговой точкиcost float + Общая стоимость на ТО (сумма позиций чека)

incoming bool + Тип транзакции – входящая или исходящая.true - входящая транзакция, false – исходящая

request json + Тип транзакцииtransaction_items json - Позиции чека транзакции по топливной картеПоля объекта request

type string + Код типа транзакцииname string + Расшифровка типа транзакции

Поля объекта transaction_items

38

Page 39: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

id string + ID элемента транзакцииproduct string + Продукт (название продукта)amount float + Количество

price float + Цена на ТОcost float + Стоимость на ТО

discount_price float + Цена на ТО со скидкой (в валюте договора клиента)discount_cost float + Стоимость на ТО со скидкой (в валюте договора клиента)

transaction string + ID транзакцииunit string - Единицы измерения продукта

Пример ответа: {

"id": "1619514547","time": "2017-04-25 11:43:39","currency": "810","card": "2766953","service_center": "8807238","card_number": "7005830003716768","cost": 1140,"incoming": true,"request": {

"type": "Advice","name": "Покупка"

},"transaction_items": [{

"id": "1619514554","product": "Аи-95","amount": 30,"cost": 1140,"discount_price": 35.34,"discount_cost": 1060.2,"transaction": "1619514547","unit": null,"price": 35.34

}]},{

"id": "1619514548","time": "2017-04-25 11:45:40","currency": "810","card": "2766953","service_center": "8807238","card_number": "7005830003716768","cost": 1140,"incoming": true,"request": {

"type": "Request",

39

Page 40: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"name": "Предавторизация" },"transaction_items": [{

"id": "1619514554","product": "Аи-95","amount": 30,"cost": 1140,"discount_price": 35.34,"discount_cost": 1060.2,"transaction": "1619514548","unit": null,"price": 35.34

}]}

Список последних транзакций по карте

Будут возвращены последние транзакций относящиеся к указанной карте.

Запрос: GET http://localhost/vip/v1/transactions

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

card_id string + ID картыcount uint (1..30) - Количество транзакций (если не указывать, то вернется 10

последних транзакций)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: GET: http://localhost/vip/v1/transactions?contract_id=1-B7C8D&card_id=2766953&count=20

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID транзакции

card string + ID картыcard_number string + Номер карты

currency string + ID валюты

40

Page 41: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

service_center string + ID точки обслуживанияtime string + Локальное время торговой точкиcost float + Общая стоимость на ТО (сумма позиций чека)

incoming bool + Тип транзакции – входящая или исходящая.true – входящая транзакция, false – исходящая

request json + Тип транзакцииtransaction_items json - Позиции чека транзакции по топливной картеПоля объекта request

type string + Код типа транзакцииname string + Расшифровка типа транзакции

Поля объекта transaction_itemsid string + ID элемента транзакции

product string + Продукт (название продукта)amount float + Количество

price float + Цена на ТОcost float + Стоимость на ТО

discount_price float + Цена на ТО со скидкой (в валюте договора клиента)discount_cost float + Стоимость на ТО со скидкой (в валюте договора клиента)

transaction string + ID транзакцииunit string - Единицы измерения продукта

Пример ответа: {

"id": "1619514547","time": "2017-04-25 11:43:39","currency": "810","card": "2766953","service_center": "8807238","card_number": "7005830003716768","cost": 1140,"incoming": true,"request": {

"type": "Advice","name": "Покупка"

},"transaction_items": [{

"id": "1619514554","product": "Аи-95","amount": 30,"cost": 1140,"discount_price": 35.34,"discount_cost": 1060.2,"transaction": "1619514547","unit": null,"price": 35.34

}]

41

Page 42: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

},{

"id": "1619514548","time": "2017-04-25 11:45:40","currency": "810","card": "2766953","service_center": "8807238","card_number": "7005830003716768","cost": 1140,"incoming": true,"request": {

"type": "Advice","name": "Покупка"

},"transaction_items": [{

"id": "1619514554","product": "Аи-95","amount": 30,"cost": 1140,"discount_price": 35.34,"discount_cost": 1060.2,"transaction": "1619514548","unit": null,"price": 35.34

}]}

42

Page 43: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Продуктовые лимиты - Limit

Список продуктовых лимитов по договору, карте и группе карт

Запрос: GET http://localhost/vip/v1/limit

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

card_id string - ID карты.Если ID карты и ID группы карт не переданы, то будут возвращены все продуктовые лимиты, привязанные к договору.Если передан ID карты, то будет возвращена информация о всех продуктовых лимитах по карте, даже если передан ID группы карт

group_id string - ID группы карт.Если передан ID группы карты, то будут возвращены все продуктовые лимиты указанной группы карт.Если передан ID карты и ID группы карт, то будет возвращена информация по карте

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: Лимиты по договоруGET: http://localhost/vip/v1/limit?contract_id=1-B7C8D

Лимиты по картеGET: http://localhost/vip/v1/limit?contract_id=1-B7C8D&card_id=382364

Лимиты по группе картGET: http://localhost/vip/v1/limit?contract_id=1-B7C8D&group_id=1-2646OGV

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID лимита

card_id string - ID картыgroup_id string - ID группы карт

43

Page 44: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

contract_id string + ID договораproductGrou

pstring - ID группы продукта

productType string + ID типа продуктаamount json - Ограничение по количеству

sum json - Ограничение по суммеterm json - Ограничение по времениtime json + Длительность, период времени

transactions json - Ограничение по числу транзакций за периодdate string + Дата последнего изменения

Поля объекта amountunit string + Единица измерения

value float + Суммарное количество ограниченияused float + Использованное количество ограничения

Поля объекта sumcurrency string + Валюта

value float + Суммарный размер ограниченияused float + Использованный объем ограничения

Поля объекта termdays string[7] - Строка из 7 нулей и единиц. 1 – ограничение применяется в

этот день, 0 – нетtime json - Время обслуживанияtype uint + Способ применения ограничения.

1 - Ограничение применяется всегда (во все указанные дни недели)2 - Ограничение применяется только в рабочие дни3 - Ограничение применяется только в выходные и праздничные дни

Поля объекта term.timefrom string + От

to string + ДоПоля объекта time

number uint + Значение.type uint + Период действия ограничения.

2 – Разовый,3 – Сутки,4 – Неделя,5 – Месяц, 6 – Квартал, 7 – Год

Поля объекта transactionscount uint + Количество транзакций по услуге

occured uint + Количество проведенных транзакций по ограничению

44

Page 45: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "1-D7H3FRC", "card_id": "517945", "group_id": null, "contract_id": "1-B7C8D", "amount": { "value": 40, "used": 0, "unit": "LIT" }, "productGroup": "1-CK235", "productType": "1-CK231", "sum": null, "term": { "days": "0000000", "type": 2, "time": { "from": "07:00", "to": "18:00" } }, "transactions": { "count": 5, "occured": 2 }, "time": { "number": 3, "type": 7 }, "date": "09/03/2018 00:00:00" } ], "timestamp": "2018-09-03 16:58:02" }}

Удаление продуктового лимита по карте и группе карт

Запрос: POST http://localhost/vip/v1/removeLimit

45

Page 46: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора.

limit_id string + ID продуктового лимита.group_id string - ID группы карт.

Если ID группы карты не передано, то будет удален лимит по карте. Если передан ID группы карт, то будет удален лимит по группе карт

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: Удаление продуктового лимита по карте:POST: http://localhost/vip/v1/removeLimitBODY: limit_id=1-D7H3FRC&contract_id=1-B7C8D

Удаление продуктового лимита по группе карт:POST: http://localhost/vip/v1/removeLimitBODY: limit_id=1-D7H3FRC&group_id=1-263X96Z&contract_id=1-B7C8D

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Установка/Изменение продуктового лимита по карте и группе карт

Запрос: POST http://localhost/vip/v1/setLimit

Параметры запроса:Параметр Тип Обяз. Описание

limit json + Массив данных лимитаПоля объекта limit

id string - ID лимита

46

Page 47: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

card_id string - ID картыgroup_id string - ID группы карт

contract_id string + ID договораproductGrou

pstring - ID группы продукта

productType string + ID типа продуктаamount json - Ограничение по количеству

sum json - Ограничение по суммеterm json - Ограничение по времениtime json + Длительность, период времени

transactions json - Ограничение по числу транзакций за периодПоля объекта amount

unit string + Единица измеренияvalue uint + Суммарное количество ограничения

Поля объекта sumcurrency string + Валюта

value uint + Суммарный размер ограниченияПоля объекта term

days string[7] - Строка из 7 нулей и единиц. 1 – ограничение применяется в этот день, 0 – нет

time json - Время обслуживанияtype uint + Способ применения ограничения:

1 – Ограничение применяется всегда (во все указанные дни недели).2 – Ограничение применяется только в рабочие дни.3 – Ограничение применяется только в выходные и праздничные дни

Поля объекта term.timefrom string + От

to string + ДоПоля объекта time

number uint + Значение.type uint + Период действия ограничения.

2 – Разовый,3 – Сутки,4 – Неделя,5 – Месяц, 6 – Квартал, 7 – Год

Поля объекта transactionscount uint + Количество транзакций по услуге

47

Page 48: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: Установка продуктового лимита на карту (литры)POST: http://localhost/vip/v1/setLimitBODY: limit=[{"card_id":"2724116","contract_id":"1-1N3MWYG","productGroup":"1-CK235","productType":"1-CK231","amount":{"value":123,"unit":"LIT"},"term":{"time":{"from":"03:00","to": "08:00"},"days":"1111100","type":1},"transactions":{"count":40},"time":{"number":4,"type":7}}]

Установка продуктового лимита на карту (рубли)POST: http://localhost/vip/v1/setLimitBODY: limit=[{"card_id":"2724116","contract_id":"1-1N3MWYG","productGroup":"1-CK235","productType":"1-CK231","sum":{"currency":"810","value":2000},"term":{"time":{"from":"03:00","to": "08:00"},"days":"1111100","type":1},"transactions":{"count":40},"time":{"number":4,"type":7}}]

Установка продуктового лимита на группу карт (литры)POST: http://localhost/vip/v1/setLimitBODY: limit=[{"group_id":"1-243X46Z","contract_id":"1-1N3MWYG","productGroup":"1-CK235","productType":"1-CK231","amount":{"value":"555","unit":"LIT"},"term":{"time":{"from":"03:00","to": "08:00"},"days":"1111100","type":1},"transactions":{"count":40},"time":{"number":3,"type":7}}]

Установка продуктового лимита на группу карт (рубли)POST: http://localhost/vip/v1/setLimitBODY: limit=[{"group_id":"1-243X46Z","contract_id":"1-1N3MWYG","productGroup":"1-CK235","productType":"1-CK231","sum":{"currency":"810","value":1000},"term":{"time":{"from":"03:00","to": "08:00"},"days":"1111100","type":1},"transactions":{"count":40},"time":{"number":3,"type":7}}]

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

Параметры ответа:Параметр Тип Обяз. Описание

data [string] - ID сохраненного лимита

Пример ответа:{ "status": { "code": 200 }, "data": [ "1-D7H3FRC" ]}

48

Page 49: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Товарные ограничители - Restriction

Список товарных ограничителей по договору, карте и группе карт

Запрос:GET http://localhost/vip/v1/restriction

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта.

card_id string - ID карты.Если ID карты и ID группы карт не переданы, то будут возвращены все товарные ограничители, привязанные к договору.Если передан ID карты, то будет возвращена информация о всех товарных ограничителях по карте, даже если передан ID группы карт

group_id string - ID группы карт.Если передан ID группы карты, то будут возвращены все товарные ограничители указанной группы карт.Если передан ID карты и ID группы карт, то будет возвращена информация по карте

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: Ограничители по договоруGET: http://localhost/vip/v1/restriction?contract_id=1-B7C8D

Ограничители по картеGET: http://localhost/vip/v1/restriction?contract_id=1-B7C8D&card_id=382363

Ограничители по группе картGET: http://localhost/vip/v1/restriction?contract_id=1-B7C8D&group_id=1-265X96Z

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID товарного ограничителя

card_id string - ID карты

49

Page 50: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

group_id string - ID группы картcontract_id string + ID договора

productType string - ID типа продуктаproductGroup string - ID группы продукта

productTypeName string - Название типа продуктаproductGroupName string - Название группы продукта

date string + Дата последнего изменения

restriction_typeuint - 1 – Разрешающий ограничитель, 2 – Запрещающий

ограничитель, 3 – Тип R

Пример ответа:ID контракта в качестве входящего параметра{ "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "6358031", "card_id": null, "group_id": null, "contract_id": "1-B7C8D", "productType": "1-CK231", "productGroup": null, "productTypeName": "Топливо", "productGroupName": null, "restriction_type": 2, "date": "09/03/2018 00:00:00" } ], "timestamp": "2017-07-28 10:07:25" }}

ID карты в качестве входящего параметра { "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "6338192",

50

Page 51: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"card_id": "382363", "group_id": null, "contract_id": "1-B7C8D", "productType": "1-CK231", "productGroup": null, "productTypeName": "Топливо", "productGroupName": null, "restriction_type": 1, "date": "09/03/2018 00:00:00" } ], "timestamp": "2017-07-28 10:07:26" }}

ID группы карт в качестве входящего параметра { "status": { "code": 200 }, "data": { "totalCount": 2, "result": [ { "id": "6358041", "card_id": null, "group_id": "1-265X96Z", "contract_id": "1-B7C8D", "productType": "1-CK231", "productGroup": null, "productTypeName": "Топливо", "productGroupName": null, "restriction_type": 1, "date": "09/03/2018 00:00:00" }, { "id": "6358185", "card": null, "card_group": "1-265X96Z", "contract_id": "1-B7C8D", "productType": "1-CK231", "productGroup": null, "productTypeName": "Топливо", "productGroupName": null, "restriction_type": 3, "date": "09/03/2018 00:00:00" } ],

51

Page 52: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"timestamp": "2017-07-28 10:07:15" }}

Удаление товарного ограничителя по карте и группе карт

Запрос: POST http://localhost/vip/v1/removeRestriction

Параметры запроса:Параметр Тип Обяз. Описание

restriction_id string,string + ID товарного ограничителяgroup_id string - ID группы карт.

Если ID группы карты не передано, будет удален лимит по карте. Если передан ID группы карт, то будет удален лимит по группе карт

contract_id string + ID договора

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:Удаление товарного ограничителя по карте:POST: http://localhost/vip/v1/removeRestrictionBODY: restriction_id=15988463&contract_id=1-B7C8D

Удаление товарного ограничителя по группе карт:POST: http://localhost/vip/v1/removeRestrictionBODY: restriction_id=15988463&group_id=1-264X96Z&contract_id=1-B7C8D

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

52

Page 53: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Установка/Изменение товарного ограничителя по карте и группе карт

Запрос: POST http://localhost/vip/v1/setRestriction

Параметры запроса:Параметр Тип Обяз. Описаниеrestriction json + Массив параметров

Поля объекта restrictionid string - ID товарного ограничителя

card_id string - ID картыgroup_id string - ID группы карт

contract_id string + ID договораproductGroup string - ID группы продуктаproductType string + ID типа продукта

restriction_type uint + 1 – Разрешающий ограничитель, 2 – Запрещающий ограничитель

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: Установка товарного ограничителя на карту:POST: http://localhost/vip/v1/setRestrictionBODY: restriction=[{"card_id":"2748116","contract_id":"1-1N3MWYG","productGroup":"1-CK235","productType":"1-CK231","restriction_type":1}}]

Установка товарного ограничителя на группу карт:POST: http://localhost/vip/v1/setRestrictionBODY: restriction=[{"group_id":"1-265X96Z","contract_id":"1-1N3MWYG","productGroup":"1-CK235","productType":"1-CK231","restriction_type":1}]

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

Параметры ответа:Параметр Тип Обяз. Описание

data [string] - ID сохраненного ограничителя

Пример ответа:{ "status": { "code": 200 }, "data": [

53

Page 54: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"18208262" ]}

54

Page 55: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Региональные лимиты - RegionLimit

Список региональных лимитов по договору, карте и группе карт

Запрос: GET http://localhost/vip/v1/regionLimit

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID контракта.

card_id string - ID карты.Если ID карты и ID группы карт не переданы, то будут возвращены все региональные лимиты, привязанные к договору.Если передан ID карты, то будет возвращена информация о всех региональных лимитах по карте

group_id string - ID группы карт.Если передан ID группы карты, то будут возвращены все региональные лимиты указанной группы карт.Если передан ID карты и ID группы карт, то будет возвращена информация по карте

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: Региональные лимиты по договоруGET: http://localhost/vip/v1/regionLimit?contract_id=1-B7C8D

Региональные лимиты по картеGET: http://localhost/vip/v1/regionLimit?contract_id=1-B7C8D&card_id=382364

Региональные лимиты по группе картGET: http://localhost/vip/v1/regionLimit?contract_id=1-1N7MWYG&group_id=1-263X96Z

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID регионального лимита

card_id string - ID картыgroup_id string - ID группы карт

55

Page 56: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

contract_id string + ID договораcountry string + Код страны обслуживанияregion string - Код регион обслуживания

service_center string - ID АЗСdate string + Дата последнего изменения

limit_typeuint + 1 – Разрешающий ограничитель, 2 – Запрещающий

ограничитель

Пример ответа: ID контракта в качестве входящего параметра:{ "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "6355674", "card_id": null, "group_id": null, "contract_id": "1-1N7MWYG", "country": "RUS", "region": "04", "service_center": "2052059", "date": "09/03/2018 00:00:00", "limit_type": 1 } ], "timestamp": "2017-07-28 10:09:10" }}

ID карты в качестве входящего параметра:{ "status": { "code": 200 }, "data": { "totalCount": 2, "result": [ { "id": "6358134", "card_id": "2728116", "group_id": null, "contract_id": null,

56

Page 57: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"country": "RUS", "region": "04", "service_center": "2052059", "date": "09/03/2018 00:00:00", "limit_type": 1 }, { "id": "6358194", "card_id": "2728116", "group_id": null, "contract_id": null, "country": "RUS", "region": "55", "service_center": "2052059", "date": "09/03/2018 00:00:00", "limit_type": 2 } ], "timestamp": "2017-07-28 10:07:30" }}

ID группы карт в качестве входящего параметра:{ "status": { "code": 200 }, "data": { "totalCount": 1, "result": [ { "id": "6358129", "card_id": null, "group_id": "1-263X96Z", "contract_id": "1-1N7MWYG", "country": "RUS", "region": "04", "service_center": "2052059", "date": "09/03/2018 00:00:00", "limit_type": 1 } ], "timestamp": "2017-07-28 10:07:18" }}

57

Page 58: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Удаление регионального лимита по карте и группе карт

Запрос: POST http://localhost/vip/v1/removeRegionLimit

Параметры запроса:Параметр Тип Обяз. Описание

regionlimit_id string, string + ID регионального лимитаgroup_id string - ID группы карт.

Если ID группы карты не передано, то будет удален региональный лимит по карте. Если передан ID группы карт, то будет удален региональный лимит по группе карт

contract_id string + ID договора

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: Удаление регионального лимита по карте:POST: http://localhost/vip/v1/removeRegionLimitBODY: regionlimit_id=15988463&contract_id=1-B7C8D

Удаление регионального лимита по группе карт:POST: http://localhost/vip/v1/removeRegionLimitBODY: regionlimit_id=15988463&group_id=1-263X96Z&contract_id=1-B7C8D

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Установка/Изменение регионального лимита по карте и группе карт

Запрос: POST http://localhost/vip/v1/setRegionLimit

58

Page 59: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметры запроса:Параметр Тип Обяз. Описание

region_limit json + Массив параметровПоля объекта restriction

id string - ID регионального лимитаcard_id string - ID карты

group_id string - ID группы картcontract_id string + ID договора

country string + Код страны обслуживанияregion string - Код регион обслуживания

service_center string - ID АЗСpartner string - ID партнера

limit_typeuint + 1 – Разрешающий ограничитель, 2 – Запрещающий

ограничитель.

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: Установка региональных лимитов на карту:POST: http://localhost/vip/v1/setRegionLimitBODY: region_limit=[{"card_id":"2725116","country":"RUS","region":"04","service_center":"2052059","limit_type":1}]

Установка региональных лимитов на группу карт:POST: http://localhost/vip/v1/setRegionLimitBODY: region_limit=[{"group_id":"1-264X96Z","contract_id":"1-1N3MWYG","country":"RUS","region":"04","service_center":"2052059","limit_type":1}]

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

Параметры ответа:Параметр Тип Обяз. Описание

data [string] - ID сохранённого регионального лимита

Пример ответа:{ "status": { "code": 200 }, "data": [ "6358201"

59

Page 60: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

]}

60

Page 61: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Группа карт – CardGroup

Добавление карт в группу карт

Запрос: POST https://localhost/vip/v1/setCardsToGroup

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_i

dstring + ID договора

group_id string + ID группы картcards_list json + Cписок ID карт по данному договору, добавляемых или удаляемых из

группы картПоля объекта cards_list

id string + ID картыtype string + Действие. Может принимать значения:

Attach – добавить карту в группу.Detach – удалить карту из группы

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: POST: http://localhost/vip/v1/setCardsToGroupBODY: contract_id=1-1N5MWYG&group_id=1-2656PK1&cards_list=[{"id":"2728111","type": "Attach"},{"id":"2728112","type": "Attach"},{"id":"2728113","type": "Attach"}]

Параметры ответа:Параметр Тип Обяз. Описание

При успехе всегда передается true

Пример ответа: { "status": { "code": 200 }, "data": true}

61

Page 62: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Список групп карт

Запрос: GET https://localhost/vip/v1/cardGroups

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_i

dstring + ID договора

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: GET: http://localhost/vip/v1/cardGroups?contract_id=1-1N5MWYG

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Поля объекта resultid string + ID группы карт

name string + Название группыcontract_id string + ID договора

cards_count string + Количество карт в этой группеstatus string + Статус группы

Пример ответа:{ "status": { "code": 200 }, "data": { "totalCount": 2, "result": [ { "id": "1-263X96Z", "name": "groupcard-2", "cards_count": "1", "status": "Synchronize", "contract_id": "1-1N4MWYG" }, { "id": "1-243IEMJ",

62

Page 63: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"name": "groupcard-1", "cards_count": "3", "status": "Synchronize", "contract_id": "1-1N4MWYG" } ], "timestamp": "2017-07-28 08:16:54" }}

Удаление группы карт

Запрос: POST https://localhost/vip/v1/removeCardGroup

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

group_id string + ID группы карт

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса: POST: http://localhost/vip/v1/removeCardGroupBODY: contract_id=1-1N4MWYG&group_id=1-2645PK1

Параметры ответа:Параметр Тип Обяз. Описание

При успехе всегда передается true

Пример ответа: { "status": { "code": 200 }, "data": true}

Установка/Изменение группы карт

Запрос: POST https://localhost/vip/v1/setCardGroup

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

63

Page 64: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметр Тип Обяз. Описаниеcontract_id string + ID договора

name string + Имя группы картid string - ID группы карт

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:Создать группу картPOST: http://localhost/vip/v1/setCardGroupBODY: name=groupcard-4&contract_id=1-1N5MWYG

Изменить группу картPOST: http://localhost/vip/v1/setCardGroupBODY: name=groupcard-4&contract_id=1-1N5MWYG&id=1-2645PK1

Параметры ответа:Параметр Тип Обяз. Описание

id string - ID сохранённой группы карт

Пример ответа: { "status": { "code": 200 }, "data": { "id": "1-2645PK1" }}

64

Page 65: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Запрос отчета – Reports

Запрос транзакционного отчета за период на email и по ссылке

Будет возвращен транзакционный отчет, относящийся к указанному договору.Дата начала периода должна быть меньше или равна дате окончания периода. В противном случае сервер автоматически выставит дату окончания периода равной дате начала. Длина периода не должна превышать 3 календарных месяцев. Если длина периода будет превышена, то он автоматически будет сокращен до 3 календарных месяцев с указанной даты начала периода.Карты и группы карт, указанные в запросе, должны принадлежать указанному договору.Теперь отчет можно заказать и скачать по ссылке. Заказ производится стандартным образом, только не нужно указывать email, иначе прийдет на email.

Запрос: GET http://localhost/vip/v1/reports

Параметры запроса:Параметр Тип Обяз

.Описание

contract_id string + ID договораgroup_id [string,string] - Список ID группы карт.

Если данный параметр пустой или не передан – будет сформирован отчет либо по списку карт, если указан cards_list, либо по всем картам для указанного договора

cards_list [string,string] - Список 16-значных номеров карт по данному договору, по которым должен быть сформирован отчет.Если данный параметр пустой или не передан,то будет сформирован отчет либо по группе карт, если указан group_id, либо по всем картам для указанного договора

start string + Дата начала отчетного периодаend string + Дата окончания отчетного периода

email string + Адреса для отправки на emailreport_format string + Формат отчета, необходимо передавать "xlsx" "xml" "pdf" "csv"

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: Заказ отчета по договору на почтуGET: http://localhost/vip/v1/reports?contract_id=1-13WR9S2&start=2017-01-01&end=2017-01-31&email=mail%40mail.ru&report_format=xlsx

65

Page 66: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Заказ отчета по списку карт на почтуGET: http://localhost/vip/v1/reports?contract_id=1-13WR9S2&cards_list=["7005830003470036","7005830003470028","7005830003470010"]&start=2017-01-01&end=2017-01-31&email=mail%40mail.ru&report_format=pdf

Заказ отчета по списку групп карт на почтуGET: http://localhost/vip/v1/reports?contract_id=1-13WR9S2&group_id=[“1-2656PK1”,”1-2656PK2”,”1-2656PK3”]&start=2017-01-01&end=2017-01-31&email=mail%40mail.ru&report_format=xml

Заказ файла отчета по договоруGET: http://localhost/vip/v1/reports?contract_id=1-13WR9S2&start=2017-01-01&end=2017-01-31&report_format=xlsx

Заказ файла отчета по списку картGET: http://localhost/vip/v1/reports?contract_id=1-13WR9S2&cards_list=["7005830003470036","7005830003470028","7005830003470010"]&start=2017-01-01&end=2017-01-31&report_format=pdf

Заказ файла отчета по списку групп картGET: http://localhost/vip/v1/reports?contract_id=1-13WR9S2&group_id=[“1-2656PK1”,”1-2656PK2”,”1-2656PK3”]&start=2017-01-01&end=2017-01-31&report_format=xml

Параметры ответа:Параметр Тип Обяз. Описание

data [string] - Номер задания Job_ID

Пример ответа: { "status": { "code": 200 }, "data": [ "1-2DJ1PK1" ]}

Список ранее заказанных отчетов по ссылке

После заказа можно запросить все отчеты заказанные по ссылке в последние 7 дней и повторно их скачать.

Запрос: GET http://localhost/vip/v1/getReportJobList

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

66

Page 67: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/getReportJobList

Параметры ответа:Параметр Тип Обяз. Описание

data json - Массив данныхПоля объекта data

date string + Дата заказа отчетаclient_id string + ID клиентаuser_id string + ID логина

contract_id string + ID договораjob_id string + Job ID отчета

report_name string + Название отчетаreport_format string + Формат отчета

Пример ответа: { "status": { "code": 200 }, "data": [ { "date": "2018-03-01 12:57:06", "client_id": "1-1FLRGZ1", "user_id": "1-25PPQUX", "contract_id": "1-1N7MWYG", "job_id": "1-2EVN64V", "report_name": "Транзакционный отчет за период", "report_format": "pdf" }, { "date": "2018-02-27 12:04:38", "client_id": "1-1FLRGZ1", "user_id": "1-25PPQUX", "contract_id": "1-1N7MWYG", "job_id": "1-2EQH7OL", "report_name": "Транзакционный отчет за период", "report_format": "pdf" } ]}

67

Page 68: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Генерация файла отчета

После того как вы узнали Job_ID своего заказанного отчета по ссылке, его содержимое нужно получить и сформировать файл. Формирование файла вы занимаетесь на своей стороне, выставить имя файла, формат файл, содержимое и размер, получив от нас данные в виде потока application/octet-stream.Если заказывать отчет с параметром archive=true, то нужно выставить формат zip и данные прийдут в виде application/zip. Внутри архива будет находится отчет в заказанном формате (pdf, xlsx, csv, xml и другие).

Запрос: GET http://localhost/vip/v1/getReportFile

Параметры запроса:Параметр Тип Обяз

.Описание

job_id string + Job_ID отчетаarchive bool - Архивирование отчета в ZIP формат

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: Файл отчета:GET: http://localhost/vip/v1/GetReportFile?job_id=1-24H0D3I

Файл отчета в ZIP формате: GET: http://localhost/vip/v1/GetReportFile?job_id=1-24H0D3I&archive=true

Параметры ответа:Параметр Тип Обяз. Описание

Содержимое файла Поток - Требуется сформировать файл из потока данных

Пример ответа: %PDF-1.65 0 obj<</Type /XObject/Subtype /Image/Filter /FlateDecode/Length 1781/Width 134/Height 65/BitsPerComponent 8/ColorSpace /DeviceRGB>>stream

68

Page 69: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

xњнњ?ОEЕчЃ#шЃ#p§DџHIђH H‘ђ"@ІЃЛИ"°l$Г“ыT®к®ййЩЩЩeєФІ>ПџћоъuWWХфм4m%П_ЅЩ¬о!‹ех›�Юыд§пџэµwC†ь'}эЫйгЮяфg Щ»-C¦_^ь

69

Page 70: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Приглашение пользователей – InvitesInvites – функционал регистрации пользователей. Приглашение можно отправить по Email/SMS или получить уникальную ссылку и отправить удобным для вас способом. Ссылка действует 3 календарных дня, повторно направить Email/SMS по одному приглашению можно не чаще 3х раз в день. С помощью приглашения можно зарегистрировать, например, водителя и сразу привязать шаблон виртуальной карты, либо привязать физические топливные карты.

Список приглашений

Запрос: GET http://localhost/vip/v2/invites

Параметры запроса:Параметр Тип Обяз. Описание

role string - Фильтрация по ID роли (Supervisor, Regulatory, Driver, Readonly)status string - Фильтрация по статусу заявки (Active, Expired, Finished)

q string - Поисковый запрос (Ищет email и mobile)page string - Номер страницы (Пагинация)

on_page string - Элементов на странице (Пагинация)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:GET: http://localhost/vip/v2/invites?role=Driver&status=Active&q=79110301820&page=1&on_page=1

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхПоля объекта result

id string + ID приглашенияurl string + Уникальная ссылка для регистрации

status string + ID статуса приглашенияstatus_name string + Название статуса приглашения

role string + ID ролиrole_name string + Название ролиattempts uint + Количество попыток повторных отправок в день

cards json + Список карт, которые будут привязаны к пользователюinitiator string + Логин инициатора приглашения

contracts json + Список договоров, которые будут привязаны к пользователюmobile string - Мобильный телефон

70

Page 71: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

email string - Emailcommunication_type string + Тип отправки (sms или email)

sended_at timestamp - Дата отправкаexpired_at timestamp + Дата окончания

Поля объекта cardssid string + ID карты

number string + Номер картыproduct string + Тип продукта (wallet или limit)

comment string - Комментарий на картеstatus string + ID статуса карты

status_name string + Название статуса картыcontract_id string + ID договора

contract_name string + Номер договораПоля объекта contracts

sid string + ID договораnumber string + Номер договораstatus string + ID статуса договора

status_name string + Название статуса договораtemplate_id string - ID шаблона виртуальной картыcards_count uint + Количество карт на договоре

Пример ответа: { "status": { "code": 200 }, "data": { "total_count": 1, "data": [ { "id": "5ddc1bd27f6e1101316dace6", "url": "https://lk.opti-24.com/invite/?hash=5ddc1bd27f6e1101316dace6", "status": "Active", "status_name": "Активен", "role": "Driver", "role_name": "Водитель", "attempts": 2, "cards": [ { "sid": "79000001", "number": "7005830010286291", "product": "wallet", "comment": "Смирнов Антон Павлович", "status": "Active", "status_name": "Активна",

71

Page 72: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"contract_id": "1-2SY666F", "contract_name": "НВ01409999" } ], "initiator": "demo", "contracts": [ { "sid": "1-2SY666F", "number": "НВ01409999", "status": "Active", "status_name": "Активен", "template_id": null, "cards_count": 3 } ], "mobile": "79110301820", "email": null, "communication_type": "sms", "sended_at": 1574965330, "expired_at": 1574965330 } ] }}

Создание приглашения с отправкой

Запрос: POST http://localhost/vip/v2/invites

Параметры запроса:Параметр Тип Обяз. Описание

role json + ID ролиmobile string - Номер телефона.

Обязательный, если не заполнено поле email.email string - Email.

Обязательный, если не заполнено поле mobile.cards json - Массив карт, к которым будет привязан пользователь

после регистрации. [“4233424”,”4324234”]contracts json - Массив договоров, к которым будет привязан

пользователь после регистрации. [{“id”:”1-FFFFF”,”template_id”:”1-KKKK”},{“id”:”1-RRRRR”,”template_id”:null}]

Поля объекта contractsid string + ID договора

template_id string - ID шаблона виртуальной карты

72

Page 73: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: Отправить приглашение водителю, который сможет выпускать виртуальную карту и оплачивать ею по NFC : POST: http://localhost/vip/v2/invitesBODY: {"role":"Driver","mobile":"7999999999","contracts":[{“id”:”1-FFFFF”,”template_id”:”1-FKFKF”}]}

Отправить приглашение водителю, который сможет отслеживать баланс физической топливной карты и оплачивать с телефона по NFC : POST: http://localhost/vip/v2/invitesBODY: {"role":"Driver","email":"[email protected]","cards":[“5554324”,”4224443”]}

Параметры ответа:Параметр Тип Обяз. Описание

data json - Массив данныхПоля объекта data

id string + ID приглашенияurl string + Уникальная ссылка для регистрации

attempts uint + Количество попыток повторных отправок в деньexpired_at timestamp + Дата окончания

Пример ответа: { "status": { "code": 200 }, "data": { "id": "5ddc1bd27f6e1101316dace6", "url": "https://lk.opti-24.com/invite/?hash=5ddc1bd27f6e1101316dace6", "attempts": 2, "expired_at": 1574965330 }}

Создание приглашения

Запрос: POST http://localhost/vip/v2/invites_free

73

Page 74: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметры запроса:Параметр Тип Обяз. Описание

role json + ID ролиmobile string - Номер телефона.

Обязательный, если не заполнено поле email.email string - Email.

Обязательный, если не заполнено поле mobile.cards json - Массив карт, к которым будет привязан пользователь

после регистрации. [“4233424”,”4324234”]contracts json - Массив договоров, к которым будет привязан

пользователь после регистрации. [{“id”:”1-FFFFF”,”template_id”:”1-KKKK”},{“id”:”1-RRRRR”,”template_id”:null}]

Поля объекта contractsid string + ID договора

template_id string - ID шаблона виртуальной карты

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: Отправить приглашение водителю, который сможет выпускать виртуальную карту и оплачивать ею по NFC : POST: http://localhost/vip/v2/invites_freeBODY: {"role":"Driver","mobile":"7999999999","contracts":[{“id”:”1-FFFFF”,”template_id”:”1-FKFKF”}]}

Отправить приглашение водителю, который сможет отслеживать баланс физической топливной карты и оплачивать с телефона по NFC : POST: http://localhost/vip/v2/invites_freeBODY: {"role":"Driver","email":"[email protected]","cards":[“5554324”,”4224443”]}

Параметры ответа:Параметр Тип Обяз. Описание

data json - Массив данныхПоля объекта data

id string + ID приглашенияurl string + Уникальная ссылка для регистрации

attempts uint + Количество попыток повторных отправок в деньexpired_at timestamp + Дата окончания

74

Page 75: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа: { "status": { "code": 200 }, "data": { "id": "5ddc1bd27f6e1101316dace6", "url": "https://lk.opti-24.com/invite/?hash=5ddc1bd27f6e1101316dace6", "attempts": 3, "expired_at": 1574965330 }}

Удалить приглашение

Запрос: POST/DELETE http://localhost/vip/v2/invites/{invite_id}

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:DELETE: http://localhost/vip/v2/invites/5ddc1bd27f6e1101316dace6

Если ваша система не умеет отправлять DELETE запросы, то можно отправить POST , но в BODY указать _ method = DELETE : POST: http://localhost/vip/v2/invites/5ddc1bd27f6e1101316dace6BODY: _method=DELETE

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

75

Page 76: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Повторная отправка приглашения

Запрос: GET http://localhost/vip/v2/invites/{invite_id}/send

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса: GET: http://localhost/vip/v2/invites/5ddc1bd27f6e1101316dace6/send

Параметры ответа:Параметр Тип Обяз. Описание

data json - Массив данныхПоля объекта data

id string + ID приглашенияurl string + Уникальная ссылка для регистрации

attempts uint + Количество попыток повторных отправок в деньexpired_at timestamp + Дата окончания

Пример ответа: { "status": { "code": 200 }, "data": { "id": "5ddc1bd27f6e1101316dace6", "url": "https://lk.opti-24.com/invite/?hash=5ddc1bd27f6e1101316dace6", "attempts": 1, "expired_at": 1574965330 }}

76

Page 77: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

77

Page 78: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пользователи – Users

Список пользователей

Запрос: GET http://localhost/vip/v2/users

Параметры запроса:Параметр Тип Обяз. Описание

sort string - Сортировка.Сортировка осуществляется формированием строки вида:

sort = title , name ,- date

Поля для сортировки указываются в виде строки, GET параметра sort , если перед наименованием поля поставить знак - , будет осуществляться сортировка по убыванию (DESC)

filter json - Объект фильтрации ({"role":"Driver", "active":true})q string - Поисковый запрос (Ищет по Фамилия, Имя, Отчество, Логин,

Электронный ящик, Номер мобильного телефона)page string - Номер страницы (Пагинация)

on_page string - Элементов на странице (Пагинация)contract_id string - Вывести пользователей с этим привязанным договором

Параметры filter:Параметр Тип Обяз. Описание

role string - ID роли (Supervisor, Regulatory, Driver, Readonly)active bool - Активный пользователь (true/false)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:GET: http://localhost/vip/v2/users?sort=id,login&page=1&on_page=5&q=Кирилл&filter={"role":"Driver", "active":true}

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Время запроса

Поля объекта result

78

Page 79: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

id string + ID пользователяlogin string + Логин пользователя

first_name string + Имяlast_name string + Фамилия

middle_name string + Отчествоdate string + Дата рождения

position string + Должностьrole json + Роль пользователя

active bool - Активность пользователяaccess json + Доступ пользователя (ЛК, МП, API)

mobile_phone string - Телефонemail string - Email

contracts json - Список договоров к которым привязан пользователь

cardsjson - Список карт к которым привязан водитель (доступен

только водителям, остальным пустой массив [])Поля объекта role

id string + ID роли пользователяname string + Название роли пользователя

Поля объекта accessweb bool + Доступ в ЛКapi bool + Доступ в API

mobile bool + Доступ в МППоля объекта cards

sid string + ID картыnumber string + Номер карты

mpc bool + Выпущен ли мобильный профиль картыproduct string + Тип продукта (wallet или limit)

comment string - Комментарий на картеstatus string + ID статуса карты

contract_id string + ID договораcontract_name string + Номер договора

available string + Доступность пользователюПоля объекта contracts

sid string + ID договораnumber string + Номер договораavailable string + Доступность пользователюstatus json + Статус договора

template_id string - ID шаблона виртуальной картыcards_count uint + Количество карт на договоре

Поля объекта statusid string + ID статуса договора

name string + Название статуса договора

79

Page 80: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 3, "result": [ { "contracts": [ { "sid": "1-37PYW2D", "number": "ЯР014042276", "available": true, "template_id": null, "cards_count": 1, "status": { "id": "Active", "name": "Активен" } }, { "sid": "1-380B94P", "number": "ЯР014043578", "available": true, "template_id": "1-39CWD0P", "cards_count": 4, "status": { "id": "Active", "name": "Активен" } } ], "cards": [ { "id": "1-2O2LQDT", "sid": "13215790", "number": "7005839990006679", "mpc": true, "product": "limit", "comment": "есть пластик, плачу NFC", "status": "Active", "contract_id": "1-380B94P", "contract_name": "01014043578", "available": true } ], "id": "1-37TPIP6",

80

Page 81: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"login": "79233359922", "first_name": "Кирилл", "last_name": "Абрамов", "middle_name": "Александрович", "date": "07/12/1991", "position": "Ведущий дальнобойщик", "role": { "id": "Driver", "name": "Водитель" }, "active": true, "access": { "web": false, "api": false, "mobile": true }, "mobile_phone": "+79233359922", "email": "[email protected]" }, { "contracts": [ { "sid": "1-37PY06L", "number": "ЯР014042275", "available": true, "template_id": null, "cards_count": 1, "status": { "id": "Active", "name": "Активен" } } ], "cards": [ { "id": "1-37RY9MG", "sid": "13152520", "number": "7005839990208549", "mpc": true, "product": "limit", "comment": "", "status": "Active", "contract_id": "1-37PY06L", "contract_name": "ЯР014042275", "available": true } ], "id": "1-395FDM0",

81

Page 82: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"login": "7999999999991", "first_name": "Кирилл", "last_name": "Кириллов", "middle_name": "Кириллович", "date": "01/01/1991", "position": "Водитель", "role": { "id": "Driver", "name": "Водитель" }, "active": true, "access": { "web": false, "api": false, "mobile": true }, "mobile_phone": "+7999999999991", "email": "[email protected]" }, { "contracts": [ { "sid": "1-380B94P", "number": "ЯР014043578", "available": true, "template_id": null, "cards_count": 1, "status": { "id": "Active", "name": "Активен" } } ], "cards": [ { "id": "1-380BY4I", "sid": "13215750", "number": "7005839990006984", "mpc": false, "product": "wallet", "comment": "Тестовый комментарий из api", "status": "Active", "contract_id": "1-380B94P", "contract_name": "01014043578", "available": true } ], "id": "1-3AKNC9S",

82

Page 83: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"login": "79131491637", "first_name": "Кирилл", "last_name": "Абрамов", "middle_name": "", "date": "01/01/1970", "position": "Водитель", "role": { "id": "Driver", "name": "Водитель" }, "active": true, "access": { "web": false, "api": false, "mobile": true }, "mobile_phone": "+79131491637", "email": "[email protected]" } ], "timestamp": "2019-12-10 06:31:01" }}

Прикрепление договоров к пользователю

Запрос: POST http://localhost/vip/v2/users/{user_id}/attachContracts

Параметры запроса:Параметр Тип Обяз. Описание

sid string + ID договораtemplate_id string - ID шаблона ВК

use_mpc bool - Разрешен ли выпуск МПК (true/false)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса:POST: http://localhost/vip/v2/users/1-FK485FK/attachContractsBODY:[ { "sid": "1-380B94P", "template_id": "1-3BE470B",

83

Page 84: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"use_mpc": true }, { "sid": "1-37PYW2D", "template_id": null }]

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Открепление договоров от пользователя

Запрос: POST http://localhost/vip/v2/users/{user_id}/detachContracts

Параметры запроса:Параметр Тип Обяз. Описание

data [string, string] - ID договоров

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса:POST: http://localhost/vip/v2/users/1-FK485FK/detachContractsBODY: ["1-380B94P", "1-37PYW2D"]

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

84

Page 85: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа:{ "status": { "code": 200 }, "data": true}

Прикрепление карты к пользователю

Запрос: POST http://localhost/vip/v2/users/{user_id}/attachCard

Параметры запроса:Параметр Тип Обяз. Описание

card_id string + ID карты

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:POST: http://localhost/vip/v2/users/1-FK485FK/attachCardBODY: card_id=5050505

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Открепление карты от пользователя

Запрос: POST http://localhost/vip/v2/users/{user_id}/detachCard

Параметры запроса:Параметр Тип Обяз. Описание

card_id string + ID карты

85

Page 86: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/x-www-form-urlencoded

Пример запроса:POST: http://localhost/vip/v2/users/1-FK485FK/detachCardBODY: card_id=5050505

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Удаление пользователя

Запрос: POST/DELETE http://localhost/vip/v2/users/{user_id}

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:DELETE: http://localhost/vip/v2/users/1-FK485FK

Если ваша система не умеет отправлять DELETE запросы, то можно отправить POST , но в BODY указать _ method = DELETE : POST: http://localhost/vip/v2/users/1-FK485FKBODY: _method=DELETE

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

86

Page 87: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Пример ответа:{ "status": { "code": 200 }, "data": true}

87

Page 88: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Шаблоны ВК – TemplatesВК – виртуальная карта. Чтобы выпустить ВК, потребуется создать шаблон лимита и прикрепить этот шаблон к пользователю. Прикрепление происходит на этапе приглашения нового пользователя или методом для существующих пользователей. Шаблон – это первоначальные параметры (Тип карты, Лимиты, Ограничители), с которыми будет выпущена эта ВК, и все последующие, если использовать этот шаблон. Шаблон сделан с точки зрения безопасности, для того чтобы по-умолчанию все выпускаемые ВК имели ограничения на покупку (Лимит/Ограничитель).

Список шаблонов ВК

Запрос: GET http://localhost/vip/v2/vc/templates

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string - ID договора (Можно передать в заголовке запроса, а не только в

URI - строке)Если не передать, то в ответе придут все шаблоны клиента.

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45 contract_id: 1-380B94P

Пример запроса:GET: http://localhost/vip/v2/vc/templates

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхПоля объекта result

id string + ID шаблонаname string + Название шаблона (Уникальное в рамках договора)type string + Тип карты (Limit – лимитная схема, Wallet –

электронный кошелек)contract_id string + ID договора

Пример ответа: { "status": { "code": 200 },

88

Page 89: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"data": { "total_count": 2, "result": [ { "name": "Test for API VIP 1", "type": "Limit", "contract_id": "1-380B94P", "id": "1-3BDYGU3" }, { "name": "Test for API VIP 2", "type": "Wallet", "contract_id": "1-380B94P", "id": "1-3BDYGX5" } ] }}

Создание шаблона ВК

Запрос: POST http://localhost/vip/v2/vc/templates

Параметры запроса:Параметр Тип Обяз. Описание

name string + Имя шаблона ВК (Уникальное в рамках договора)type string + Тип карты (Limit – лимитная схема, Wallet –

электронный кошелек)contract_id string + ID договора

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: Все выпущенные карты с данным шаблоном будут ЭК:POST: http://localhost/vip/v2/vc/templatesBODY: { "contract_id": "1-380B94P", "type": "Wallet", "name": "Test for API VIP 1" }

Все выпущенные карты с данным шаблоном будут лимитные:POST: http://localhost/vip/v2/vc/templatesBODY: { "contract_id": "1-380B94P", "type": "Limit", "name": "Test for API VIP 2" }

89

Page 90: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID шаблона

Пример ответа: { "status": { "code": 200 }, "data": "1-3BDYGX5"}

Изменение шаблона ВК

Запрос: POST/PUT http://localhost/vip/v2/vc/templates/{template_id}

Параметры запроса:Параметр Тип Обяз. Описание

name string + Имя шаблона ВК (Уникальное в рамках договора)type string + Тип карты (Limit – лимитная схема, Wallet –

электронный кошелек)contract_id string + ID договора (Изменить нельзя)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса:POST: http://localhost/vip/v2/vc/templates/1-3BDYGX5BODY: { "contract_id": "1-380B94P", "type": "Limit", "name": "Test for API VIP 3" }

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID шаблона

Пример ответа: { "status": { "code": 200 }, "data": "1-3BDYGX5"}

90

Page 91: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Удаление шаблона ВК

Запрос: POST/DELETE http://localhost/vip/v2/vc/templates/{template_id}

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:DELETE: http://localhost/vip/v2/vc/templates/1-3BDYGU3

Если ваша система не умеет отправлять DELETE запросы, то можно отправить POST , но в BODY указать _ method = DELETE : POST: http://localhost/vip/v2/vc/templates/1-3BDYGU3BODY: _method=DELETE

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

91

Page 92: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Шаблон лимитов ВК – Template Limits

Список лимитов шаблона ВК

Запрос: GET http://localhost/vip/v2/vc/templates/{template_id}/limits

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:GET: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/limits

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхПоля объекта result

id string + ID лимитаtemplate_id string + ID шаблона

date string + Дата созданияcontract_id string + ID договора

term json + Ограничение по времениtransactions json + Ограничение по числу транзакций за период

amount json - Ограничение по количествуsum json - Ограничение по суммеtime json + Длительность, период времени

productType string + ID типа продуктаproductGroup string - ID группы продукта

productTypeName string + Название типа продуктаproductGroupName string - Название группы продуктаПоля объекта term

days string[7] - Строка из 7 нулей и единиц. 1 – ограничение применяется в этот день, 0 – нет

time json - Время обслуживанияtype uint + Способ применения ограничения.

1 - Ограничение применяется всегда (во все указанные дни недели)

92

Page 93: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

2 - Ограничение применяется только в рабочие дни3 - Ограничение применяется только в выходные и праздничные дни

Поля объекта transactionscount uint + Количество транзакций по услуге

Поля объекта amountunit string + Единица измерения

value float + Суммарное количество ограниченияПоля объекта sum

currency string + Валютаvalue float + Суммарный размер ограничения

Поля объекта timenumber uint + Значение

type uint + Период действия ограничения:2 – Разовый,3 – Сутки,4 – Неделя,5 – Месяц, 6 – Квартал, 7 – Год

Пример ответа: { "status": { "code": 200 }, "data": { "total_count": 2, "result": [ { "term": { "days": null, "time": null, "type": 1 }, "transactions": { "count": 0 }, "template_id": "1-3BDZMRJ", "contract_id": "1-380B94P", "id": "1-3BDZNAA", "amount": { "unit": "LIT", "value": 3000 }, "sum": null,

93

Page 94: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"time": { "type": 5, "number": 1 }, "date": "12/17/2019 13:07:17", "productType": "1-276PF01", "productGroup": "1-276PF0E", "productTypeName": "Топливо", "productGroupName": "G-95" }, { "term": { "days": null, "time": null, "type": 1 }, "transactions": { "count": 0 }, "template_id": "1-3BDZMRJ", "contract_id": "1-380B94P", "id": "1-3BDZNGO", "sum": { "currency": "810", "currencyName": "р.", "value": 5000 }, "amount": null, "time": { "type": 5, "number": 1 }, "date": "12/17/2019 13:07:29", "productType": "1-276PF01", "productGroup": "1-276PF0E", "productTypeName": "Топливо", "productGroupName": "G-95" } ] }}

Создание лимита шаблона ВК

Запрос: POST http://localhost/vip/v2/vc/templates/{template_id}/limits

94

Page 95: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

amount json +/- Ограничение по количеству (Обязательный параметр, если не заполнено sum)

sum json +/- Ограничение по сумме (Обязательный параметр, если не заполнено amount)

time json + Длительность, период времениproduct_type string + ID типа продукта

product_group string - ID группы продуктаcreate_restriction bool - Требуется ли создать ограничитель (true/false)

Поля объекта amountunit string + Единица измерения

value float + Суммарное количество ограниченияПоля объекта sum

currency string + Валютаvalue float + Суммарный размер ограничения

Поля объекта timenumber uint + Значение

type uint + Период действия ограничения:2 – Разовый,3 – Сутки,4 – Неделя,5 – Месяц, 6 – Квартал, 7 – Год

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: Будет создан и прикреплен лимит и ограничитель к шаблону с параметрами – Каждый месяц, 5000 рублей на G -95: POST: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limitsBODY:{

"contract_id": "1-380B94P","product_type": "1-276PF01","product_group": "1-276PF0E","sum": {

"currency": "810","value": 5000

95

Page 96: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

},"time": {

"type": 5,"number": 1

},"create_restriction": true

}

Будет создан и прикреплен лимит (без ограничителя) к шаблону с параметрами – Каждыйдень, 100 литров на все виды топлива:POST: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limitsBODY:{

"contract_id": "1-380B94P","product_type": "1-276PF01","amount": {

"unit": "LIT","value": 100

},"time": {

"type": 3,"number": 1

}}

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID лимита

Пример ответа: { "status": { "code": 200 }, "data": "1-3BDZNGO"}

Изменение лимита шаблона ВК

Запрос: POST/PUT http://localhost/vip/v2/vc/templates/{template_id}/limits/{template_limit_id}

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора (Изменить нельзя)

amount json +/- Ограничение по количеству (Обязательный параметр, если не заполнено sum)

96

Page 97: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

sum json +/- Ограничение по сумме (Обязательный параметр, если не заполнено amount)

time json + Длительность, период времениproduct_type string + ID типа продукта

product_group string - ID группы продуктаПоля объекта amount

unit string + Единица измеренияvalue float + Суммарное количество ограничения

Поля объекта sumcurrency string + Валюта

value float + Суммарный размер ограниченияПоля объекта time

number uint + Значениеtype uint + Период действия ограничения:

2 – Разовый,3 – Сутки,4 – Неделя,5 – Месяц, 6 – Квартал, 7 – Год

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: Будет обновлен лимит с параметрами (система не поддерживает PUT методы) – Каждый месяц, 5000 рублей на G -95: POST: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limits/1-3BDZNGOBODY:{

"contract_id": "1-380B94P","product_type": "1-276PF01","product_group": "1-276PF0E","sum": {

"currency": "810","value": 5000

},"time": {

"type": 5,"number": 1

}," _method": "PUT"

}

97

Page 98: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Будет обновлен лимит с параметрами – Каждый день, 100 литров на все виды топлива:PUT: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limits/1-3BDZNGOBODY:{

"contract_id": "1-380B94P","product_type": "1-276PF01","amount": {

"unit": "LIT","value": 100

},"time": {

"type": 3,"number": 1

}}

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID лимита

Пример ответа: { "status": { "code": 200 }, "data": "1-3BDZNGO"}

Удаление лимита шаблона ВК

Запрос: POST/DELETE http://localhost/vip/v2/vc/templates/{template_id}/limits/{template_limit_id}

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:DELETE: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limits/1-3BDZNGO

Если ваша система не умеет отправлять DELETE запросы, то можно отправить POST , но в BODY указать _ method = DELETE :

98

Page 99: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

POST: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limits/1-3BDZNGOBODY: _method=DELETE

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

99

Page 100: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Шаблон ограничителей ВК – Template Restrictions

Список ограничителей шаблона ВК

Запрос:GET http://localhost/vip/v2/vc/templates/{template_id}/restrictions

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:GET: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/restrictions

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхПоля объекта result

id string + ID ограничителяtemplate_id string + ID шаблона

date string + Дата созданияcontract_id string + ID договора

productType string + ID типа продуктаproductGroup string - ID группы продукта

productTypeName string + Название типа продуктаproductGroupName string - Название группы продукта

restriction_type uint + 1 – Разрешающий ограничитель, 2 – Запрещающий ограничитель

Пример ответа: { "status": { "code": 200 }, "data": { "total_count": 2, "result": [ { "id": "1-3BE2H2O",

100

Page 101: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"template_id": "1-3BDZMRJ", "contract_id": "1-380B94P", "date": "12/17/2019 19:19:14", "productType": "1-276PF01", "productGroup": null, "productTypeName": "Топливо", "productGroupName": null, "restriction_type": 1 }, { "id": "1-3BDZNJY", "template_id": "1-3BDZMRJ", "contract_id": "1-380B94P", "date": "12/17/2019 13:07:30", "productType": "1-276PF01", "productGroup": "1-276PF0E", "productTypeName": "Топливо", "productGroupName": "G-95", "restriction_type": 1 } ] }}

Создание ограничителя шаблона ВК

Запрос: POST http://localhost/vip/v2/vc/templates/{template_id}/restrictions

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

product_type string + ID типа продуктаproduct_group string - ID группы продуктаrestriction_type uint + 1 – Разрешающий ограничитель, 2 – Запрещающий

ограничитель

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: POST: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/restrictionsBODY:{

"contract_id": "1-380B94P",

101

Page 102: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"product_type": "1-276PF01","product_group": "1-276PF0E","restriction_type": 1

}

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID ограничителя

Пример ответа: { "status": { "code": 200 }, "data": "1-3BE2GMK"}

Изменение ограничителя шаблона ВК

Запрос: POST/PUT http://localhost/vip/v2/vc/templates/{template_id}/restrictions/{template_restriction_id}

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора (Изменить нельзя)

product_type string + ID типа продуктаproduct_group string - ID группы продуктаrestriction_type uint + 1 – Разрешающий ограничитель, 2 – Запрещающий

ограничитель

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса:Будет обновлен ограничитель с параметрами (система не поддерживает PUT методы) – Разрешение на все виды топлива:POST: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/restrictions/1-3BE2GMKBODY:{

"contract_id": "1-380B94P","product_type": "1-276PF01","restriction_type": 1," _method": "PUT"

}

102

Page 103: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Будет обновлен ограничитель с параметрами – Запрет на топливо G -95: PUT: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/restrictions/1-3BE2GMKBODY:{

"contract_id": "1-380B94P","product_type": "1-276PF01","product_group": "1-276PF0E","restriction_type": 2

}

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID ограничителя

Пример ответа: { "status": { "code": 200 }, "data": "1-3BE2GMK"}

Удаление ограничителя шаблона ВК

Запрос: POST/DELETE http://localhost/vip/v2/vc/templates/{template_id}/restrictions/{template_restriction_id}

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:DELETE: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/restrictions/1-3BE2GMK

Если ваша система не умеет отправлять DELETE запросы, то можно отправить POST , но в BODY указать _ method = DELETE : POST: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/restrictions/1-3BE2GMKBODY: _method=DELETE

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

103

Page 104: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Параметр Тип Обяз. ОписаниеПри успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

104

Page 105: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Шаблон геоограничителей ВК – Template GeoRestrictions

Список геоограничителей шаблона ВК

Запрос:GET http://localhost/vip/v2/vc/templates/{template_id}/georestrictions

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:GET: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/georestrictions

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхПоля объекта result

id string + ID геоограничителяtemplate_id string + ID шаблонаcontract_id string + ID договора

date string + Дата созданияcountry string + ID страны

countryName string + Название страныregion string - ID региона

regionName string - Название регионаpartner string - ID партнера

partnerName string - Название партнераservice_center string - ID АЗС

service_centerName string - Название АЗСrestriction_type uint + 1 – Разрешающий геоограничитель, 2 –

Запрещающий геоограничитель

Пример ответа: { "status": { "code": 200 },

105

Page 106: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"data": { "total_count": 1, "result": [ { "id": "1-MNKN6XJ", "template_id": "1-MDV75LB", "contract_id": "1-1FLW4T7", "date": "03/26/2020 05:59:58", "country": "RUS", "countryName": "Россия", "region": "45", "regionName": "Москва", "partner": null, "partnerName": null, "service_center": null, "service_centerName": "", "restriction_type": 1 } ] }, "timestamp": 1585191856}

Создание геоограничителя шаблона ВК

Запрос: POST http://localhost/vip/v2/vc/templates/{template_id}/georestrictions

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора

country string + ID страныregion string - ID региона

partner string - ID партнераservice_center string - ID АЗС

restriction_type uint + 1 – Разрешающий геоограничитель, 2 – Запрещающий геоограничитель

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса: POST: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/georestrictionsBODY:

106

Page 107: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

{"contract_id": "1-380B94P","country": "RUS","region": "45","partner": "GPN1000","service_center": "5959205","restriction_type": 1

}

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID геоограничителя

Пример ответа: { "status": { "code": 200 }, "data": "1-3BE55MK"}

Изменение геоограничителя шаблона ВК

Запрос: POST/PUT http://localhost/vip/v2/vc/templates/{template_id}/georestrictions/{template_georestriction_id}

Параметры запроса:Параметр Тип Обяз. Описаниеcontract_id string + ID договора (Изменить нельзя)

country string + ID страныregion string - ID региона

partner string - ID партнераservice_center string - ID АЗС

restriction_type uint + 1 – Разрешающий геоограничитель, 2 – Запрещающий геоограничитель

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45Content-Type: application/json

Пример запроса:Будет обновлен геоограничитель с параметрами (система не поддерживает PUT методы) – Запрет покупки на АЗС России:POST: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/georestrictions/1-3BE55MK

107

Page 108: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

BODY:{

"contract_id": "1-380B94P","contract_id": "1-380B94P","country": "RUS","restriction_type": 2," _method": "PUT"

}

Будет обновлен геоограничитель с параметрами – Запрет покупки на АЗС России:PUT: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/georestrictions/1-3BE55MKBODY:{

"contract_id": "1-380B94P","country": "RUS","restriction_type": 2

}

Параметры ответа:Параметр Тип Обяз. Описание

data string + ID геоограничителя

Пример ответа: { "status": { "code": 200 }, "data": "1-3BE55MK"}

Удаление геоограничителя шаблона ВК

Запрос: POST/DELETE http://localhost/vip/v2/vc/templates/{template_id}/georestrictions/{template_georestriction_id}

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45

Пример запроса:DELETE: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/georestrictions/1-3BE55MK

108

Page 109: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Если ваша система не умеет отправлять DELETE запросы, то можно отправить POST , но в BODY указать _ method = DELETE : POST: http://localhost/vip/v2/vc/templates/1-3BDZMRJ/georestrictions/1-3BE55MKBODY: _method=DELETE

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

109

Page 110: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Виртуальная карта – Virtual CardВиртуальная карта, а точнее мобильный профиль карты (МПК) содержит в себе security – величины для генерации одноразовых паролей оплаты по NFC. МПК хранится на мобильном устройстве и может быть выпущен в 1м экземляре на карту и на устройство. Администратор может удалить МПК по карте. При выпуске МПК требуется подтвердить операцию СМС – кодом, при неверном вводе кода блокируется выпуск МПК и администратор может сбросить данную блокировку.

Удаление МПК

Запрос: POST http://localhost/vip/v2/cards/{card_id}/deleteMPC

Параметры запроса:Параметр Тип Обяз. Описание

Дополнительные параметры не требуются

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45 contract_id: 1-380B94P

Пример запроса: POST: http://localhost/vip/v2/cards/5050543/deleteMPC

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

Сброс счетчиков МПК

Запрос: POST http://localhost/vip/v2/cards/{card_id}/resetMPC

Параметры запроса:Параметр Тип Обяз. Описание

type string - Тип счетчика (ResetCounterCode/ResetCounterMPC, по-

110

Page 111: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

умолчанию, если не вызывать, вызывается ResetCounterCode)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2019-11-25 10:26:45 Content-Type: application/x-www-form-urlencodedcontract_id: 1-380B94P

Пример запроса: POST: http://localhost/vip/v2/cards/5050543/resetMPCBODY: type=ResetCounterCode

Параметры ответа:Параметр Тип Обяз. Описание

При успехе передается true

Пример ответа:{ "status": { "code": 200 }, "data": true}

111

Page 112: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Cправочник торговых точек с услугами и ценами.

Список торговых точек

Запрос: GET http://localhost/vip/v1/AZS

Параметры запроса: Параметр Тип Обяз

.Описание

page uint - Номер страницы начиная с 1onpage uint - Количество элементов на странице (0 – если нужно вывести все

элементы)filter json - JSON объект для фильтрации спискаq string - Поисковая строка запроса (Ищет по наименованию ТТ, адресу и

номеру терминала)id string - ID торговой точки (для детального показа 1й ТТ)Поля объекта filterregion [string, string] - Массив регионов (справочник Region)country [string, string] - Массив стран (справочник Country)owntype [string, string] - Массив типов собственности (справочник OwnType)type [string, string] - Массив типов принадлежности (справочник POIType)status [string, string] - Массив статусов (257 - ТТ работает, 258 - ТТ не работает)services [uint,uint] - Массив предоставляемых услуг на ТТ (справочник Services)goods [string, string] - Массив имеющейся в продаже номенклатуры (справочник

GoodsCode)

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса:GET: http://localhost/vip/v1/AZS?page=1&onpage=10&filter={"country":["RUS"],"region":["65"],"services":[3,4],"owntype":["Own GPN"],"status":["257"]}GET: http://localhost/vip/v1/AZS?page=1&onpage=10&filter={"country":["RUS"],"goods":["00000000000003","00000000000007"],"owntype":["Own GPN"],"status":["257"]}GET: http://localhost/vip/v1/AZS?id=2794085

Параметры ответа:Параметр Тип Обяз. Описаниеid string + ID торговой точкиsiebelId string + ID торговой точки (для отчета)contractNumber string + Код ТТcontractName string + Название торговой точки

112

Page 113: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

status string + Статус торговой точки, 257 – работает, 258 – не работаетcountryCode string + Код страныregionCode string + Код регионаsecessionGPN string - Тип по местоположениюbelongsTo string + Названиеpartner string + ID партнераownType string + Тип собственности по отношению к ГПНlocationType string - Расположениеbrand string - БрендopenDate string + Дата открытияcloseDate string - Дата закрытия тип торговой точкиlatitude string + Координаты – широтаlongitude string + Координаты – долготаtype string + Тип торговой точкиtimeZone string - Часовой поясservices [uint,uint] - Массив с ID услугами. Описание услуг можно посмотреть в

справочнике Services.terminals json - Терминалы ТТaddress json + Адрес АЗСsearchTxt string + Строка для запроса поискаprices json - Цены товаров на торговой точкеПараметры объекта Terminalsid string + Идентификатор терминалаactive bool + Статус терминала (true – включен, false – выключен)name string + Наименование терминалаstatus string + Статус терминалаtype string + Тип терминалаconnectionType string + Способ подключенияnumber string + Номер терминалаПараметры объекта Addresstrack_id string - Номер трассыkmRoad string - КилометрroadSide string - Сторона дорогиcity string + Городstreet string - Улицаhouse string - Домbuilding string - Строениеphone string - Телефонfax string - ФаксПараметры объекта PricesID string + ID ценыGasStationID string + ID торговой точкиGoodsCode string + Товары, описание товаров можно посмотреть в

справочнике GoodsCodePrice string + Цена

113

Page 114: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Currency string + ВалютаDateTo string + Дата действия ценыDateFrom string + Дата обновления цены

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 3, "result": [ { "id": "366148", "siebelId": "1-DNI9R", "contractNumber": "AZS101258", "contractName": "048", "status": "257", "countryCode": "RUS", "regionCode": "40", "secessionGPN": "Северо-Запад", "belongsTo": "ООО СтопЭкcпресс", "partner": "STO408", "ownType": "FRAN", "locationType": "ROAD", "brand": "<>", "openDate": "07\/11\/2014", "closeDate": "", "latitude": "59.896371", "longitude": "30.288409", "type": "АЗС", "timeZone": "0", "services": [], "prices": [ { "ID": "3788", "GasStationID": "366148", "GoodsCode": "00000000000003", "Price": "40.75", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-24T23:52:54" }, { "ID": "3786", "GasStationID": "366148", "GoodsCode": "00000000000004", "Price": "37.5", "Currency": "810;RUR",

114

Page 115: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-24T23:52:54" }, { "ID": "3785", "GasStationID": "366148", "GoodsCode": "00000000000007", "Price": "41.85", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-24T23:52:54" }, { "ID": "3787", "GasStationID": "366148", "GoodsCode": "00000000000008", "Price": "38.5", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-24T23:52:54" } ], "terminals": [ { "id": "RC780301", "active": true, "name": "Ingenico ipp320", "status": "Работает", "type": "POS-ALL", "connectionType": "Cопряженный с СУ", "number": "RC780301" }, { "id": "RC780302", "active": true, "name": "Ingenico ipp320", "status": "Работает", "type": "POS-ALL", "connectionType": "Cопряженный с СУ", "number": "RC780302" }, { "id": "RF050301", "active": true, "name": "Ingenico ipp320", "status": "Работает", "type": "POS-ALL", "connectionType": "Cопряженный с СУ",

115

Page 116: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"number": "RF050301" }, { "id": "RF050302", "active": true, "name": "Ingenico ipp320", "status": "Работает", "type": "POS-ALL", "connectionType": "Cопряженный с СУ", "number": "RF050302" } ], "address": { "track_id": null, "kmRoad": "", "roadSide": "Внешняя", "city": "г. Санкт-Петербург", "street": "ул. Маршала Говорова ", "house": "41", "building": "", "phone": "+79313559830", "fax": "" }, "searchTxt": "АЗС <> 048 г. Санкт-Петербург ул. Маршала Говорова RC780301 RC780302 RF050301 RF050302" }, { "id": "8792526", "siebelId": "1-25O72B2", "contractNumber": "AZS104840", "contractName": "050", "status": "257", "countryCode": "RUS", "regionCode": "40", "secessionGPN": "Северо-Запад", "belongsTo": "ООО СтопЭкcпресс", "partner": "STO408", "ownType": "FRAN", "locationType": "ROAD", "brand": "<>", "openDate": "07\/11\/2014", "closeDate": "", "latitude": "59.855422", "longitude": "30.422252", "type": "АЗС", "timeZone": "0", "services": [], "prices": [

116

Page 117: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

{ "ID": "3772", "GasStationID": "8792526", "GoodsCode": "00000000000003", "Price": "41", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:03:12" }, { "ID": "3770", "GasStationID": "8792526", "GoodsCode": "00000000000004", "Price": "37.5", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:03:12" }, { "ID": "3769", "GasStationID": "8792526", "GoodsCode": "00000000000007", "Price": "42.1", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:03:12" }, { "ID": "3771", "GasStationID": "8792526", "GoodsCode": "00000000000008", "Price": "38.8", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:03:12" } ], "terminals": [], "address": { "track_id": null, "kmRoad": "", "roadSide": "Внешняя", "city": "г. Санкт-Петербург", "street": "ул. Софийская", "house": "69", "building": "", "phone": "+79013001843", "fax": ""

117

Page 118: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

}, "searchTxt": "АЗС <> 050 г. Санкт-Петербург ул. Софийская " }, { "id": "8792867", "siebelId": "1-25O72B4", "contractNumber": "AZS104842", "contractName": "049", "status": "257", "countryCode": "RUS", "regionCode": "40", "secessionGPN": "Северо-Запад", "belongsTo": "ООО СтопЭкcпресс", "partner": "STO408", "ownType": "FRAN", "locationType": "ROAD", "brand": "<>", "openDate": "07\/11\/2014", "closeDate": "", "latitude": "59.853135", "longitude": "30.199175", "type": "АЗС", "timeZone": "0", "services": [], "prices": [ { "ID": "3776", "GasStationID": "8792867", "GoodsCode": "00000000000003", "Price": "40.85", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:04:02" }, { "ID": "3774", "GasStationID": "8792867", "GoodsCode": "00000000000004", "Price": "37.4", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:04:02" }, { "ID": "3773", "GasStationID": "8792867", "GoodsCode": "00000000000007", "Price": "41.95",

118

Page 119: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:04:02" }, { "ID": "3775", "GasStationID": "8792867", "GoodsCode": "00000000000008", "Price": "39.05", "Currency": "810;RUR", "DateTo": "2100-01-01T00:00:00", "DateFrom": "2017-11-25T00:04:02" } ], "terminals": [], "address": { "track_id": null, "kmRoad": "", "roadSide": "Внешняя", "city": "г. Санкт-Петербург", "street": "ул. Десантников", "house": "21", "building": "", "phone": "+79313559820", "fax": "" }, "searchTxt": "АЗС <> 049 г. Санкт-Петербург ул. Десантников " } ] }}

119

Page 120: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Справочники

Общие справочники

Запрос: GET http://localhost/vip/v1/getDictionary?name=Имя_справочника

Параметры запроса:Параметр Тип Обяз. Описание

name string + Наименование справочника:• CardStatus – Запрос списка статусов карт.• ContractStatus – Запрос списка статусов договора.• Country – Запрос списка стран.• Currency – Запрос списка валют.• Goods – Запрос списка топлива для цен на АЗС. • OwnType – Запрос списка типов собственности АЗС.• ProductGroup – Запрос списка групп продукта. • ProductType – Запрос списка типов продукта.• Products – Запрос списка всех товаров. • POIType – Запрос списка типов принадлежности АЗС.• Region – Запрос списка регионов.• Services – Запрос списка услуг на АЗС.• Unit – Запрос списка единиц измерения продуктов

Заголовки запроса:api_key: GPN.3bd43c4463ffe8b23fb5d1891dc6b.d53a3a7e0a50ef94123fdc5b29780session_id: uoe1fv046u11r8ocvasdqujcvdate_time: 2017-06-05 10:26:45

Пример запроса: GET: http://localhost/vip/v1/getDictionary?name=Unit

Параметры ответа:Параметр Тип Обяз. ОписаниеtotalCount uint + Количество

result json - Массив данныхtimestamp string + Таймштамп запроса

Пример ответа: { "status": { "code": 200 }, "data": { "totalCount": 2,

120

Page 121: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

"result": [ { "id": "LIT", "value": "ЛИТ", "last_update": "2015-09-25 12:51:52", "deleted": 0 }, { "id": "IT", "value": "ШТ", "last_update": "2015-09-25 12:52:36", "deleted": 0 } ] }}

121

Page 122: lk.opti-24.com · Web view3. В сервисе “Список продуктовых лимитов по договору, карте и группе карт” изменено

Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи

Приложение №1

Email технической поддержки:gpn - card @ gazprom - neft . ru

Адреса серверов:Продуктивный https://api.opti-24.com/ Демо https :// apidemo . opti -24. com /

Различная документация на сайте:https:// opti -24. com /info/

Ограничения веб-сервера:Продуктивный не более 5 запросов в секунду.Демо не более 2 запросов в секунду.

Прочие ограничения:Постирование транзакций в отчете происходит примерно от 1 до 2х часов.Время жизни сессии в бездействии 24 минуты.Повторные авторизации с интервалом менее 5 секунд блокируются.При 5 неверных вводах пароля – блокировка на 60 минут.

Учетная запись на Демо – стенде:login: demopassword: demosha512 password: 26c669cd0814ac40e5328752b21c4aa6450d16295e4eec30356a06a911c23983aaebe12d5da38eeebfc1b213be650498df8419194d5a26c7e0a50af156853c79api_key: GPN.3ce7b860ece5758d1d27c7f8b4796ea79b33927e.c4ac404d4d476a779b46425d3c23d9416ded0db6

122