Документация по работе с PLLANO API
PLLANO RESTful API — это бесплатный инструментарий для интеграции pllano.com в ваш продукт.
Вы можете ипользовать наш PLLANO PHP HTTP client или популярный PHP HTTP client Guzzle - Документация
PLLANO API работает согластно стантарту APIS-2018
Используйте документацию APIS-2018
Список всех ресурсов PLLANO API соответствует списку ресурсов APIS-2018
Новый адрес сервера API - api.pllano.com
Новая сайт API быстрее в несколько раз за прошлый. Появилась возможность регистрации продавца при установке сайта.
Сейчас доступны следующие ресурсы:
- /site -
GET
- Конфигурация сайта (Требует public_key) - /price -
GET
- Товары и цены (Требует public_key) - /order -
GET
POST
PUT
- Заказы (Требует public_key) - /install -
POST
PUT
- Установка сайта (Работает без public_key) - /language -
GET
- Локализация (Работает без public_key) - /stores_list -
GET
- Список типов магазинов (Работает без public_key) - /templates_list -
GET
- Список шаблонов (Работает без public_key) - /test -
GET
POST
PUT
PATCH
DELETE
- Тесты (Работает без public_key)
Список всех запланированных ресурсов PLLANO API
POST /price
Создание записиPOST /price/42
ОшибкаGET /price
Список прайс-строкGET /price/42
Данные конкретной прайс-строкиPUT /price
Обновить данные прайс-строкPUT /price/42
Обновить данные конкретной прайс-строкиDELETE /price
Удалить все прайс-строкиDELETE /price/42
Удалить конкретную прайс-строку
https://api.pllano.com/{resource}/{uid}
{resource}
- ресурс к которому обращаемся. Напримерprice
илиsearch
{id}
- уникальный индефикатор
?public_key={public_key}&order={order}&sort={sort}&offset={offset}&limit={limit}
{public_key}
- Ваш ключ к API{limit}
- Записей на страницу. По умолчанию 10{offset}
- Страница. По умолчанию 0{order}
- Тип сортировки. По умолчанию ASC{sort}
- Поле сортировки. По умолчанию id
HTTP/1.1 200 OK
Content-Type: application/json
Перейдите по ссылке https://api.pllano.com/price?public_key=test&order=asc&sort=uid&offset=0&limit=10
Скачайте файлы test.php и src/Api.php положите их в корень вашего сайта.
Запуск: http://example.com/test.php
PLLANO REST API PHP обратится по адресу:
https://api.pllano.com/price?public_key=test&order=asc&sort=uid&offset=0&limit=10
В ответ получит массив json конвертирует его в массив PHP
PHP >= 5.3*
$ composer require pllano/api
composer.json
"require": {
"pllano/api": "1.0.3"
}
require '../vendor/autoload.php'; // Подключить Composer
// require_once __DIR__.'/Api.php';
$action = 'price'; // Название модели к которой мы обращаемся
$metod = 'curl'; // get = file_get_contents или curl
$id = null; // Уникальный индефикатор item. Если null выводим список.
$public_key = 'test'; // Публичный ключ авторизации. По умолчанию test для настройки API
$query = null; // Дублируем тип запроса. Имеет приоритет выше чем в самом запросе.
$order = null; // Сотрировка asc|desc По умолчанию asc
$sort = null; // Поле по которому сортируем. По умолчанию id
$offset = null; // Смещение. Начать с указанной страницы. По умолчанию 0
$limit = null; // Лимит вывода записей на страницу. По умолчанию 10
//Массив для GET запроса
$getArray = array(
"public_key" => $public_key,
"query" => $query,
"order" => $order,
"sort" => $sort,
"offset" => $offset,
"limit" => $limit
);
$api = new Pllano\Api('ua');
$records = $api->get($getArray, $action, $metod, $id);
if (isset($records['header']['code'])) {
if ($records['header']['code'] == '200') {
$count = count($records['price']['items']);
if ($count >= 1) {
foreach($records['price']['items'] as $item)
{
print_r($item['item']['id']);
}
}
}
}
$ composer require guzzlehttp/guzzle
composer.json
"require": {
"guzzlehttp/guzzle": "^6.3"
}
require '../vendor/autoload.php'; // Подключить Composer
use GuzzleHttp\Client as Guzzle;
// Подключаем Guzzle
$client = new Guzzle();
// Отправляем запрос
$response = $client->request('GET', 'https://ua.pllano.com/api/v1/json/price/?public_key=test');
// Получаем тело ответа
$output = $response->getBody();
$records = json_encode(json_decode($output, true), JSON_PRETTY_PRINT);
// Вывести на экран json
print_r($records);
{
"headers": {
"status": "200 OK",
"code": "200",
"message": "OK",
"message_id": "https:\/\/github.com\/pllano\/APIS-2018\/tree\/master\/http-codes\/200.md"
},
"response": {
"api": "v1.0",
"auth": "QueryKeyAuth",
"total": "1000"
},
"request": {
"query": "GET",
"resource": "price",
"limit": "10",
"offset": "0",
"order": "DESC",
"sort": "id",
"state": "1",
"type": "",
"brand": "",
"serie": "",
"articul": "",
"search": ""
},
"body": {
"items": [
{
"item": {
"product_id": "",
"parent_id": "",
"brand_id": "",
"price": "",
"oldprice": "",
"available": "",
"guarantee": "",
"ean": "",
"category": {
"id": "",
"parent_id": "",
"name": "",
"alias": ""
},
"supplier": {
"id": "",
"dropshipping": "",
"pay_online": ""
},
"seller": {
"id": "",
"name": ""
},
"delivery": {
"terms": ""
},
"currency": {
"currency_id": "UAH",
"short_sign": "₴",
"name": "грн.",
},
"name": "",
"type": "",
"brand": "",
"serie": "",
"articul": "",
"url": "",
"image": {
"1": "",
"2": ""
},
"description": "-",
"param": {
"Гарантия": "12 месяцев",
"Страна производитель": "Украина"
}
}
}
]
}
}
Общайтесь с нами через почту api@pllano.com
Если вы нашли баг в работе PLLANO REST API или PLLANO PHP HTTP client загляните в issues, возможно, про него мы уже знаем и чиним. Если нет, лучше всего сообщить о нём там. Там же вы можете оставлять свои пожелания и предложения.
За новостями вы можете следить по коммитам в этом репозитории. RSS.
The MIT License (MIT). Please see LICENSE for more information.