Joomag API 2.0 Документация

Выпуски

Создать выпуск из PDF

Создает выпуск журнала из PDF файла.

POST /api/2.0/magazines/<id>
Параметр Тип Разъяснение
pdf Файл PDF файл для создания журнала
volume Строка Том создаваемого выпуска
description Строка Описание создаваемого выпуска
keywords Строка список ключевых слов через запятую, которые должны быть связаны с выпуском
category int Категория выпуска, константа из список Категорий Журнала
allow_print bool Логический флажок, указывающий на возможность печати, должен иметь значение no или yes
allow_download bool Логический флажок, указывающий на возможность скачивания, должен иметь значение no или yes
privacy Строка Уровень конфиденциальности выпуска может быть private либо unlisted

Например:

# Include the API wrapper class
require "JoomagREST.php";

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the magazine
$magazineID = "M0250759001409245540";

# Path to the PDF file
$pdf = __DIR__ . "/magazine.pdf";

# Make the call to the client.
$result = $jmClient->createIssueFromPDF( $magazineID, $pdf, array(
    "volume" => "Jul 2014",
    "description" => "Magazine description goes here...",
    "keywords" => "Comma,separated,keywords",
    "category" => 1,
    "allow_print" => 'yes',
    "allow_download" => 'no'
));

Ответ:

issueTempID - временное ID на период конвертации PDF в издание Joomag

{
  "error": 0,
  "message": "OK",
  "data": {
    "issueTempID": "1d6bb45be5cf7e3778985467bea009c4"
  }
}

Получить статус конвертации издания

Возвращает текущую стадию конвертации из PDF в Joomag.

GET /api/2.0/magazines/<id>/issues/<issueTempID>/status
GET /api/2.0/issues/<issueTempID>/status
Параметр Тип Разъяснение
issueTempID Строка Это временный ID на период конвертации PDF в издание Joomag. Использовать issueTempID из createIssuePDF ответа.

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# Make the call to the client.
$result = $jmClient->getIssueStatus( $issueTempID );

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": [
    {
      "status": "ready",
      "ID": "0806746001433247707",
      "url": "http://www.joomag.com/magazine/mag/0806746001433247707",
      "cover": "https://s1.joomag.net/res_mag/3/3222/3222314/287017/thumbs/6637753.jpg?1433247710",
      "pages_count": 2
    }
  ]
}

Получить детали журнала

Возвращает свойства запрошенных журналов.

GET /api/2.0/magazines/<id>/issues/<id>
GET /api/2.0/issues/<id>

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0980693001409324380";

# Make the call to the client.
$result = $jmClient->getIssueDetails( $issueID );

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": {
    "ID": "0980693001409324380",
    "title": "Cars Magazine Pro Jul 2014",
    "volume": "Jul 2014",
    "description": "Magazine description goes here...",
    "language": "es",
    "type": 1,
    "category": 8,
    "secondary_category": null,
    "is_published": true,
    "privacy": "private",
    "creation_date": "2014-08-29 09:59:40",
    "page_height": 841,
    "page_width": 595,
    "preview_pages": null,
    "adult_content": false,
    "pages_count": 6,
    "cover": "http:\/\/s1.joomag.com\/res_mag\/0\/178\/178119\/316952\/thumbs\/7463808.jpg",
    "mobile_support": true,
    "allow_download": false,
    "allow_print": false,
    "tags": ["keywords", "comma", "separated"]
  }
}

Получить код вставки

Получить HTML код выпуска запрошенного журнала.

GET /api/2.0/magazines/<id>/issues/<id>/embed-code
POST /api/2.0/issues/<id>/embed-code
Параметр Тип Разъяснение
width int Ширина выпуска для вставки. Может быть либо в процентах (например: 100%) или в пикселях (например: 500px).
height int Высота выпуска для вставки. Может быть либо в процентах (например: 100%) или в пикселях (например: 500px).
start_page int Номер страницы, с которой будет открываться вставка.
auto_flip int Продолжительность авто переворачивания страниц. Пропустить, отменить авто переворачивание.
background_color Строка Цвет фона для вставки. Hexidecimal RGB цвета (например: e2e2d1).

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0980693001409324380";

