Часті питання
- Усі категорії
- #Доставка
- #API
- #Возврат
-
# График отправок
-
# Способы отправки
• Новая почта • Гюнсел • Автолюкс • Доставка по Одессе
-
# Доставка из-за границы
При поиске товаров, среди предложений, доступны предложения с платной доставкой. Стоимость доставки из-за границы, по заказам с платной доставкой, выставляется при поступлении товара на наш склад. ТАРИФЫ: Морская доставка = 4,0 $ / кг Авиа доставка = 9,0 $ / кг - не габарит, 15,5 $ / кг - габарит -
# Що таке API? Чи потрібно мені API та навіщо?
Что такое API ?
API (веб-сервис) - способ предоставления доступа для работы с сайтом JP auto.
Классический способ ознакомления с нашими предложениями - ввести вручную в поисковую строку каталожный номер интересующего товара.
API- предоставляет Вам возможность автоматизировать поиск с Вашего сайта на сайте JP auto.
Таким образом:
• На Вашем сайте, клиенты будут видеть наши предложения с Вашей наценкой.
• Для Вас отпадает необходимость регулярного обновления прайс-листом и их загрузки так как информацию Вы получаете в реальном времени.
Нужно ли мне API и для чего ?
Вам необходимо транслировать в поиске на сайте клиентам наши предложения с Вашей наценкой, значит Вам нужно API.
-
# Як отримати доступ, активувати API?
1. Свяжитесь с нами в разделе Личного кабинета > 'Вопрос-Ответ'.
2. Коротко и оперативно согласуем с Вами необходимые индивидуальные настройки под лично Ваши нужды и задачи.
3. Активируем доступ в течении 5 минут.
4. Доступ активирован, Вы можете пользоваться API доступом, используя для авторизации Ваш индивидуальный Ключ доступа = API ключ.
Ключ доступа = API ключ после активации отображен в разделе Личного кабинета > 'Профиль'.
-
# Метод JSON - SearchParts: поиск детали (проценка)
Метод JSON SearchParts
Описание
Метод поиска детали. (проценка)
Метод возвращает коммерческое предложение (цены) для искомого товара и кроссам (аналогам).
Метод возвращает ответ идентичный по структуре и содержанию результату, который Вы видите на сайте при классическом, ручном поиске.
Тип запроса: GET
Тип авторизация: Bearer Token
Bearer Token = API ключ доступный в разделе Личного кабинета > 'Профиль' после активации доступа .
Этот метод работает в два шага.
ШАГ 1 - по интересующему номеру уточняется список брендов (производителей).
Ссылка: https://api.jpauto.com.ua/searchparts?n=4881533080
Где b - каталожный номер искомого товара.
ШАГ 2 - по интересующему номером и выбранному на первом шаге бренду осуществляем поиск деталей (проценку).
Ссылка: https://api.jpauto.com.ua/searchparts?n=4881533080&b=Toyota
Где n и b - каталожный номер искомого товара и название бренда (производителя), соответственно.
ВАЖНО! При острой необходимости, в случае твёрдой уверенности в целесообразности, можно пропускать ШАГ 1 и сразу обращаться к ШАГ 2 передавая название бренда (производителя) так как оно записано в Вашей БД и быть уверенными в том, что всю логику сопоставлению требуемого бренда с предложениями товаров выполнит наш гибкий, умный алгоритм.
Протестировать работоспособность, убедиться в том, что API для Вас активирован и API ключ верный, можно
ПО ССЫЛКЕ: https://reqbin.com/
см. примеры тестов на изображении ниже
ШАГ 1
ШАГ 2
-
# Метод SearchParts: пример ответа в формате JSON
JSON - Ответ в этом формате мы рекомендуем как формат по умолчанию. С ним легко работать, а ответы имеют меньший размер.
на пример: предложения по одному и тому же товару имеет размер в JSON = 2,4 mb, а в XML = 3.7 mb.
Пример ответа ШАГ 1
{
"Brands": [{
"Name": "Toyota"
}]
}
Пример ответа ШАГ 2
{
"Products":{
"Search":[
{
"Number" : "04152YZZA1",
"Brand" : "Toyota",
"Qty" : "12",
"QtyType" : "Equal",
"Price" : "0.87",
"Currency" : "USD",
"Supplier" : "ABCD",
"Delivery" : "truck",
"DeliveryPrice" : "free" ,
"Term" : "10",
"Chance" : "4.5",
"IsReturn" : "true",
"Region": "Украина",
},
{...},
],
"Cross":[
{...},
{...},
]
}
}
-
# Метод SearchParts: пример ответа в формате XML
XML - Ответ в этом формате мы не рекомендуем, но при острой необходимости можем включить XML индивидуально для клиента по его просьбе.
Мы рекомендуем ответ в формате JSON. Ответы JSON имеют меньший размер.
на пример: предложения по одному и тому же товару имеют размер в JSON = 2,4 mb, а в XML = 3.7 mb.
Пример ответа ШАГ 1
<Brands>
<Brand>
<Name>Toyota</Name>
</Brand>
</Brands>
Пример ответа ШАГ 2
<Products>
<Search>
<Product>
<Number>04152YZZA1</Number>
<Brand>Toyota</Brand>
<Qty>12</Qty>
<QtyType>Equal</QtyType>
<Price>0.87</Price>
<Currency>USD</Currency>
<Supplier>ABCD</Supplier>
<Delivery>truck</Delivery>
<DeliveryPrice>free</DeliveryPrice>
<Term>10</Term>
<Chance>4.5</Chance>
<IsReturn>true</IsReturn>
<Region>Украина</Region>
</Product>
<Product>
...
</Product>
</Search>
<Cross>
<Product>
...
</Product>
<Product>
...
</Product>
</Cross>
</Products>
-
# Метод searchparts: Подробно о параметрах ответа
Блок Search - предложения по искомому товару, запрашиваемой паре каталожный номер + наименование бренда.
Блок Cross - предложения по кроссам к искомому товару.
У каждого предложения обязательно присутствуют следующие поля:
• Number - Каталожный номер
• Brand - Бренд
• Qty - Количество
• QtyType связанно с Qty:
Если QtyType = Exist, то Qty = 0 - товар в достатке в наличии, но точное количество не известно.
Если QtyType = More, то в наличии больше чем Qty.
Если QtyType = Equal, то Qty указан точно - товар в наличии именно в в количестве равном Qty.
• Price - Цена (стоимость за каталожный номер в количестве 1 шт)
• Currency - Валюта
• Supplier- Название поставщика, аббревиатура из 4 символов.
• DeliveryPrice связано с Price:
Если DeliveryPrice = free, то Price указана с учётом доставки до нашего склада.
Если DeliveryPrice = pay, то Price указана без учета доставки до нашего склада, доставка выставляется отдельно.
• Delivery связано с DeliveryPrice и Price:
Если Delivery = home - Товар в наличии на нашем личном складе.
Если Delivery = free, то Price указана с учётом доставки до нашего склада.
Если Delivery = anchor, то предложение подразумевает контейнерную доставку морем, при этом DeliveryPrice = pay.
Если Delivery = plane, то предложение подразумевает авиа доставку, при этом DeliveryPrice = pay.
Если Delivery = incanchor, то предложение подразумевает контейнерную доставку морем, при этом DeliveryPrice = free, а Price указана с учётом доставки до нашего склада.
Если Delivery = incplane, то предложение подразумевает контейнерную доставку морем, при этом DeliveryPrice = free, а Price указана с учётом доставки до нашего склада.
• Term - Срок поставки до нашего склада.
• Chance - Статистика, шанс успешной закупки.
• IsReturn- Возвратность поставщика.
• Region - Регион поставки.
-
# Метод SearchParts: Пример на PHP
<?php
$apiUrl = 'https://www.api.jpauto.com.ua/searchparts';
$bearerToken = 'YOUR API KEY';
$partNumber = '04152YZZA1';
$partBrand = 'toyota';
$ch= curl_init($apiUrl.'?n='.$partNumber.'&b='.$partBrand);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer '.$bearerToken]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
?>
-
# Метод SearchParts: Пример на С# / .NET
var apiUrl = "https://www.api.jpauto.com.ua/searchparts";
var bearerToken = "YOUR API KEY";
var partNumber = "04152YZZA1";
var partBrand = "toyota";
var httpRequest = (HttpWebRequest)WebRequest.Create($"{apiUrl}?n={partNumber}&b={partBrand}");
httpRequest.Headers["Authorization"] = $"Bearer {bearerToken}";
var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream())){
var result = streamReader.ReadToEnd();
}
Console.WriteLine(httpResponse.StatusCode);
-
# Метод SearchParts: Пример на JavaScript / AJAX
let apiUrl = 'https://www.api.jpauto.com.ua/searchparts';
let bearerToken = 'YOUR API KEY';
let partNumber = '04152YZZA1';
let partBrand = 'toyota';
var xhr = new XMLHttpRequest();
xhr.open('GET', `${apiUrl}?n=${partNumber}&b=${partBrand}`);
xhr.setRequestHeader("Authorization", `Bearer ${bearerToken}`);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
console.log(xhr.status);
console.log(xhr.responseText);
}};
xhr.send();
-
# Метод SearchParts: Пример на T-SQL / MSSQL
DECLARE @authHeader VARCHAR (8000)
, @ret INT
, @token INT
, @url VARCHAR (8000)
, @RequestBody VARCHAR (8000)
-- Variable with Result
, @Result VARCHAR (MAX);
DECLARE @Results TABLE (Result VARCHAR (MAX) NULL);
-- Declaration customer variables (params)
DECLARE @APIkey VARCHAR (512)
, @n VARCHAR (50)
, @b VARCHAR (50);
-- Set variables (params)
SET @APIkey = 'YOUR API KEY';
SET @authHeader = 'Bearer ' + @APIkey;
SET @b = 'Toyota';
SET @n = '4881533100';
SET @url = 'https://www.api.jpauto.com.ua/searchparts?n='+@n+'&b='+@b;
SET @RequestBody = '{"key": "value"}';
EXEC @ret = sp_OACreate 'MSXML2.ServerXMLHTTP', @token OUT;
--- IF @ret <> 0 RAISERROR ( 'HTTP connection is not open.', 10, 1);
--- IF @ret = 0 RAISERROR ( 'HTTP connection is open.', 10, 1);
EXEC @ret = sp_OAMethod @token, 'Open', NULL, 'GET', @Url, false;
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Authorization', @authHeader;
EXEC @ret = sp_OAMethod @token, 'send', NULL, @RequestBody;
INSERT INTO @Results (Result)
EXEC sp_OAMethod @token, 'responseText';
SET @Result = (SELECT TOP (1) Result FROM @Results);
-- Select Result
SELECT @Result;
-
# Метод SearchParts: Пример на Python
import requests
from requests.structures import CaseInsensitiveDict
url = "https://www.api.jpauto.com.ua/searchparts?n=IK20TT&b=Denso"
headers = CaseInsensitiveDict()
headers["Authorization"] = "Bearer YOUR API KEY"
resp = requests.get(url, headers=headers)
print(resp.status_code)
-
# Метод SearchParts: Пример на Java
URL url = new URL("https://www.api.jpauto.com.ua/searchparts?n=IK20TT&b=Denso");
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.setRequestProperty("Authorization", "Bearer YOUR API KEY");
System.out.println(http.getResponseCode() + " " + http.getResponseMessage());
http.disconnect();
-
# Метод SearchParts: Пример на Curl / Bash
#!/bin/bash
curl -X GET https://www.api.jpauto.com.ua/searchparts?n=IK20TT&b=Denso -H "Authorization: Bearer YOUR API KEY"
-
# Условия возврата
Условия возврата:
1. Срок возврата со дня отгрузки / выдачи / готовности товара к отгрузке:
• Товар из наличия нашего склада - 14 дней
• Товар с партнерского склада - 12 дней
2. Должна быть сохранена изначальная※¹ комплектация товара.
3. Должна быть сохранена товарный вид※².
4. Должна быть сохранена упаковка в изначальном※¹ виде.
5. На товаре / упаковке должны сохраниться в целости все стикера, наклейки, этикетки, бирки.
6. На товаре не должно быть следов эксплуатации, установки.
7. На товаре / упаковке не должно быть клиентских стикеров, наклеек, этикеток, бирок.
8. Товар не должен быть привезённым из-за границы индивидуально для клиента※³.
9. Товар не должен относиться к / включать в себя / в комплект что то относящееся к следующим товарным группам:
• Электрика
• Электроника
• Топливная аппаратура
• Химия.
10. Товар должен был заказан со склада в предложении которого была иконка возвратности※⁴
※¹ Изначальная комплектация - комплектация в которой товар был отгружен / выдан с нашего склада.
※¹ Изначальный вид упаковки - внешний вид, состояние упаковки в котором она была отгружена / выдана с нашего склада.
※² Товарный вид - внешний вид, состояние товара, упаковки в котором он был отгружен / выдан с нашего склада.
※³ Индивидуально для клиента - Товар заказанный клиентом из-за границы, выкупленный и доставленный в Украину по индивидуальному заказу клиента. Не принимается на возврат ввиду невозможности возврата поставщику и невостребованности такого товара в наличии на нашем складе.
※⁴ Иконка возвратности - стрелочка зеленого или красного цвета (,) указывающая на возможность / не возможность возврата поставщику / на склад в рамках определённого предложения / заказа на общих условиях возврата.
например: Заказывая товар со склада с возможностью возврата, возврат всё равно будет не возможен в случае если товар относится к одной из товарных групп по которой не принимаются возвраты в соответствии с условиями возврата. -
# Как сделать возврат
Как сделать возврат:
Мы принимаем исключительно согласованные возвраты.
ОБРАТИТЕ ВНИМАНИЕ! Не согласованные возвраты мы НЕ сопровождаем, НЕ обрабатываем, НЕ несём за них ответственность.
Высылая товар на возврат без согласования, Вы совершаете лишь одному себе понятное действие о котором известно так же только Вам.
Как согласовать возврат:
Для согласования возврата воспользуйтесь предусмотренной, соответствующей функцией сайта:
1. В разделе Личного кабинета > 'Позиции заказа' нажмите кнопку 'Запрос возврата' расположенную справа в строке заказа по которому Вы желаете согласовать возврат.
2. Ответ о возможности возврата, весь необходимый в дальнейшем функционал и вся необходимая дополнительная информация, будет предоставлена автоматически и / или доступна в разделе Личного кабинета > 'Возвраты'.