Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Спецификация протокола 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. Добавлены новые справочники Абрамов К.А.
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
1.1.6 28.06.2018 1. Удалены старые справочники.2. Обновлены примеры запросов и ответов.3. Обновлены типы данных.4. Добавлен новый сервис по списку последних платежей.5. Форматирование документа.
Абрамов К.А.
1.1.7 10.07.2018 1. Добавлены новые методы электронного кошелька.2. Добавлены новые поля в сервис топливных карт.3. Добавлен сервис по предоставлению статистики.4.Форматирование документа.
Абрамов К.А.
2
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
2) { “status”: {
“code”: 400,"errors":[
{"type":"upgradeRequired","message":"Необходимо обновить приложение"
} ]
}}
3) { “status”: {
“code”: 406,"errors":[
{"type":"validationFailed","message":" Ошибка в переданном параметре""data": ["start", "end"]
} ]
}}
В связи с особенностями архитектуры БД и количеством запрашиваемых данных, некоторые запросы могут выполнятся дольше стандартного времени, отведенного на обработку (120 секунд).
10
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
"invites_get": "Список приглашений", "invites_get_id": "Детальная информация приглашения", "invites_delete": "Удалить приглашение", "invites_put": "Изменить приглашение" } } }}
16
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
Пример запроса: POST: http://localhost/vip/v1/moveToContractBODY: contract_id=1-2Q4CNBH&card_id=11148025&amount=1500
Параметры ответа:Параметр Тип Обяз. Описание
При успехе передается true
Пример ответа: { "status": { "code": 200 }, "data": true}
37
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
"18208262" ]}
54
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
]}
60
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
xњнњ?ОEЕчЃ#шЃ#p§DџHIђH H‘ђ"@ІЃЛИ"°l$Г“ыT®к®ййЩЩЩeєФІ>ПџћоъuWWХфм4m%П_ЅЩ¬о!‹ех›�Юыд§пџэµwC†ь'}эЫйгЮяфg Щ»-C¦_^ь
69
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
77
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
Пример ответа:{ "status": { "code": 200 }, "data": true}
87
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
POST: http://localhost/vip/v2/vc/templates/1-3BDYGX5/limits/1-3BDZNGOBODY: _method=DELETE
Параметры ответа:Параметр Тип Обяз. Описание
При успехе передается true
Пример ответа:{ "status": { "code": 200 }, "data": true}
99
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса API VIP Газпромнефть-Корпоративные продажи
Параметр Тип Обяз. ОписаниеПри успехе передается true
Пример ответа:{ "status": { "code": 200 }, "data": true}
104
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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
Спецификация сервиса 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