Depositphotos API client. Примеры.

Часто лучше один раз увидеть (пример использования API), чем 10 раз услышать (прочитать документацию Depositphotos API). Потому придумал разместить свою наработку для тестирования Depositphotos API client на гитхабе.

С помощью самого API можно логиниться, регистрировать субаккаунтов, управлять ими, получать информацию о своём юзере, редактировать его, смотреть историю скачиваний изображений; выполнять очень гибкий поиск по громадной базе названий, описаний и ключевых слов изображений, получать подробную информацию о изображениях, о сериях изображий (фотосеты), исправлять не правильно написанную поисковую строку; скачивать изображения за кредиты (внутренняя валюта Depositphotos`а), подписки и пакеты изображений (imagepacks); создавать, удалять, изменить лайтбоксы, добавлять в них изображения, помещать лайтбокс в корзину (лайтбокс — это аналогия корзины, но в отличие от неё лайтбоксов может быть много, они имеют название, описание, ключевые слова и название проекта); добавлять файлы (растры, векторы и даже видеоролики) в корзину, удалять их оттуда, получать список файлов в корзине и многое, многое другое.

Мой мини проект «Depositphotos API client» состоит всего из 2х php файлов:

Moo.php — класс обёртка над CURL`ом для обращения к API. Как 2 года назад не пришло в голову ничего лучше, чем Moo, так у меня этот класс и остался жить и работать.

clicent.php — тут инстанцирование и конфигурирование клиентского CLI класса и куча примеров работы с API. Примеры сгруппированы по «секциям», как они названы в документации самого Depositphotos. В примера, конечно, не все команды и далеко не все кейсы использования API, но из структуры многих запросов смысл будет понятен.

Для начала работы нужно вписать свой (свои) API key, логин и пароль в массив users и поставить индекс нужного юзера строкой ниже. Я обычно использую 3-4 пользователя для тестирования API потому так. Далее нужно раскомметировать строку с нужным обращением к API и запустить скрипт
$ php client.php
Наблюдаем выхлоп на подобие такого
--- http://api.depositphotos.com/ ---
==== Try to GET "login" ==== 0.679s
==== Try to GET "getLegalsList" ==== 0.427s
Array
(
[timestamp] => 2015-06-23 04:36:54
[version] => 1.3
[type] => success
....

И далее вывод запрошенной команды. Успехов.