Создание флипбука (из PDF или из URL)
ФлипбукиСоздавайте флипбук из загруженного вами PDF или из URL PDF, который скачивает сервер, и считывайте ID нового элемента, его URL просмотра и обновлённую квоту тарифа.
API, используемые в этом обсуждении
Что можно сделать
Создать флипбук из PDF можно двумя способами — в зависимости от того, где находится PDF:
- Загрузить файл напрямую — отправьте PDF как
multipart/form-data. - Указать URL — дайте URL PDF, и сервер скачает его за вас.
В любом случае файл сохраняется, генерируется миниатюра, регистрируется запись, и вы получаете обратно ID
нового элемента, его URL просмотра и обновлённую квоту тарифа. Используйте возвращённый ID для последующих
вызовов (set-meta, set-cta-primary, save-as-template и т. д.).
Перед началом
- API-ключ — передаётся в заголовке
X-Api-Keyили какAuthorization: Bearer YOUR_API_KEYв каждом запросе. - Все запросы идут на базовый URL
https://go.fliplink.me. - Создаёте вы флипбук или документ, выбирается необязательным полем
DocType: опустите его или отправьтеDocType=Flipbookдля флипбука (по умолчанию), либоDocType=Documentдля документа — FlipLink поддерживает оба. - Возвращаемые поля квоты (
Flipbooks_Count / Flipbooks_Max / Flipbooks_Left) отражают квоту вашего тарифа после создания.
Ни один из эндпоинтов не использует параметр пути — вы создаёте элемент, отправляя POST на сам эндпоинт, и
получаете обратно новый ID. Create by File использует multipart/form-data. Create by URL — form-urlencoded
(не JSON).
Создание из загруженного PDF
POST /api/create-by-file создаёт флипбук из загруженного PDF, отправленного как multipart/form-data. Файл
сохраняется, генерируется миниатюра, регистрируется запись. Единственное обязательное поле — File; Name,
Title и DocType необязательны. Максимальный размер файла зависит от тарифа (см. MaxFileSizeMB из who-am-i).
curl -X POST 'https://go.fliplink.me/api/create-by-file' \
-H 'X-Api-Key: YOUR_API_KEY' \
-F 'File=@/path/to/file' \
-F 'Name=My Document' \
-F 'Title=My Title' \
-F 'DocType=Flipbook'
DocType — это Flipbook (по умолчанию) или Document; отправьте DocType=Document, чтобы создать документ вместо флипбука.
Ответ:
{
"Result": "OK",
"ID": "90001",
"URL": "https://go.fliplink.me/view/<slug>",
"Flipbooks_Count": 12,
"Flipbooks_Max": 200,
"Flipbooks_Left": 188
}
Создание из URL PDF
POST /api/create-by-url создаёт флипбук из URL PDF. Сервер скачивает FileURL, загружает его в S3, генерирует
миниатюру и регистрирует запись. Тело — form-urlencoded. Единственное обязательное поле — FileURL; Name,
Title и DocType необязательны.
curl -X POST 'https://go.fliplink.me/api/create-by-url' \
-H 'X-Api-Key: YOUR_API_KEY' \
--data-urlencode 'FileURL=https://example.com/document.pdf' \
--data-urlencode 'Name=My Document' \
--data-urlencode 'Title=My Title' \
--data-urlencode 'DocType=Flipbook'
Исходный URL должен ответить в течение 60 с — медленные или недоступные источники завершаются ошибкой
Source URL timed out after 60s. Для ненадёжных источников предпочитайте /api/create-by-file.
Ответ:
{
"Result": "OK",
"ID": "90001",
"URL": "https://go.fliplink.me/view/<slug>",
"Flipbooks_Count": 12,
"Flipbooks_Max": 200,
"Flipbooks_Left": 188
}
Возможные ошибки
Create by File:
- Отсутствующий или неверный API-ключ → HTTP
401. Возвращается обычная HTML-страница Unauthorized — тела JSON нет. - Загруженный файл не является читаемым PDF → HTTP
200, сообщениеFile is not a valid PDF. - Загрузка превышает максимальный размер файла тарифа → HTTP
413, сообщениеFile exceeds the maximum allowed upload size.
Create by URL:
- Отсутствующий или неверный API-ключ → HTTP
401. Возвращается обычная HTML-страница Unauthorized — тела JSON нет. - Хост
FileURLприватный или не разрешён → HTTP200, сообщениеFileURL host is not allowed. - Неизвестное поле тела запроса или опечатка в нём → HTTP
200, сообщениеUnknown field(s) '…'. Expected: …
Примечания
- Значения
Flipbooks_Count / Flipbooks_Max / Flipbooks_Leftотражают квоту вашего тарифа после этого создания. - Сохраните возвращённый
ID— именно его вы передаёте в последующие вызовы (set-meta, set-cta-primary, save-as-template и другие).