Editus API (0.0.1)

Download OpenAPI specification:Download

API Support: api@editus.ru

Эдитус API позволяет использовать сервис печати книг Эдитус в качестве производственной и исполнительной сети. API обеспечивает доступ к тем же функциям, которые Эдитус использует внутри компании для нормализации файлов, отправки заданий на печать и доставки тиражей по всей России и за рубеж.

Эдитус API — это RESTful API, который взаимодействует с сообщениями, закодированными в формате JSON. Связь защищена с помощью HTTPS.

Демонстрация сервиса: https://editus.ru/article/online

Подключение

  1. подайте заявку на подключение
  2. заключите договор с Эдитус
  3. получите client_id и client_secret
  4. выберите способ интеграции и реализуйте его

Схема работы

  1. Пользователь выбирает параметры книги и оплачивает заказ
  2. Партнер передает полученные параметры и ссылки на файлы книги
  3. Формируется заказ на печать и доставку тиража
  4. В личном кабинете отслеживается статус заказа по каждому этапу работ

Авторизация

Взаимодействие с сервисом требует клиентской авторизации. Авторизация клиентов обеспечивается с применением протокола OAuth 2.0.

Для получения токена необходимо отправить POST-запрос на URL: https://api.editus.ru/oauth/token

Разрешенные параметры и их возможные значения:

grant_type: тип аутентификации, доступное значение: client_credentials;

client_id: идентификатор клиента, равен Account;

client_secret: секретный ключ клиента, равен Secure password.

В ответ на запрос доступа будет возвращена следующая информация:

access_token: jwt-токен;

token_type: тип токена (всегда принимает значение "bearer");

expires_in: срок действия токена (по умолчанию 3600 секунд);

Далее при обращении к методам сервиса полученный токен передается в заголовке запроса в следующем виде:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJvcmRlcjphbGw...

Получить информацию

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

query Parameters
block_chroma
required
string (block_chroma)
Enum: "bw" "fc"

Цветность блока

  • bw - черно-белая печать
  • fc - цветная печать
paper_type
required
string (paper_type)
Enum: "offset-80" "kolotek-120" "kolotek-90" "melovka-130"

Тип бумаги

Для черно-белой печати:

  • offset-80 - Офсет 80гр/м2

Для цветной печати:

  • kolotek-120 - Колотек 120гр/м2

Для любой печати:

  • kolotek-90 - Колотек 90гр/м2
  • melovka-130 - Меловка 130гр/м2
paper_format
required
string (paper_format)
Enum: "a4" "a5" "a6" "digest" "letizia" "square"

Формат бумаги

  • a4 - A4 (210x297)
  • a5 - A5 (148x210)
  • a6 - A6 (105x148)
  • digest - Digest (170x240)
  • letizia - Letizia (130x190)
  • square - Square (210x210)
page_count
required
integer (page_count)

Количество страниц.

Минимальное и максимальное количество зависит от выбранного типа крепления.

binding
required
string (binding)
Enum: "staple-binding" "adhesive-bonding" "adhesive-bonding-h" "binding-with-sewing"

Крепление

Название Мин кол-во стр Макс кол-во стр Множитель Значение
Мягкая обложка
Брошюровка скобой 8 96 4 staple-binding
Клеевое скрепление 80 560 2 adhesive-bonding
Твердая обложка
Клеевое / Втачку 4 560 2 adhesive-bonding-h
Скрепление с шитьем 64 800 4 binding-with-sewing
has_isbn
required
boolean (has_isbn)

Издательский пакет

circulation
required
integer (circulation) [ 1 .. 300 ]

Тираж (от 1 до 300)

При наличии Издательского пакета (has_isbn: true) Тираж должен учитывать 16 обязательных экземпляров книги в РКП (Федеральный Закон "Об обязательном экземпляре документов").

delivery_type
required
string (delivery_type)
Enum: "pickup" "courier" "pvz"

Тип доставки

  • pickup - самовывоз
  • courier - курьерская доставка (СДЭК)
  • pvz - ПВЗ (СДЭК)
delivery_postal_code
string (delivery_postal_code)

Почтовый индекс (Адрес получения)

Обязателен если delivery_type !== "pickup"

header Parameters
Accept
required
string
Value: "application/json"
Authorization
required

Responses

Response samples

Content type
application/json
{
  • "cover_requirements": {
    },
  • "weight": 1000,
  • "delivery_price": 1000,
  • "print_price": 1000,
  • "total": 2000,
  • "book_parameters": {
    }
}

Создать заказ на печать

Метод позволяет создать заказ на печать.

header Parameters
Accept
required
string
Value: "application/json"
Authorization
required
Request Body schema: application/json
block_url
required
string

URL-адрес файла блока.

