Документация по работе с API Uvygoda
Для доступа к API Вам необходимо иметь статус продавца (PRO аккаунт).
Все запросы отправляются на адрес
https://uvygoda.ru/local/api/api.php
Данные передаются в json формате POST запросом.
Загаловки:
Content-Type: application/json;charset=UTF-8
Token: token
method: МЕТОД
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: NO_AUTH',
'method: getToken'
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
В ответ приходит структура JSON.
Обязательные поля ответа:
RESULT: boolean - результат запроса, в случае успешного запроса вернет true.
ERROR: string or false - в случае ошибки вернет строку с описанием ошибки иначе вернет false.
Список доступных методов:
Метод:
getToken
Парaметры:
LOGIN, PASS
Действия:
Запрос на получение бессрочного токена.
При повторном запросе токен обновится.
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: NO_AUTH',
'method: getToken'
];
$arr = [
"LOGIN"=>"test@test.ru",
"PASS"=>"myOriginalPass"
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"TOKEN":"STRINGUSERTOKEN",
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"TOKEN":false,
"ERROR":"Неверный логин или пароль"
}
Метод:
getStages
Действия:
Запрос на получение всех статусов отгрузок.
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: getStages'
];
$arr = [];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"STAGES":{
"0":{
"ID":123,
"NAME":"Новый, не оплачен",
},
"1":{
"ID":124,
"NAME":"Оплачен",
},
},
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"STAGES":false,
"ERROR":"Информация об ошибке"
}
Метод:
getOrderProperties
Действия:
Запрос на получение всех параметров заказа.
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: getOrderProperties'
];
$arr = [];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"PROPERTIES":{
"0":{
"ID":123,
"NAME":"Имя",
},
"1":{
"ID":124,
"NAME":"Фамилия",
},
},
"ERROR":false
}
Oтвет при ошибке:
{
"RESULT":false,
"PROPERTIES":false,
"ERROR":"Информация об ошибке"
}
Метод:
setWebHook
Парaметры:
URL: "https://mydomain.ru/path-to-webhook"
Действия:
Установка адреса для получения событий.
События:
1. Обновление статусов товара
2. Новый заказа
3. Обновление статуса заказа
4. Новое сообщение в чате
5. Входящее сообщение в чате
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: setWebHook'
];
$arr = [
"URL"=>$url
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"URL":"SUCCES",
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"URL":false,
"ERROR":"Информация об ошибке"
}
Метод:
getSections
Парaметры:
FILTER: ALL,LVL_1,CHILDREN_123, PARENT_123,ID_123
Описание параметров:
FILTER - Предназначено для отбора разделов.
Возможные значения:
ALL - Весь список разделов.
LVL_[1-3] - Разделы [1-3]го уровня.
CHILDREN_123 - Подразделы раздела с идентификатором 123.
PARENT_123 - Родитель раздела с идентификатором 123.
ID_123 - Раздела с идентификатором 123.
Действия:
Запрос на получение разделов.
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: getSections'
];
$arr = [
"FILTER"=>"ALL",
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"SECTIONS":{
"1":{
"ID":1,
"NAME":"Имя",
"LVL":1,
"PARENT_ID":false,
},
"123":{
"ID":123,
"NAME":"Имя",
"LVL":2,
"PARENT_ID":1,
},
"124":{
"ID":124,
"NAME":"Имя",
"LVL":3,
"PARENT_ID":123,
},
},
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"SECTIONS":false,
"ERROR":"Информация об ошибке"
}
Метод:
getSectionProperties
Парaметры:
SECTION_ID: 123
Описание параметров:
SECTION_ID - Идентификатор раздела 3го уровня для получения всех свойств товара.
Действия:
Запрос на получение свойств для заполнения карточек.
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: getSectionProperties'
];
$arr = [
"SECTION_ID"=>123,
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"PROPERTIES":{
"1":{
"ID":1,
"NAME":"Имя",
"REQUIRED":true,
"VALUES":false,
"TYPE":"STRING",
},
"123":{
"ID":123,
"NAME":"Имя",
"REQUIRED":false,
"TYPE":"LIST",
"VALUES":{
"1":{
"ID":1,
"VALUE":"Имя",
},
"2":{
"ID":2,
"VALUE":"Имя",
},
},
},
"124":{
"ID":124,
"NAME":"Имя",
"REQUIRED":true,
"VALUES":false,
"TYPE":"INTEGER",
},
},
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"PROPERTIES":false,
"ERROR":"Информация об ошибке"
}
Метод:
getProductList
Парaметры:
FILTER: ALL,MODERATION,AWAITING,PUBLIC,END,DRAFT
Описание параметров:
FILTER - Предназначено для отбора товаров.
Возможные значения:
ALL - Весь список Ваших товаров.
MODERATION - Ожидает модерации.
PUBLIC - Продаются.
AWAITING - Ожидает публикации.
END - Снят с продажи.
DRAFT - Черновик.
Действия:
Запрос на получение Ваших товаров
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: getProductList'
];
$arr = [
"FILTER"=>"ALL",
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"ITEMS":{
"1":{
"ID":1,
"NAME":"Имя",
"STAGE":"MODERATION",
"VALUES":false,
"SECTION_ID":123,
"URL":"https://uvygoda.ru/catalog/path",
}
},
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"ITEMS":false,
"ERROR":"Информация об ошибке"
}
Метод:
getProductInfo
Парaметры:
ID: 123
Действия:
Запрос на получение всей информации по товару
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: getProductInfo'
];
$arr = [
"ID"=>123,
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"ITEM":{
"1":{
"ID":1,
"NAME":"Имя",
"STAGE":"MODERATION",
"VALUES":false,
"SECTION_ID":123,
"URL":"https://uvygoda.ru/catalog/path",
"PROPERTIES":{
"1":{
"ID":1,
"NAME":"Имя",
"REQUIRED":true,
"VALUES":false,
"TYPE":"STRING",
},
"123":{
"ID":123,
"NAME":"Имя",
"REQUIRED":false,
"TYPE":"LIST",
"VALUES":{
"1":{
"ID":1,
"VALUE":"Имя",
},
"2":{
"ID":2,
"VALUE":"Имя",
},
},
},
"124":{
"ID":124,
"NAME":"Имя",
"REQUIRED":true,
"VALUES":false,
"TYPE":"INTEGER",
},
}
}
},
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"ITEM":false,
"ERROR":"Информация об ошибке"
}
Метод:
addProduct
Парaметры:
SECTION_ID - Основной раздел
NAME - Наименование товара
PRICE - Минимальная стоимость товара
*Расчет итоговой стоимости товара производится по формуле:
150*1.18=177 где,
150 - Сумма, которую Вы хотите получить за 1 ед. товара;
1.18 - Процент на расходы маркетплейса и эквайринга;
177 - Итоговая стоимость товара, которую необходимо вписать в поле;
STOCK - Доступное кол-во к продаже
DESCRIPTION - описание товара
PROPERTIES - Массив свойств состоящий из пар иденитификатор свойства - значение
123:value or value id
PICTURES - Списко картинок (ссылки на картинки) (максимум 4шт)
PREVIEV_PICTURE - Картинка анонса
Действия:
Добавление карточки товара
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: addProduct'
];
$arr = [
"SECTION_ID"=>123, //Обязательный параметр
"NAME"=>"Наименование", //Обязательный параметр
"PRICE"=>123, //Обязательный параметр
"STOCK"=>123, //Обязательный параметр
"DESCRIPTION"=>"<p>Описание HTML </p>", //Разрешены p,b,i,h1-h6 Обязательный параметр
"PROPERTIES"=>[
123:"tre",
222:455
], //Обязательный параметр
"PICTURES"=>[
"urlimg1",
"urlimg2",
"urlimg3",
"urlimg4",
], //Обязательный параметр
"PREVIEV_PICTURE"=>"urlimganonce", //Обязательный параметр
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"PRODUCT_ID":123,
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"PRODUCT_ID":false,
"ERROR":"Информация об ошибке"
}
Метод:
sendProductPublish
Парaметры:
ID: 123
Действия:
Отправка товара на модерцию
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: sendProductPublish'
];
$arr = [
"ID"=>123
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"MODERATION":"SUCCESS",
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"MODERATION":false,
"ERROR":"Информация об ошибке"
}
Метод:
updateProduct
Парметры:
PRODUCT_ID - Идентификатор товара
SECTION_ID - Основной раздел
NAME - Наименование товара
PRICE - Минимальная стоимость товара
*Расчет итоговой стоимости товара производится по формуле:
150*1.18=177 где,
150 - Сумма, которую Вы хотите получить за 1 ед. товара;
1.18 - Процент на расходы маркетплейса и эквайринга;
177 - Итоговая стоимость товара, которую необходимо вписать в поле;
STOCK - Доступное кол-во к продаже
DESCRIPTION - описание товара
PROPERTIES - Массив свойств состоящий из пар иденитификатор свойства - значение
123:value or value id
PICTURES - Списко картинок (ссылки на картинки) (максимум 4шт)
PREVIEV_PICTURE - Картинка анонса
Действия:
Обновление карточки товара. При обновлении свойств или картинок обновляются ВСЕ свойства или картинки.
Пример:
$headers = [
'Content-Type: application/json;charset=UTF-8',
'Token: myToken',
'method: updateProduct'
];
$arr = [
"PRODUCT_ID"=>123, //Обязательный параметр
"SECTION_ID"=>123,
"NAME"=>"Наименование",
"PRICE"=>123,
"STOCK"=>123,
"DESCRIPTION"=>"<p>Описание HTML </p>", //Разрешены p,b,i,h1-h6
"PROPERTIES"=>[
123:"tre",
222:455
],
"PICTURES"=>[
"urlimg1",
"urlimg2",
"urlimg3",
"urlimg4",
],
"PREVIEV_PICTURE"=>"urlimganonce",
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://uvygoda.ru/local/api/api.php");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arr));
$response = json_decode(curl_exec($curl),true);
curl_close($curl);
Ответ:
{
"RESULT":true,
"UPDATE":"SUCCESS",
"ERROR":false
}
Ответ при ошибке:
{
"RESULT":false,
"UPDATE":false,
"ERROR":"Информация об ошибке"
}