# Make the call to the client.
$result = $jmClient->get("issues/$issueID/embed-code", array(
    'width' => 800,
    'height' => 600,
    'start_page' => 2,
    'auto_flip' => 5,
    'background_color' => '567147'
));

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": {
    "embed_code": "<iframe name=\"Joomag_embed_47ccbf7a-6e78-4755-9920-53d568472b51\" style=\"width:800px;height:600px\" width=\"800px\" height=\"600px\" hspace=\"0\" vspace=\"0\" frameborder=\"0\" src=\"http:\/\/www.joomag.com\/magazine\/paid-test-clone-\/0827766001386622771?p=2&amp;e=1&amp;autoFlipDelay=5&amp;embedInfo=;solid,567147\"><\/iframe>"
  }
}

Удаление выпуска

Удалить запрошенный выпуск журнала.

DELETE /api/2.0/magazines/<id>/issues/<id>
DELETE /api/2.0/issues/<id>

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0727865001409319307";

# Make the call to the client.
$result = $jmClient->deleteIssue( $issueID );

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": []
}

Обновить детали выпуска

Обновляет свойства запрошенного выпуска журнала.

PUT /api/2.0/magazines/<id>/issues/<id>
PUT /api/2.0/issues/<id>
Параметр Тип Разъяснение
volume Строка Том выпуска
description Строка Описание выпуска
secondary_category int Вторичная категория выпуска, константа из список категорий журнала
adult_content bool Логический флажок, указывающий на наличие контента для "взрослых", должен иметь значение no или yes
allow_print bool
allow_download bool

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0980693001409324380";

# Make the call to the client.
$result = $jmClient->updateIssue( $issueID, array(
    'volume' => 'Aug 2014',
    'description' => 'The newest issue',
    'adult_content' => 'yes',
    'allow_print' => 'yes',
    'allow_download' => 'yes'
));

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": {
    "ID": "0980693001409324380",
    "title": "Cars Magazine Pro Jul 2014",
    "volume": "Aug 2014",
    "description": "The newest issue",
    "language": "es",
    "type": 1,
    "category": 8,
    "secondary_category": null,
    "price": 0,
    "privacy": "unlisted",
    "creation_date": "2014-08-29 09:59:40",
    "page_height": 841,
    "page_width": 595,
    "preview_pages": null,
    "adult_content": true,
    "pages_count": 6,
    "cover": "http:\/\/s1.joomag.com\/res_mag\/0\/178\/178119\/316952\/thumbs\/7463808.jpg",
    "mobile_support": true,
    "allow_download": true,
    "allow_print": true,
    "tags": ["keywords", "comma", "separated"]
  }
}

Опубликовать выпуск

Публикует выпуск запрошенного журнала

PUT /api/2.0/issues/<id>/publish-state
Параметр Тип Разъяснение
privacy Строка Уровень конфиденциальности выпуска может быть private либо unlisted

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0649338001409248394";

# Make the call to the client.
$result = $jmClient->publishIssue( $issueID, 'unlisted' );

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": []
}

Отменить публикацию выпуска

Отменяет публикацию выпуска запрошенного журнала.

DELETE /api/2.0/issues/<id>/publish-state

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0727865001409319307";

# Make the call to the client.
$result = $jmClient->unpublishIssue( $issueID );

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": []
}

Проверить статус публикации

Проверяет, опубликован ли выпуск или нет.

GET /api/2.0/issues/<id>/publish-state

Например:

# Include the API wrapper class (see "Libraries" for instructions)
require 'JoomagREST.php';

# Instantiate the client.
$jmClient = new JoomagREST(
    'api_de81b9eb3ff797796edc0cd00020b6c8',
    'sec_e8ff4e7e74c64fcfd63dcf728040ba3e5b29aa398e5cc1cb414011661c75fd19'
);

# ID of the issue
$issueID = "0727865001409319307";

# Make the call to the client.
$result = $jmClient->getIssuePublishState( $issueID );

Ответ:

{
  "error": 0,
  "message": "OK",
  "data": {
    "is_published": true
  }
}