Требования к файлу:

  • Версия PDF (print quality, PDF/X-1a:2001)
  • Количество страниц в диапазоне
  • Размеры страниц не отличаются внутри документа
  • Размер страниц не отличается от стандартных
  • Разрешение изображений не менее 200 dpi
  • Отсутствуют слои
cover_url
required
string

URL-адрес файла обложки.

Требования к файлу:

  • Размер согласно данным полученным с помощью /get-info
  • Количество страниц равно 1
  • Разрешение изображений не менее 300 dpi
book_name
required
string

Название книги.

page_count
required
integer (page_count)

Количество страниц.

Минимальное и максимальное количество зависит от выбранного типа крепления.

paper_format
required
string (paper_format)
Enum: "a4" "a5" "a6" "digest" "letizia" "square"

Формат бумаги

  • a4 - A4 (210x297)
  • a5 - A5 (148x210)
  • a6 - A6 (105x148)
  • digest - Digest (170x240)
  • letizia - Letizia (130x190)
  • square - Square (210x210)
paper_type
required
string (paper_type)
Enum: "offset-80" "kolotek-120" "kolotek-90" "melovka-130"

Тип бумаги

Для черно-белой печати:

  • offset-80 - Офсет 80гр/м2

Для цветной печати:

  • kolotek-120 - Колотек 120гр/м2

Для любой печати:

  • kolotek-90 - Колотек 90гр/м2
  • melovka-130 - Меловка 130гр/м2
block_chroma
required
string (block_chroma)
Enum: "bw" "fc"

Цветность блока

  • bw - черно-белая печать
  • fc - цветная печать
binding
required
string (binding)
Enum: "staple-binding" "adhesive-bonding" "adhesive-bonding-h" "binding-with-sewing"

Крепление

Название Мин кол-во стр Макс кол-во стр Множитель Значение
Мягкая обложка
Брошюровка скобой 8 96 4 staple-binding
Клеевое скрепление 80 560 2 adhesive-bonding
Твердая обложка
Клеевое / Втачку 4 560 2 adhesive-bonding-h
Скрепление с шитьем 64 800 4 binding-with-sewing
lamination
required
string (lamination)
Enum: "matte" "glossy"

Ламинация

  • matte - матовая
  • glossy - глянцевая
circulation
required
integer (circulation) [ 1 .. 300 ]

Тираж (от 1 до 300)

При наличии Издательского пакета (has_isbn: true) Тираж должен учитывать 16 обязательных экземпляров книги в РКП (Федеральный Закон "Об обязательном экземпляре документов").

has_isbn
required
boolean (has_isbn)

Издательский пакет

delivery_type
required
string (delivery_type)
Enum: "pickup" "courier" "pvz"

Тип доставки

  • pickup - самовывоз
  • courier - курьерская доставка (СДЭК)
  • pvz - ПВЗ (СДЭК)
delivery_address
string (delivery_address)

Адрес получения

Обязателен если delivery_type !== "pickup"

delivery_postal_code
string (delivery_postal_code)

Почтовый индекс (Адрес получения)

Обязателен если delivery_type !== "pickup"

delivery_receiver_name
string (delivery_receiver_name)

ФИО получателя

Обязателен если delivery_type !== "pickup"

delivery_receiver_phone
string (delivery_receiver_phone)

Номер телефона получателя.

Должен передаваться в международном формате: код страны (для России +7) и сам номер (10 и более цифр)

Обязателен если delivery_type !== "pickup"

Responses

Request samples

Content type
application/json
{
  • "book_name": "Война и мир",
  • "page_count": 0,
  • "paper_format": "a4",
  • "paper_type": "offset-80",
  • "block_chroma": "bw",
  • "binding": "staple-binding",
  • "lamination": "matte",
  • "circulation": 1,
  • "has_isbn": true,
  • "delivery_type": "pickup",
  • "delivery_address": "string",
  • "delivery_postal_code": "string",
  • "delivery_receiver_name": "string",
  • "delivery_receiver_phone": "string"
}

Response samples

Content type
application/json
{
  • "order_id": 1,
  • "completion_date": "20.02.2023",
  • "weight": 1000,
  • "delivery_price": 1000,
  • "print_price": 1000,
  • "total": 2000,
  • "book_parameters": {
    }
}

Уведомление об успешной оплате

Метод позволяет подтвердить факт оплаты заказа.

path Parameters
order_id
required
integer

Номер заказа в системе

header Parameters
Accept
required
string
Value: "application/json"
Authorization
required

Responses

Response samples

Content type
application/json
{
  • "order_id": 1,
  • "status": "PAID"
}

Получить статус заказа

Метод позволяет получить текущий статус заказа в системе.

path Parameters
order_id
required
integer

Номер заказа в системе

header Parameters
Accept
required
string
Value: "application/json"
Authorization
required

Responses

Response samples

Content type
application/json
{
  • "order_id": 1,
  • "status": "DELIVERING",
  • "track_numbers": [
    ],
  • "completion_date": "20.02.2023"
}