Reemplazar el PDF de un flipbook y duplicarlo

Flipbooks

Cambia el PDF que hay detrás de un flipbook existente — subiendo un archivo o desde una URL — manteniendo su ID y su enlace para compartir, y crea copias en el servidor de cualquier flipbook.

APIs usadas en esta discusión

¿Hay algo incorrecto o desactualizado en esta guía?

Qué puedes hacer

Estos endpoints te permiten cambiar el PDF que hay detrás de un flipbook que ya creaste, o generar copias de él — todo en el servidor, sin recrear nada desde cero:

  • Reemplazar el PDF desde un archivo — sube un PDF nuevo mediante multipart form data.
  • Reemplazar el PDF desde una URL — pásale una URL al servidor y él descarga el PDF nuevo.
  • Duplicar un flipbook — crea una o más copias, cada una con su propio ID nuevo y su URL para compartir.

Ambos métodos de reemplazo mantienen el ID, la configuración y el enlace para compartir del flipbook — solo cambia el PDF que hay detrás.

Antes de empezar

  • Una clave de API — enviada en el encabezado X-Api-Key, o como Authorization: Bearer YOUR_API_KEY, en cada petición.
  • URL base: https://go.fliplink.me.
  • Los tres endpoints reciben el parámetro de ruta {flipbookId} — el ID numérico del flipbook, devuelto por create-by-file / create-by-url (como ID) o por list.
  • Reemplazar PDF (URL) y Duplicar envían su cuerpo como form-urlencoded (no JSON). Reemplazar PDF (archivo) envía multipart form data.

Reemplazar el PDF desde un archivo

Subida multipart. El servidor vuelve a fusionar automáticamente el PDF nuevo con cualquier portada o contraportada que siga adjunta al flipbook. El flipbook mantiene su ID, su configuración y su enlace para compartir.

curl -X PUT 'https://go.fliplink.me/api/replace-pdf/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -F 'File=@/path/to/file'

Respuesta:

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

Reemplazar el PDF desde una URL

Reemplaza el PDF de un flipbook existente por uno que el servidor descarga desde una URL que le indicas. El flipbook mantiene su ID, su configuración y su enlace para compartir.

curl -X PUT 'https://go.fliplink.me/api/replace-pdf-by-url/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'File=https://example.com/new.pdf'

Respuesta:

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

Duplicar un flipbook

Crea una o más copias del flipbook en el servidor — cada copia obtiene su propio ID nuevo y su URL para compartir. Count acepta de 1 a 500 y se acota en el servidor.

curl -X POST 'https://go.fliplink.me/api/duplicate/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Count=3'

Respuesta:

{
  "Result": "OK",
  "Count": 3,
  "Items": [
    {
      "ID": "93213",
      "URL": "https://go.fliplink.me/C73371B4-B041-4EBD-A518-1E5B5B56DA44"
    },
    {
      "ID": "93214",
      "URL": "https://go.fliplink.me/2F9A0C7D-6E51-4B22-A9F0-7D3C1E8B4A15"
    },
    {
      "ID": "93215",
      "URL": "https://go.fliplink.me/8B4E2A19-C037-45D6-9E1B-4A6F0D2C7E83"
    }
  ]
}

Errores posibles

Reemplazar PDF (archivo)PUT /api/replace-pdf/{flipbookId}:

  • Clave de API ausente o no válida → HTTP 401. Devuelve una página HTML 401 Unauthorized — no hay cuerpo JSON.
  • ID del ítem no encontrado o no perteneciente a tu clave → HTTP 200 con Message: "Item not found".
  • El archivo subido no es un PDF legible → HTTP 200 con Message: "File is not a valid PDF.".
  • La subida supera el tamaño máximo de archivo del plan → HTTP 413 con Message: "File exceeds the maximum allowed upload size.".

Reemplazar PDF (URL)PUT /api/replace-pdf-by-url/{flipbookId}:

  • Clave de API ausente o no válida → HTTP 401. Devuelve una página HTML 401 Unauthorized — no hay cuerpo JSON.
  • ID del ítem no encontrado o no perteneciente a tu clave → HTTP 200 con Message: "Item not found".
  • Campo del cuerpo desconocido o mal escrito → HTTP 200 con Message: "Unknown field(s) '…'. Expected: …".

DuplicarPOST /api/duplicate/{flipbookId}:

  • Clave de API ausente o no válida → HTTP 401. Devuelve una página HTML 401 Unauthorized — no hay cuerpo JSON.
  • ID del ítem no encontrado o no perteneciente a tu clave → HTTP 200 con Message: "Item not found".
  • Campo del cuerpo desconocido o mal escrito → HTTP 200 con Message: "Unknown field(s) '…'. Expected: …".

Discusiones relacionadas