2017 © Pedro Peláez
 

library api

PLLANO REST API PHP

image

pllano/api

PLLANO REST API PHP

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

PLLANO API

Документация по работе с PLLANO API, (*1)

PLLANO RESTful API — это бесплатный инструментарий для интеграции pllano.com в ваш продукт., (*2)

Вы можете ипользовать наш PLLANO PHP HTTP client или популярный PHP HTTP client Guzzle - Документация, (*3)

, (*4)

PLLANO API работает согластно стантарту APIS-2018

Используйте документацию APIS-2018

Список всех ресурсов PLLANO API соответствует списку ресурсов APIS-2018

Новый адрес сервера API - api.pllano.com

Новая сайт API быстрее в несколько раз за прошлый. Появилась возможность регистрации продавца при установке сайта., (*5)

Ресурсы PLLANO RESTful 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), (*6)

Список всех запланированных ресурсов PLLANO API, (*7)

PLLANO API потдерживает запросы:

  • POST /price Создание записи
  • POST /price/42 Ошибка
  • GET /price Список прайс-строк
  • GET /price/42 Данные конкретной прайс-строки
  • PUT /price Обновить данные прайс-строк
  • PUT /price/42 Обновить данные конкретной прайс-строки
  • DELETE /price Удалить все прайс-строки
  • DELETE /price/42 Удалить конкретную прайс-строку

URL PLLANO API

  • https://api.pllano.com/{resource}/{uid}
  • {resource} - ресурс к которому обращаемся. Например price или search
  • {id} - уникальный индефикатор

GET запрос к API

  • ?public_key={public_key}&order={order}&sort={sort}&offset={offset}&limit={limit}
  • {public_key} - Ваш ключ к API
  • {limit} - Записей на страницу. По умолчанию 10
  • {offset} - Страница. По умолчанию 0
  • {order} - Тип сортировки. По умолчанию ASC
  • {sort} - Поле сортировки. По умолчанию id

API - Всегда возвращает код 200 даже при логических ошибках !

HTTP/1.1 200 OK, (*8)

Content-Type: application/json, (*9)

В теле ответа API вернет состояния HTTP или код ошибки.

Коды состояния HTTP, (*10)

Демо

Перейдите по ссылке https://api.pllano.com/price?public_key=test&order=asc&sort=uid&offset=0&limit=10, (*11)

, (*12)

PLLANO PHP HTTP client

Легкий старт

Скачайте файлы test.php и src/Api.php положите их в корень вашего сайта., (*13)

Запуск: http://example.com/test.php, (*14)

PLLANO REST API PHP обратится по адресу:, (*15)

https://api.pllano.com/price?public_key=test&order=asc&sort=uid&offset=0&limit=10, (*16)

В ответ получит массив json конвертирует его в массив PHP, (*17)

, (*18)

Установка PLLANO PHP HTTP client с помощью Composer, (*19)


Требования

PHP >= 5.3*, (*20)

$ composer require pllano/api

composer.json ``` json "require": { "pllano/api": "1.0.3" }, (*21)

<a name="test"></a>
### Пример использования PLLANO PHP HTTP client

``` php 
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']);
        }
    }
}
} 

Пример использования Guzzle

$ composer require guzzlehttp/guzzle

composer.json ``` json "require": { "guzzlehttp/guzzle": "^6.3" }, (*22)

``` php 
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);

Структура ответа API в json формате

{
    "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 месяцев",
                        "Страна производитель": "Украина"
                    }
        }
            }
         ]
    }
}

, (*23)

Поддержка, обратная связь, новости

Общайтесь с нами через почту api@pllano.com, (*24)

Если вы нашли баг в работе PLLANO REST API или PLLANO PHP HTTP client загляните в issues, возможно, про него мы уже знаем и чиним. Если нет, лучше всего сообщить о нём там. Там же вы можете оставлять свои пожелания и предложения., (*25)

За новостями вы можете следить по коммитам в этом репозитории. RSS., (*26)

Лицензия на библиотеку PLLANO REST API PHP

The MIT License (MIT). Please see LICENSE for more information., (*27)

The Versions

12/03 2018

dev-master

9999999-dev https://github.com/pllano/api

PLLANO REST API PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

api pllano

13/11 2017

1.0.3

1.0.3.0 https://github.com/pllano/api

PLLANO REST API PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

api pllano

11/11 2017

1.0.2

1.0.2.0 https://github.com/pllano/api

PLLANO REST API PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

api pllano

11/11 2017

1.0.1

1.0.1.0 https://github.com/pllano/api

PLLANO REST API PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

api pllano