Методы API PrintClick.ru

Формат выходных данных

Для работы с API доступны следующие типы данных:

Тип Описание
JSON Ответ от АПИ в виде JSON объекта.
JSONP Ответ от АПИ в виде JSON объекта передается в JavaScript функцию-обработчик. Обязательный GET параметр callback.
XML Ответ от АПИ в виде XML документа.

Чтобы задать формат выходных данных в URL запроса, после названия метода следует добавить название формата данных. Т.е. URL должен иметь следующий вид: http://api.printclick.ru/[название метода]/[формат выходных данных]?[параметры запроса]

Получение списка типов продуктов

get_categories: Метод для получения иерархии всех доступных типов продуктов.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Список категорий продуктов и подкатегорий. Структура: название группы и массив типов продуктов

Примеры ответов

JSON

{
    status: 200,
    data: [
        {
            group_name: "Визитки",
            products:[
                {
                    id: 42,
                    name: "Визитки для бизнеса",
                    alias: "business-cards"
                },
                {
                    id:43,
                    name: "Бесплатные визитки",
                    alias: "free-cards"
                },
                {
                    id: 45,
                    name: "Персональные визитки",
                    alias: "personal-cards"
                }
            ]
        }
    ]
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <group>
            <group_name>Визитки</group_name>
            <products>
                <category>
                    <id>42</id>
                    <name>Визитки для бизнеса</name>
                    <alias>business-cards</alias>
                </category>
                <category>
                    <id>43</id>
                    <name>Бесплатные визитки</name>
                    <alias>free-cards</alias>
                </category>
                <category>
                    <id>45</id>
                    <name>Персональные визитки</name>
                    <alias>personal-cards</alias>
                </category>
            </products>
        </group>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru

Получение списка тэгов для категории продуктов

get_tags: Метод для получения иерархии всех доступных типов тэгов для категории продуктов. Тэги позволяют организовать для пользователей удобный поиск нужного им макета.

Входные параметры:

Имя Тип Обязательный Описание
category Число Да Категория продуктов, для которой нужно получить список тэгов.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Список категорий тэгов для выбранного продукта. Структура: название группы тэгов и массив тэгов.

Возможные ошибки:

Статус Текст Описание
400 Задайте категорию Ошибка возникает, если не передан обязательный параметр category.
404 К сожаление ничего не найдено Ошибка возникает, если в указанной категории не найдены тэги.

Примеры ответов

JSON

{
    status: 200,
    data: [
        {
            group_name: "Тэги - Сфера деятельности",
            tags: [
                {
                    group_name: "Автосервисы, автосалоны и автоцентры",
                    tags: [
                        {
                            id: "212",
                            name: "Автосервисы / СТО / Ремонт авто"
                        },
                        {
                            id: "204",
                            name: "Грузоперевозки"
                        },
                        {
                            id: "207",
                            name: "Заказ автобуса / Микроавтобуса"
                        },
                        {
                            id: "205",
                            name: "Катера / Лодки"
                        },
                        {
                            id: "203",
                            name: "Такси"
                        }
                    ]
                },
                {
                    group_name: "Спорт, Фитнесс и Йога",
                    tags: [
                        {
                            id: "386",
                            name: "Горные лыжи / Сноуборд"
                        },
                        {
                            id: "394",
                            name: "Йога и медитация"
                        },
                        {
                            id: "392",
                            name: "Персональные тренеры"
                        }
                    ]
                }
            ]
        },
        {
            group_name: "Тэги - Цвета",
            tags: [
                {
                    group_name: "Цвет",
                    tags: [
                        {
                            id: "719",
                            name: "Бежевый"
                        },
                        {
                            id: "672",
                            name: "Белый"
                        },
                        {
                            id: "721",
                            name: "Бирюзовый"
                        }
                    ]
                }
            ]
        }
    ]
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <group>
            <group_name>Тэги - Сфера деятельности</group_name>
            <tags>
                <group>
                    <group_name>Автосервисы, Автоуслуги и Транспорт</group_name>
                    <tags>
                        <tag>
                            <id>212</id>
                            <name>Автосервисы / СТО / Ремонт авто</name>
                        </tag>
                        <tag>
                            <id>204</id>
                            <name>Грузоперевозки</name>
                        </tag>
                        <tag>
                            <id>206</id>
                            <name>Грузчики, Организация переездов</name>
                        </tag>
                        <tag>
                            <id>207</id>
                            <name>Заказ автобуса / Микроавтобуса</name>
                        </tag>
                    </tags>
                </group>
            </tags>
        </group>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru

Получение списка макетов

get_catalog: Метод для получения доступных макетов в указанной категории

Входные параметры:

Имя Тип Обязательный Описание
category Число Да Категория продуктов, для которой нужно получить список макетов.
page Число Нет Номер страницы в выдаче.
pagesize Число Нет Количество макетов на странице.
search Строка Нет Поисковая фраза, по которой можно выбрать макеты.
tags Строка Нет Идентификаторы тэгов, перечисленные через запятую. Будут выбраны макеты входящие в эту категорию.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Содержит два поля: total - общее количество макетов и items - массив макетов, содержащий идентификаторы и иконки макетов

Возможные ошибки:

Статус Текст Описание
400 Задайте категорию Ошибка возникает, если не передан обязательный параметр category.

Примеры ответов

JSON

{
    status: 200,
    data: {
        total: 80,
        items: [
            {
                id: "1030",
                previews: [
                    "http://img0.printclick.ru/upload/previews/2dff000/design750_file_6410813512268005.cdr.1.png",
                    "http://img1.printclick.ru/upload/previews/2dff000/design750_file_6410813512268005.cdr.2.png"
                ]
            },
            {
                id: "6445",
                previews: [
                    "http://img2.printclick.ru/upload/previews/1eacfc5/design208_file_1e8db8137785137.cdr.1.png",
                    "http://img3.printclick.ru/upload/previews/1eacfc5/design208_file_1e8db8137785137.cdr.2.png"
                ]
            }
        ]
    }
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <total>1743</total>
        <items>
            <maket>
                <id>585</id>
                <previews>
                    <preview>
                        http://img5.printclick.ru/upload/previews/166749e/design750_file_21894a13499477009.cdr.1.png
                    </preview>
                    <preview>
                        http://img6.printclick.ru/upload/previews/166749e/design750_file_21894a13499477009.cdr.2.png
                    </preview>
                </previews>
            </maket>
            <maket>
                <id>592</id>
                <previews>
                    <preview>
                        http://img2.printclick.ru/upload/previews/166749e/design750_file_c85ee6c1349950.cdr.1.png
                    </preview>
                    <preview>
                        http://img3.printclick.ru/upload/previews/166749e/design750_file_c85ee6c1349950.cdr.2.png
                    </preview>
                </previews>
            </maket>
        </items>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru

Получение стоимости продуктов

get_cost: Метод для получения стоимости продукта.

Входные параметры:

Имя Тип Обязательный Описание
category Число Да Категория продуктов, для которой нужно получить стоимость и тиражи.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Массив стоимости и размеров доступных тиражей, для выбранной категории продуктов.

Возможные ошибки:

Статус Текст Описание
400 Задайте категорию Ошибка возникает, если не передан обязательный параметр category.

Примеры ответов

JSON

{
    status: 200,
    data: [
        {
            count: 50,
            cost: 399
        },
        {
            count: 100,
            cost: 599
        },
        {
            count: 250,
            cost: 999
        }
    ]
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <printing>
            <count>50</count>
            <cost>399</cost>
        </printing>
        <printing>
            <count>100</count>
            <cost>599</cost>
        </printing>
        <printing>
            <count>250</count>
            <cost>999</cost>
        </printing>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru

Получение стоимости доставки

get_delivery: Метод для получения стоимости доставки продукта в город, либо уточнения города доставки.

Входные параметры:

Имя Тип Обязательный Описание
city Строка Да Город доставки
city_id Число Нет Внутренний идентификатор города доставки, если существует несколько населенных пунктов с одним названием.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Массив стоимости, типа и срока доставки в указанный населенный пункт, либо варианты областей нахождения города. Если не удается однозначно определить город по названию, то блок data содержит в себе блок need_selection состощий из пар: название области, где найден населенный пункт и идентификатор этого населенного пункта.

Возможные ошибки:

Статус Текст Описание
400 Задайте город Ошибка возникает, если не передан обязательный параметр city.

Примеры ответов

JSON

{
    status: 200,
    data: [
        {
            name: "Доставка курьером",
            cost: 255,
            days: 3
        },
        {
            name: "Доставка Почтой России",
            cost: 390,
            days: 20
        },
        {
            name: "Самовывоз",
            cost: 80,
            days: 2
        }
    ]
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <delivery>
            <name>Доставка курьером</name>
            <cost>255</cost>
            <days>3</days>
        </delivery>
        <delivery>
            <name>Доставка Почтой России</name>
            <cost>390</cost>
            <days>20</days>
        </delivery>
        <delivery>
            <name>Самовывоз</name>
            <cost>80</cost>
            <days>2</days>
        </delivery>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru

Запуск IFrame конструктора

Конструктор: Чтобы дать пользователю возможность сгенерировать свой шаблон, нуобходимо разместить конструктор сайта PrintClick.ru в IFrame. Конструтор доступен по адресу http://www.printclick.ru/api-constructor.html

Входные параметры:

Имя Тип Обязательный Описание
callback Строка Да Url хоста куда отправлять результат генерации.
css Строка Нет Url CSS файла, который будет изменять внешний вид конструтора.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Содержит идентификатор созданного шаблона и массив previews

Оформление заказа

make_order: Метод для оформления заказа пользователя

Входные параметры:

Имя Тип Обязательный Описание
partner Число Да Идентификатор партнера.
contacts Массив Да Контактные данные клиента
contacts.fullname Строка Да ФИО клиента
contacts.phone Строка Да Телефон клиента
contacts.email Строка Да Email клиента
contacts.address Строка Да Адрес клиента, внутри населенного пункта
contacts.message Строка Нет Комментарий от клиента
delivery Массив Да Способ доставки и населнный пункт.
delivery.type Строка Да Способ доставки
delivery.city Строка Да Населенный пункт
delivery.city_id Число Нет Идентификатор населенного пункта
batch Массив Да Корзина клиента. Массив содержащий список идентификаторов шаблонов и продуктов и их количество. Для шаблонов необходимо идентификатор передавать в поле id, для товаров в поле product_id. Количество в поле count
develop Число Нет Чтобы заказы не создавались в системе и не обрабатывались нашей службой поддержки. Во время разработки следует передавать этот параметр.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Содержит два поля: order - номер заказа и cost - стоимость заказа

Возможные ошибки:

Статус Текст Описание
400 Задайте свой реферальный код Ошибка возникает, если не передан обязательный параметр partner.
400 Задана не вся информация о заказе Ошибка возникает, если не переданы обязательные параметры.

Примеры ответов

JSON

{
    status: 200,
    data: {
        order: 66955,
        cost: 769
    }
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <order>66961</order>
        <cost>769</cost>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru

Получение списка сопутствующих товаров

get_products: Метод для получения товаров, которые можно купить вместе с типографической продукцией.

Успешный ответ:

Имя Тип Описание
status Число В случае успешного запроса возвращается 200
data Массив объектов Список товаров собранных в группы, а так же информация о стоимости. Если товара нет в наличии, то в поле cost будет соотвествующее сообщение

Примеры ответов

JSON

{
    status: 200,
    data: [
        {
            group_name: "Подставки под визитки",
            products: [
                {
                    id: "471",
                    name: "Прозрачная подставка под визитки",
                    alias: "transparent",
                    preview: "http://img0.printclick.ru/assets/templates/printclick/img/banners/stands1.jpg",
                    cost: [
                        {
                            count: 1,
                            cost: 190
                        },
                        {
                            count: 2,
                            cost: 380
                        },
                        {
                            count: 3,
                            cost: 570
                        }
                    ]
                },
                {
                    id: "473",
                    name: "Кожаная визитница",
                    alias: "leather",
                    preview: "http://img0.printclick.ru/assets/templates/printclick/img/banners/stands3.jpg",
                    cost: [
                        "Нет в наличии"
                    ]
                }
            ]
        }
    ]
}
    

XML

<?xml version="1.0" encoding="utf-8"?>
<root>
    <status>200</status>
    <data>
        <group>
            <group_name>Подставки под визитки</group_name>
            <products>
                <product>
                    <id>471</id>
                    <name>Прозрачная подставка под визитки</name>
                    <alias>transparent</alias>
                    <preview>http://img1.printclick.ru/assets/templates/printclick/img/banners/stands1.jpg</preview>
                    <cost>
                        <value>
                            <count>1</count>
                            <cost>190</cost>
                        </value>
                        <value>
                            <count>2</count>
                            <cost>380</cost>
                        </value>
                        <value>
                            <count>3</count>
                            <cost>570</cost>
                        </value>
                    </cost>
                </product>
                <product>
                    <id>473</id>
                    <name>Кожаная визитница</name>
                    <alias>leather</alias>
                    <preview>http://img7.printclick.ru/assets/templates/printclick/img/banners/stands3.jpg</preview>
                    <cost>
                        <value>Нет в наличии</value>
                    </cost>
                </product>
            </products>
        </group>
    </data>
</root>
    

к меню

Есть вопросы? Пиши на api@printclick.ru