Перейти к содержанию

Как управлять книгами

Для управления книгами вы можете использовать следующие методы в API:

Создание книги

Документация OpenAPI

Этот запрос создает пустую книгу. Можно указать параметр integrationProjectId, тогда вы сможете использовать этот id в других запросах, вместо нативного id Метранпажа.

Обратите внимание на то, что книга создается с флагом isVisibleToUser = false. При входе в приложение пользователь эту книгу не увидит.

Обновление данных книги

Документация OpenAPI

С помощью этого метода можно установить название книги, автора, isbn и другую информацию.

Загрузка исходного файла docx

Документация OpenAPI

Изменение видимости книги

Документация OpenAPI

Книга всегда создается в статусе "Скрыта" и пользователь ее не увидит в интерфейсе. Это нужно для корректной ассинхроной работы приложения, если пользователь что-то делает в интеграционной системе и уже находится в Метранпаже. Чтобы сделать книгу видимой - нужно использовать этот запрос.

Пример

book-manipulation

Пример hurl сценария создания пользователя, книги, и получения авторизационной ссылки с последующим перенаправлением на экран редактирования книги:

POST {{host}}integrations/users
X-API-KEY: {{api_key}}
{
  "integrationUserId": "{{integration_user_id}}"
}
HTTP 200

POST {{host}}integrations/books/create
X-API-KEY: {{api_key}}
{
  "integrationUserId": "{{integration_user_id}}",
  "integrationProjectId": "{{integration_book_id}}"
}
HTTP 201
[Captures]
book_id: jsonpath "$.id"

POST {{host}}integrations/books/{{integration_book_id}}?isIntegrationProjectId=true
X-API-KEY: {{api_key}}
{
  "title": "test title",
  "authorFirstName": "test",
  "authorLastName": "author"
}
HTTP 200

POST {{host}}integrations/books/{{integration_book_id}}/docx?isIntegrationProjectId=true
X-API-KEY: {{api_key}}
[MultipartFormData]
file: file,assets/simple.docx;
HTTP 200

POST {{host}}integrations/books/{{integration_book_id}}/visibility?isIntegrationProjectId=true
X-API-KEY: {{api_key}}
{
  "isVisibleToUser": true
}
HTTP 200

# NOTE REDIRECT: there should be a metranpage id to redirect to
POST {{host}}integrations/users/auth
X-API-KEY: {{api_key}}
{
  "integrationUserId": "{{integration_user_id}}",
  "redirectTo": "books/{{book_id}}/markup" 
}
HTTP 200

Запуск этого сценария выполняется:

hurl --verbose --variables-file integration-local.vars integration-create-book.hurl