FlipLink

Процесс согласования

Согласование

Добавляйте кнопку запроса согласования в просмотрщик документа и настраивайте шаблоны писем, которые использует процесс согласования, — всё через API.

API, используемые в этом обсуждении

Что-то в этом руководстве неточно или устарело?

Что можно сделать

Процесс согласования в FlipLink позволяет зрителям запрашивать согласование документа. Его настраивают два эндпоинта:

  • Добавить кнопку запроса согласования в просмотрщик. Её включение запускает процесс запроса согласования.
  • Задать шаблоны писем, которые использует процесс согласования, — письма запроса, напоминания и отправки.

Процесс согласования применяется только к элементам-документам — элементам, созданным с DocType=document. Для обычных флипбуков он недоступен.

Перед началом

Понадобится:

  • API-ключ — передаётся в заголовке X-Api-Key или как Authorization: Bearer YOUR_API_KEY в каждом запросе.
  • {flipbookId} — числовой ID настраиваемого документа. Он возвращается из create-by-file / create-by-url (как ID) или из list.
  • Все запросы идут на базовый URL https://go.fliplink.me.

Оба эндпоинта принимают тело в формате form-urlencoded (не JSON).

Добавление кнопки согласования

PUT /api/set-approval-button/{flipbookId} добавляет кнопку запроса согласования в просмотрщик. Её включение запускает процесс запроса согласования.

curl -X PUT 'https://go.fliplink.me/api/set-approval-button/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsApprovalButton=true' \
  --data-urlencode 'ApprovalButtonText=Request approval' \
  --data-urlencode 'ApprovalButtonColor=#0055FF' \
  --data-urlencode 'ApprovalButtonTextColor=#FFFFFF'

Поля:

  • IsApprovalButtontrue, чтобы показать кнопку запроса согласования, false, чтобы скрыть её.
  • ApprovalButtonText — надпись на кнопке.
  • ApprovalButtonColor — цвет фона кнопки в виде hex-значения с ведущим # (например, #0055FF). По умолчанию #000000. Значение сохраняется как есть; API его не проверяет.
  • ApprovalButtonTextColor — цвет текста кнопки в виде hex-значения с ведущим # (например, #FFFFFF). По умолчанию #FFFFFF. Значение сохраняется как есть; API его не проверяет.

Ответ:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Настройка шаблонов писем согласования

PUT /api/set-approval-email-templates/{flipbookId} задаёт шаблоны писем, используемые процессом согласования. У каждого поля есть встроенный текст по умолчанию; если оставить поле пустым, этот текст по умолчанию сохранится.

Текст шаблона может содержать merge-токены в форме ##TOKEN##, которые заменяются при отправке письма — например, ##DOCUMENT_TITLE## подставляет заголовок документа.

curl -X PUT 'https://go.fliplink.me/api/set-approval-email-templates/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailApproveRequestSubject=Approval needed: ##DOCUMENT_TITLE##' \
  --data-urlencode 'EmailApproveRequestBody=' \
  --data-urlencode 'EmailApproveRemindSubject=' \
  --data-urlencode 'EmailApproveRemindBody=' \
  --data-urlencode 'EmailApproveSubmitSubject=' \
  --data-urlencode 'EmailApproveSubmitBody='

Ответ:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Возможные ошибки

  • Отсутствующий или неверный API-ключ → HTTP 401. Возвращается обычная HTML-страница Unauthorized — тела JSON нет. Проверьте, что заголовок X-Api-Key присутствует и указан верно.
  • ID элемента не найден или не принадлежит вашему ключу → HTTP 200 с Message: "Item not found".
  • Неизвестное поле тела запроса или опечатка в нём → HTTP 200 с Message: "Unknown field(s) '…'. Expected: …".

Примечания

  • В эндпоинте шаблонов писем у каждого поля есть встроенный текст по умолчанию; отправка пустого значения для поля сохраняет текст по умолчанию этого шаблона.
  • Текст шаблонов писем поддерживает merge-токены ##TOKEN## (например, ##DOCUMENT_TITLE## для заголовка документа), подставляемые при отправке.
  • Цвета кнопки (ApprovalButtonColor, ApprovalButtonTextColor) — это hex-значения с ведущим #, сохраняются как есть без проверки; значения по умолчанию — #000000 и #FFFFFF.