API для партнеров
Правила использования API
- Для использования API необходимо зарегистрироваться на сайте avtoliga-parts.ru и получить API ключ.
- API может быть использован только для целей, связанных с бизнес-продажами автомобильных запчастей.
- Использование API должно соответствовать всем применимым законам и правилам.
- Клиенты могут использовать API для получения информации о наличии и ценах на запчасти, а также для оформления заказов.
- Клиенты обязаны обеспечивать безопасность своих учетных записей и API ключей, а также не передавать их третьим лицам.
- Клиенты должны следить за количеством запросов, отправляемых через API, и не превышать лимиты, установленные сайтом avtoliga-parts.ru.
- Клиенты не могут использовать API для создания конкурирующих сервисов или продуктов.
- Сайт avtoliga-parts.ru оставляет за собой право изменять правила использования API в любое время без предварительного уведомления.
- В случае нарушения правил использования API, сайт avtoliga-parts.ru может заблокировать доступ клиента к API или принять другие меры в соответствии с действующими законами и правилами.
Архитектура API
Доступ к партнерскому API осуществляется посредством HTTP-запросов. В структуре имеется понятие операции. Операция указывается в качестве пути в URL. Обращение к сервису осуществляется по протоколу https в следующем виде: https://domain/api/version/operation/method/, где version – актуальная версия сервиса, operation – тип операции (get для методов, которые только получают данные, send – отправляющие данные), domain это боевой домен сайта (https://avtoliga-parts.ru), method – название операции.
Запросы на получение данных и их запись осуществляются с помощью методов GET или POST. Обмен осуществляется в кодировке UTF-8. Параметры передаются как строка запроса (для метода GET) или данными POST. При использовании метода POST в HTTP-заголовке Content-Type необходимо передать медиа-тип данных запроса application/x-www-form-urlencoded и соответственно с данным типом сформировать тело HTTP-запроса.
Также необходимо передавать два параметра:
- Token – ключ авторизации пользователя (используется во всех операциях);
- Data – строка данных в формате JSON, содержащая набор параметров для запроса. Для каждой операции характерен свой набор данных (в некоторых операциях не предусмотрена передача данного параметра). Поля, отмеченные * в описании методов, являются обязательными для передачи.
Генерация ключа
Все запросы выполняются от конкретного пользователя и требуют идентификации. Воспользоваться API можно только после регистрации и подтверждения учетной записи. Для просмотра текущего ключа, авторизованному пользователю необходимо перейти в раздел «Профиль» (https://avtoliga-parts.ru/profile/), выбрав соответствующий пункт:
Рисунок 1 – Раздел «Профиль» в пользовательском меню сайта
Далее в этом разделе необходимо найти блок «API токен», форма данного блока показана на рисунке 2:
Рисунок 2 – Блок с данными партнерского API в разделе личного кабинета пользователя
Скопировать данный ключ и использовать его как значение параметра Token. Ключ авторизации в любой момент можно изменить, для этого необходимо нажать на соответствующую кнопку в форме, показанной на рисунке 3:
Рисунок 3 – Кнопка генерация нового ключа
старый ключ при этом перестает быть актуальным и уже не может использоваться для выполнения операций.
Формат ответов API
Формат ответа сервиса – JSON. В случае успешного выполнения операции вернется ответ с HTTP-кодом 200. Ответ с HTTP-кодом 400 и более является ошибочным, в теле которого присутствует текстовое сообщение, описывающее причины возникшей ошибки. Примеры возвращаемых сообщений в зависимости от HTTP-кода указаны в таблице ниже:
Код ответа | Текст сообщения |
400 (Bad Request) | Не указаны обязательные поля для обработки запроса |
---|---|
401 (Unauthorized) | Проверьте правильность указанного токена |
403 (Forbidden) | Ваша учетная запись заблокирована |
404 (Not Found) | Указанный метод не существует |
500 (Internal Server Error) | Возникла ошибка в процессе формирования данных, повторите запрос позднее |
Формат даты, используемый в запросах и ответах – ДД.ММ.ГГГГ, формат даты со временем – ДД.ММ.ГГГГ ЧЧ:ММ:СС.
Доступные методы
1. Проверка подключения к API
URL запроса: https://avtoliga-parts.ru/api/v1/get/status/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
Message | string (строка с описанием результата операции) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/status/
Пример ответа:
{
"Status": 1,
"Message": "Успешное подключение"
}
2. Получение информации о пользователе
URL запроса: https://avtoliga-parts.ru/api/v1/get/info/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
UserInfo | array (массив, содержащий данные пользователя) |
UserInfo: CreditLimit | int (кредитный лимит пользователя) |
UserInfo: Debt | float (задолженность пользователя) |
UserInfo: ExpCreditLimit | int (просроченный кредитный лимит пользователя) |
UserInfo: ExpDebt | float (просроченный задолженность пользователя) |
UserInfo: ContractNumber | string (номер договора) |
UserInfo: ContractDate | string (дата заключения договора) |
UserInfo: Delay | int (отсрочка) |
UserInfo: DelayInBankDays | boolean (отсрочка в банковских днях для свойства Delay: 1 – если признак есть, 0 – если его нет) |
UserInfo: DocsSignature | boolean (признак подписи документов: 1 – если признак есть, 0 – если его нет) |
UserInfo: BackOrder | boolean (признак подписи документов: 1 – если признак есть, 0 – если его нет) |
UserInfo: INN | string (ИНН пользователя) |
UserInfo: Company | string (название компании) |
UserInfo: Name | string (ФИО пользователя) |
UserInfo: Phone | string (мобильный телефон) |
UserInfo: Email | string (электронная почта пользователя) |
UserInfo: EmailAdditional | string (электронная почта для доставки документов) |
UserInfo: PostalAddress | string (почтовый адрес для доставки документов) |
UserInfo: Blocked | boolean (признак блокировки пользователя: 1 – если пользователь заблокирован, 0 – если нет) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/info/
Пример ответа:
{
"Status": 1,
"UserInfo": {
"CreditLimit": 200000,
"Debt": 12190.15,
"ExpCreditLimit": 0,
"ExpDebt": 12190.15,
"ContractNumber": "157",
"ContractDate": "27.06.2023",
"Delay": 0,
"DelayInBankDays": false,
"DocsSignature": 1,
"BackOrder": 0,
"INN": "1234567890",
"Company": "Моя компания ООО",
"Name": "Петров Петр Петрович",
"Phone": "8(999)888-77-66",
"Email": "demo@demo.ru",
"EmailAdditional": "test-address@test.com",
"PostalAddress": "",
"Blocked": 0
}
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Пользователь не найден"
}
3. Получение списка адресов пользователя
URL запроса: https://avtoliga-parts.ru/api/v1/get/addresses/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
Addresses | array (массив, содержащий данные адресов пользователя) |
Addresses: Id | string (id адреса) |
Addresses: Status | string (статус адреса, информация о статусах доступна в методе dictionary) |
Addresses: Address | string (адрес в формате КЛАДР) |
Addresses: Phone | string (телефон торговой точки) |
Addresses: Manager | string (ФИО контактного лица торговой точки) |
Addresses: WorkTime | string (режим работы торговой точки) |
Addresses: DeliveryType | string (тип доставки, информация о типах доступна в методе dictionary) |
Addresses: StoreAddress | string (адрес точки самовывоза) |
Addresses: IsPrimary | boolean (пометка адреса, является ли он основным) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/addresses/
Пример ответа:
{
"Status": 1,
"Addresses": [
{
"Id": "da7295b4-3134-11ee-a82e-ac220b2813f7",
"Status": "new",
"Address": "603000, обл Нижегородская, г Нижний Новгород, ул Минина, дом 1",
"Phone": "8(999)999-99-99",
"Manager": "Test Test Test",
"WorkTime": "12:00 - 12:01",
"DeliveryType": "courier",
"StoreAddress": "",
"IsPrimary": 0
},
{
"Id": "1c775421-14d3-11ee-a82d-ac220b2813f7",
"Status": "confirmed",
"Address": "607680, обл Нижегородская, р-н Кстовский, д Афонино, ул Магистральная, дом 3",
"Phone": "8(909)299-99-99",
"Manager": "",
"WorkTime": "24",
"DeliveryType": "courier",
"StoreAddress": "607680, Нижегородская обл, Кстовский р-н, Афонино д, Магистральная ул, строение № 3, помещение 9, тел. +7(831)202-07-00",
"IsPrimary": 1
}
]
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Не удалось сформировать данные"
}
4. Получение списка складов пользователя
URL запроса: https://avtoliga-parts.ru/api/v1/get/stores/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
Stores | array (массив, содержащий данные о складах) |
Stores: Id | string (id склада) |
Stores: Name | string (название склада) |
Stores: SpareReturn | string (boolean признак возврата запчасти: 1 – деталь можно вернуть, 0 – возврат детали не предусмотрен) |
Stores: Shipment | string (идентификатор места отгрузки) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/stores/
Пример ответа:
{
"Status": 1,
"Stores": [
{
"Id": "8649ffaf-9b15-11ed-94a9-00155d647106",
"Name": "Нижний Новгород",
"SpareReturn": 0,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106"
},
{
"Id": "8649ffaf-9b15-11ed-94a9-00155d647106",
"Name": "Москва",
"SpareReturn": 0,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106"
},
{
"Id": "8649ffb0-9b15-11ed-94a9-00155d647106",
"Name": "Нижний Новгород",
"SpareReturn": 1,
"Shipment": "8649ffb0-9b16-11ed-94a9-00155d647106"
}
]
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Не удалось получить список складов"
}
5. Поиск по номенклатуре
URL запроса: https://avtoliga-parts.ru/api/v1/get/parts/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data* | string (JSON строка данных запроса) |
Data: AddressId* | string (идентификатор адреса доставки), идентификатор адреса можно получить, используя метод addresses |
Data:SpareParts* | array (массив, содержащий информацию о деталях для поиска) |
Data:SpareParts:Articul* | string (артикул детали) |
Data:SpareParts:Vendor | string (производитель детали) |
Data:SpareParts:Сount* | int (необходимое количество детали) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
SpareParts | array (массив, содержащий информацию о найденных деталях) |
SpareParts: Articul | string (артикул детали) |
SpareParts: Name | string (наименование детали) |
SpareParts: Vendor | string (производитель детали) |
SpareParts: Prices | array (массив, содержащий информацию о стоимости детали на складах) |
SpareParts: Prices: StoreId | string (идентификатор склада) |
SpareParts: Prices: Count | int (количество детали на складе) |
SpareParts: Prices: Price | float (стоимость детали на складе) |
SpareParts: Prices: InPackage | int (минимальное количество детали для заказа) |
SpareParts: Prices: Shipment | string (идентификатор места отгрузки) |
Stores | array (массив, содержащий данные о складах) |
Stores: Id | string (id склада) |
Stores: Name | string (название склада) |
Stores: SpareReturn | string (boolean признак возврата запчасти: 1 – деталь можно вернуть, 0 – возврат детали не предусмотрен) |
Stores: InPackage | int (минимальное количество для заказа) |
Stores: Priority | int (приоритет склада) |
Stores: Shipment | string (идентификатор места отгрузки) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"AddressId":"caf44d2d-14d5-11ee-94a9-00155d647106","SpareParts":[{"Articul":"1109CL","Count":1},{"Articul":"95599877","Count":10}]}' \
-H "Content-Type: application/x-www-form-urlencoded" \
-X POST \
https://avtoliga-parts.ru/api/v1/get/parts/
Пример ответа:
{
"Status": 1,
"SpareParts": [
{
"Articul": "1109CL",
"Name": "ФИЛЬТР МАСЛЯНЫЙ мотор DW12ME5 FAP, DW12MTED4 С FAP",
"Vendor": "PEUGEOT/CITROEN",
"Prices": [
{
"StoreId": "8649ffb0-9b15-11ed-94a9-00155d647106",
"Count": 87,
"Price": 806.62,
"InPackage": 1,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106"
},
{
"StoreId": "8649ffaf-9b15-11ed-94a9-00155d647106",
"Count": 245,
"Price": 499,
"InPackage": 1,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106"
}
]
},
{
"Articul": "95599877",
"Name": "Масло моторное GM 5W30 Dexos 1, 5L",
"Vendor": "GENERAL MOTORS",
"Prices": [
{
"StoreId": "8649ffaf-9b15-11ed-94a9-00155d647106",
"Count": 30,
"Price": 2941.05,
"InPackage": 4,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106"
}
]
}
],
"StoreInfo": [
{
"StoreID": "8649ffb0-9b15-11ed-94a9-00155d647106",
"StoreName": "Нижний Новгород",
"DeliveryTime": 7,
"SpareReturn": false,
"Priority": 1,
"Shipment": "8649ffb0-9b16-11ed-94a9-00155d647106"
},
{
"StoreID": "8649ffaf-9b15-11ed-94a9-00155d647106",
"StoreName": "Москва",
"DeliveryTime": 7,
"SpareReturn": false,
"Priority": 2,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106"
}
],
"UndefinedSpareParts": []
}
Пример ответа в случае отсутствия данных:
{
"Status": 1,
"SpareParts": [],
"StoreInfo": [],
"UndefinedSpareParts": [
{
"Articul": "1109CL",
"Vendor": ""
},
{
"Articul": "95599877",
"Vendor": ""
}
]
}
6. Получение корзины пользователя
URL запроса: https://avtoliga-parts.ru/api/v1/get/cart/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
Items | array (массив, содержащий текущие элементы корзины) |
Items: id | string (идентификатор товара) |
Items: qty | int (количество товара в корзине) |
Items: brand | string (производитель детали) |
Items: articul | string (артикул детали) |
Items: name | string (наименование детали) |
Items: store | string (идентификатор склада, для получении информации по складам используйте метод stores) |
Items: delivery_time | int (срок доставки в днях) |
Items: price | float (стоимость детали) |
Items: rest | int (текущий остаток детали на складе) |
Items: comment | string (комментарий) |
Items: min_order | int (минимальная партия для заказа) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/cart/
Пример ответа:
{
"Status": 1,
"Items": {
"5659cb28-8e89-11ee-94ad-00155d647106_8649ffb0-9b15-11ed-94a9-00155d647106-1109cl": {
"id": "5659cb28-8e89-11ee-94ad-00155d647106_8649ffb0-9b15-11ed-94a9-00155d647106-1109cl",
"qty": 13,
"brand": "PEUGEOT/CITROEN",
"articul": "1109CL",
"name": "ФИЛЬТР МАСЛЯНЫЙ CITROEN C3/C4/C5, PEUGEOT 207/308",
"store": "5659cb28-8e89-11ee-94ad-00155d647106_8649ffb0-9b15-11ed-94a9-00155d647106",
"delivery_time": 1,
"price": 874.9,
"rest": 13,
"comment": "",
"min_order": 1
}
}
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Items": []
}
7. Добавление элемента в корзину
URL запроса: https://avtoliga-parts.ru/api/v1/send/cartItem/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data* | string (JSON строка данных запроса) |
Data: qty* | int (количество товара в корзине) |
Data: brand* | string (производитель детали) |
Data: articul* | string (артикул детали) |
Data: name* | string (наименование детали) |
Data: store* | string (идентификатор склада) |
Data: shipment* | string (идентификатор места отгрузки) |
Data: delivery_time* | int (срок доставки в днях) |
Data: price* | float (стоимость детали) |
Data: rest* | int (текущий остаток детали на складе) |
Data: comment | string (комментарий) |
Data: min_order* | int (минимальная партия для заказа) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка) |
---|---|
CartItem | array (массив, содержащий информацию о добавленном элементе) |
CartItem: id | string (идентификатор товара, состоящий из идентификатора склада, идентификатора места отгрузки и артикула детали (разделен -) |
CartItem: qty | int (количество товара в корзине) |
CartItem: brand | string (производитель детали) |
CartItem: articul | string (артикул детали) |
CartItem: name | string (наименование детали) |
CartItem: comment | string (комментарий) |
CartItem: status | string (статус добавления в корзину, информацию о статусе можно получить в методе dictionary) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"brand":"PEUGEOT\/CITROEN","articul":"1109CL","name":"\u0424\u0418\u041b\u042c\u0422\u0420 \u041c\u0410\u0421\u041b\u042f\u041d\u042b\u0419 CITROEN C3\/C4\/C5, PEUGEOT 207\/308","store":"5659cb28-8e89-11ee-94ad-00155d647106","shipment":"8649ffb0-9b15-11ed-94a9-00155d647106","delivery_time":1,"qty":13,"price":874.8,"rest":14,"comment":"","min_order":1}' \
-X \
POST \
https://avtoliga-parts.ru/api/v1/send/cartItem/
Пример ответа:
{
"Status": 1,
"Message": "",
"CartItem": {
"id": "5659cb28-8e89-11ee-94ad-00155d647106_8649ffb0-9b15-11ed-94a9-00155d647106-1109cl",
"brand": "PEUGEOT/CITROEN",
"articul": "1109CL",
"qty": 13,
"name": "ФИЛЬТР МАСЛЯНЫЙ CITROEN C3/C4/C5, PEUGEOT 207/308",
"comment": "",
"status": "created"
}
}
Пример запроса для обновления товара в корзине аналогичен добавлению, однако статус меняется на updated:
curl -d 'Token=123456789abcde=&Data={"brand":"PEUGEOT\/CITROEN","articul":"1109CL","name":"\u0424\u0418\u041b\u042c\u0422\u0420 \u041c\u0410\u0421\u041b\u042f\u041d\u042b\u0419 CITROEN C3\/C4\/C5, PEUGEOT 207\/308","store":"5659cb28-8e89-11ee-94ad-00155d647106","shipment":"8649ffb0-9b15-11ed-94a9-00155d647106","delivery_time":1,"qty":1,"price":874.8,"rest":14,"comment":"","min_order":1}' \
-X \
POST \
https://avtoliga-parts.ru/api/v1/send/cartItem/
Пример ответа в случае возникновения ошибки:
{
"Status": 0,
"Message": "Поле 'Производитель' отсутствует"
}
8. Удаление элемента корзины
URL запроса: https://avtoliga-parts.ru/api/v1/send/deleteCartItem/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data* | string (JSON строка данных запроса) |
Data: id* | string (идентификатор удаляемого товара в корзине) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка) |
---|---|
Result | string (статус удаления) |
Message | string (строка с описанием ошибки, в случае ее возникновения) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"id":"123456789-abcdef"}' \
-X POST \
https://avtoliga-parts.ru/api/v1/send/deleteCartItem/
Пример ответа:
{
"Status": 1,
"Result": "deleted"
}
Пример ответа в случае возникновения ошибки:
{
"Status": 0,
"Message": "Товар не найден по указанному идентификатору"
}
9. Оформление заказа
URL запроса: https://avtoliga-parts.ru/api/v1/send/ordering/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data* | string (JSON строка данных запроса) |
Data: AddressId* | string (идентификатор адреса доставки, передается тот адрес, который использовался при поиске запчастей метод parts) |
Data: Items | array (массив элементов корзины, полученный через метод cart, параметр не обязательный по умолчанию будет взята корзина пользователя) |
Data: DeliveryType | string (тип доставки, информация о статусах доступна в методе dictionary, по умолчанию courier) |
Data: PaymentType | string (тип оплаты, информация о статусах доступна в методе dictionary, по умолчанию cashless) |
Data: Comment | string (комментарий к заказу) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка) |
---|---|
Orders | array (массив, содержащий информацию о созданных заказах) |
Orders: Id | string (идентификатор созданного заказа) |
Orders: Number | string (номер созданного заказа) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"AddressId":"973cb23a-1407-11ef-a842-ac220b2813f7"}' \
-X POST \
https://avtoliga-parts.ru/api/v1/send/ordering/
Пример ответа:
{
"Status": 1,
"Message": "",
"Orders": [
{
"Id": "d2e96f86-d89b-48cd-ab3e-dd5d5696c883",
"Number": "XXXX-XXXXXX"
}
]
}
Пример ответа в случае возникновения ошибки:
{
"Status": 0,
"Message": "Невозможно оформить заказ, так как нет добавленных элементов в корзине"
}
10. Список заказов пользователя
URL запроса: https://avtoliga-parts.ru/api/v1/get/orders/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data | string (JSON строка данных запроса) |
Data: StoreId | string (id склада для фильтрации) |
Data: Type | string (тип документа для фильтрации) |
Data: DateFrom | string (начальная дата создания документа для фильтрации) |
Data: DateTo | string (конечная дата создания заказа для фильтрации) |
Data: Status | string (статус заказа для фильтрации) |
Data: AddressId | string (id адреса доставки для фильтрации) |
Data: Count | int (количество результатов на странице) |
Data: PageNumber | int (номер страницы) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
TotalPages | int (количество страниц по результатам выборки) |
TotalItems | int (количество найденных элементов) |
CurrentPage | int (номер текущей страницы) |
Items | array (массив, содержащий информацию о найденных заказах) |
Items: OrderId | string (id заказа) |
Items: OrderNum | string (номер заказа) |
Items: OrderStatus | string (статус заказа, информацию о статусе заказа можно получить в методе dictionary) |
Items: Id | string (id заказанной детали) |
Items: Articul | string (артикул детали) |
Items: Name | string (наименование детали) |
Items: Vendor | string (производитель детали) |
Items: Store | string (id склада) |
Items: Shipment | string (идентификатор места отгрузки) |
Items: Price | float (стоимость детали) |
Items: Comment | string (комментарий) |
Items: DeliveryDate | string (дата доставки заказа) |
Items: Count | array (массив, содержащий информацию о движении заказа) |
Items: Count: Ordered | int (количество заказанной детали) |
Items: Count: Rejected | int (количество отказных деталей) |
Items: Count: Process | int (количество деталей в обработке) |
Items: Count: InStore | int (количество деталей на складе) |
Items: Count: Issued | int (количество выданных деталей) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"Status":"complete"}' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/orders/
Пример ответа:
{
"Status": 1,
"TotalPages": 1,
"TotalItems": 1,
"CurrentPage": 1,
"Items": [
{
"OrderId": "93c0a7e9-a62a-4394-ace4-b64dfb78291a",
"OrderNum": "ЛН00-00001",
"OrderStatus": "complete",
"Id": "1ec2a43f-a913-11e3-93f7-00155d647106",
"Articul": "1109CL",
"Name": "ФИЛЬТР МАСЛЯНЫЙ мотор DW12ME5 FAP, DW12MTED4 С FAP",
"Vendor": "PEUGEOT/CITROEN",
"Store": "8649ffb0-9b15-11ed-94a9-00155d647106",
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106",
"Price": 806.62,
"Comment": "",
"DeliveryDate": "22.08.2023",
"Count": {
"Ordered": 1,
"Rejected": 0,
"Process": 0,
"InStore": 1,
"Issued": 0
}
}
]
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Нет данных"
}
11. Получение детализации заказа
URL запроса: https://avtoliga-parts.ru/api/v1/get/order/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data* | string (JSON строка данных запроса) |
Data: OrderId* | string (id заказа) |
Data: ShowItems | boolean (показ информации о детали: 1 – включить вывод информации о детали, 0 – скрыть показ) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
Order | array (массив, содержащий информацию о заказе) |
Order: Id | string (id заказа) |
Order: Num | string (номер заказа) |
Order: DateCreate | string (дата создания заказа) |
Order: Status | string (статус заказа) |
Order: Sum | float (сумма заказа) |
Order: ReceivingType | string (тип доставки, информацию о типах доставки можно получить в методе dictionary) |
Order: PaymentType | string (тип оплаты, информацию о типах оплаты можно получить в методе dictionary) |
Order: AddressId | string (id адреса доставки) |
Order: Realizations | array (массив, содержащий информацию о реализациях заказа) |
Order: Realizations: Id | string (id реализации) |
Order: Realizations: Num | string (номер реализации) |
Order: Realizations: DateCreate | string (дата создания реализации) |
Order: Items | array (массив, содержащий информацию о детали в заказе) |
Order: Items: Id | string (id заказанной детали) |
Order: Items: Articul | string (артикул детали) |
Order: Items: Name | string (наименование детали) |
Order: Items: Vendor | string (производитель детали) |
Order: Items: Store | string (id склада) |
Order: Items: Price | float (стоимость детали) |
Order: Items: Comment | string (комментарий) |
Order: Items: Shipment | string (идентификатор места отгрузки) |
Order: Items: Count | array (массив, содержащий информацию о движении заказа) |
Order: Items: Count: Ordered | int (количество заказанной детали) |
Order: Items: Count: Rejected | int (количество отказных деталей) |
Order: Items: Count: Process | int (количество деталей в обработке) |
Order: Items: Count: InStore | int (количество деталей на складе) |
Order: Items: Count: Issued | int (количество выданных деталей) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"OrderId":"c164b376-ea8c-4b4c-a987-6f3c52058e94","ShowItems":1}' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/order/
Пример ответа:
{
"Status": 1,
"Order": {
"Id": "c164b376-ea8c-4b4c-a987-6f3c52058e94",
"Num": "ЛН00-00001",
"DateCreate": "21.08.2023 11:56:39",
"Status": "complete",
"Sum": 806.62,
"ReceivingType": "courier",
"PaymentType": "cashless",
"AddressId": "1c775421-14d3-11ee-a82d-ac220b2813f7",
"Realizations": [],
"Items": [
{
"Id": "1ec2a43f-a913-11e3-93f7-00155d647106",
"Articul": "1109CL",
"Name": "ФИЛЬТР МАСЛЯНЫЙ мотор DW12ME5 FAP, DW12MTED4 С FAP",
"Vendor": "PEUGEOT/CITROEN",
"Store": "8649ffb0-9b15-11ed-94a9-00155d647106",
"Price": 806.62,
"Shipment": "8649ffb0-9b15-11ed-94a9-00155d647106",
"Count": {
"Ordered": 1,
"Rejected": 0,
"Process": 0,
"InStore": 1,
"Issued": 0
},
"Comment": ""
}
]
}
}
12. Получение списка документов
URL запроса: https://avtoliga-parts.ru/api/v1/get/documents/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data | string (JSON строка данных запроса) |
Data:Type | string (тип документа для фильтрации) |
Data:DateFrom | string (начальная дата создания документа для фильтрации) |
Data:DateTo | string (конечная дата создания документа для фильтрации) |
Data:DocSignature | boolean (признак подписи документа для фильтрации: 1 – документ подписан, 0 – документ без подписи) |
Data:Count | int (количество результатов на странице) |
Data:PageNumber | int (номер страницы) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
TotalPages | int (количество страниц по результатам выборки) |
TotalItems | int (количество найденных элементов) |
CurrentPage | int (номер текущей страницы) |
Documents | array (массив, содержащий информацию о найденных заказах) |
Documents: DateCreate | string (дата создания документа) |
Documents: Name | string (название документа) |
Documents: Sum | float (сумма документа) |
Documents: Type | string (тип документа, информацию о типах оплаты можно получить в методе dictionary) |
Documents: ID | string (id документа) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/documents/
Пример ответа:
{
"Status": 1,
"TotalPages": 1,
"TotalItems": 1,
"CurrentPage": 1,
"Documents": [
{
"DateCreate": "05.07.2023 10:00:46",
"Name": "Реализация (акт, накладная, УПД) ЛН00-00001 от 05.07.2023 10:00:46",
"Sum": 455,
"Type": "realization",
"ID": "40834bc5-1b01-11ee-a82d-ac220b2813f7"
}
]
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Нет данных по указанным параметрам"
}
13. Получение детализации документа
URL запроса: https://avtoliga-parts.ru/api/v1/get/document/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|---|
Data* | string (JSON строка данных запроса) |
Data: DocId* | string (id документа) |
Data: Format* | string (формат документа: xls или pdf) |
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
Data | string (тело документа, закодированное в base64) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=&Data={"DocId":"c164b376-ea8c-4b4c-a987-6f3c52058e94","Format":"pdf"}' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/document/
Пример ответа:
{
"Status": 1,
"Data": "fABgIJEALRbIAg\ACtqGirlmqrtVWr0JZatUVp\r\nS6kK2XzPzDlns1Hbr+//e7/v936/X5PMOXPmzJnLM89="
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Не удалось сформировать документ"
}
14. Получение справочника сущностей
URL запроса: https://avtoliga-parts.ru/api/v1/get/dictionary/
Описание входных параметров:
Параметр | Тип |
Token* | string (токен пользователя) |
---|
Описание возвращаемых данных:
Параметр | Тип |
Status | boolean (результат выполнения операции: 1 – успешно, 0 – возникла ошибка, либо данные отсутствуют) |
---|---|
AddressStatus | array (массив, содержащий список всех возможных статусов адреса) |
AddressStatus: Name | string (название элемента справочника) |
AddressStatus: Code | string (символьный код) |
DeliveryType | array (массив, содержащий список всех возможных типов доставки) |
DeliveryType: Name | string (название элемента справочника) |
DeliveryType: Code | string (символьный код) |
PaymentType | array (массив, содержащий список всех возможных типов оплаты) |
PaymentType: Name | string (название элемента справочника) |
PaymentType: Code | string (символьный код) |
DocumentType | array (массив, содержащий список всех возможных типов документа) |
DocumentType: Name | string (название элемента справочника) |
DocumentType: Code | string (символьный код) |
OrderStatusType | array (массив, содержащий список всех возможных статусов заказа) |
OrderStatusType: Name | string (название элемента справочника) |
OrderStatusType: Code | string (символьный код) |
OrderItemStatusType | array (массив, содержащий список всех возможных статусов элемента заказа) |
OrderItemStatusType: Name | string (название элемента справочника) |
OrderItemStatusType: Code | string (символьный код) |
CartItemStatus | array (массив, содержащий список всех возможных статусов состояния элемента при работе с корзиной) |
CartItemStatus: Name | string (название элемента справочника) |
CartItemStatus: Code | string (символьный код) |
Message | string (строка с описанием ошибки, либо отсутствия данных) |
Пример запроса:
curl -d 'Token=123456789abcde=' \
-X POST \
https://avtoliga-parts.ru/api/v1/get/dictionary/
Пример ответа:
{
"Status": 1,
"AddressStatus": [
{
"Name": "Ожидает подтверждения",
"Code": "new"
},
{
"Name": "Подтвержденный",
"Code": "confirmed"
},
{
"Name": "Отклоненный",
"Code": "rejected"
}
],
"DeliveryType": [
{
"Name": "Самовывоз",
"Code": "pickup"
},
{
"Name": "Курьер",
"Code": "courier"
}
],
"PaymentType": [
{
"Name": "Безналичный расчет",
"Code": "cashless"
}
],
"OrderStatusType": [
{
"Name": "В работе",
"Code": "process"
},
{
"Name": "Архив",
"Code": "complete"
}
],
"OrderItemStatusType": [
{
"Name": "Отказ",
"Code": "rejected"
},
{
"Name": "В обработке",
"Code": "process"
},
{
"Name": "На складе",
"Code": "instore"
},
{
"Name": "Выдан",
"Code": "issued"
},
{
"Name": "Выдан частично",
"Code": "part_issued"
},
{
"Name": "Принят",
"Code": "accepted"
}
],
"DocumentType": [
{
"Name": "Счет",
"Code": "bill"
},
{
"Name": "Реализация",
"Code": "realization"
}
],
"CartItemStatus": [
{
"Name": "Добавлен",
"Code": "created"
},
{
"Name": "Обновлен",
"Code": "updated"
},
{
"Name": "Удален",
"Code": "deleted"
}
]
}
Пример ответа в случае отсутствия данных:
{
"Status": 0,
"Message": "Отсутствуют элементы справочника"
}