Как управлять книгами
Для управления книгами вы можете использовать следующие методы в API:
Создание книги
Этот запрос создает пустую книгу. Можно указать параметр integrationProjectId, тогда вы сможете использовать этот id в других запросах, вместо нативного id Метранпажа.
Обратите внимание на то, что книга создается с флагом isVisibleToUser = false
. При входе в приложение пользователь эту книгу не увидит.
Обновление данных книги
С помощью этого метода можно установить название книги, автора, isbn и другую информацию.
Загрузка исходного файла docx
Изменение видимости книги
Книга всегда создается в статусе "Скрыта" и пользователь ее не увидит в интерфейсе. Это нужно для корректной ассинхроной работы приложения, если пользователь что-то делает в интеграционной системе и уже находится в Метранпаже. Чтобы сделать книгу видимой - нужно использовать этот запрос.
Пример
Пример 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