ClonifyDevelopersIr al panel

Empezar

  • Autenticación
  • Errores
  • Paginación
  • Límites de peticiones
  • Webhooks
  • Para agentes de IA
  • Servidor MCP

Referencia de la API

  • Seguimiento de alumnos6
  • Entregas externas por API6
  • Chat con el clon1
  • Contactos y etiquetas5
  • Accesos de academias4
  • Conversaciones4
  • Catálogo de productos11
  • Ventas externas2
  • Conocimiento12
  • Multimedia4
  • Clones (versions en la API)3
  • Reuniones y reservas3
  • Webinars6
  • Cuenta y consumo1
Clonify

Catálogo de productos

GET/api/v1/products

Listar productos

Tu catálogo (la ficha comercial de cada producto). Por defecto solo los activos.

Parámetros de consulta

kindstring

Filtra por tipo (course, masterclass, live_event…).

publish_statusstring

Valores: published · draft · archived

include_inactiveboolean

true para incluir también los pausados.

bash
curl "https://www.clonify.com/api/v1/products" \
  -H "Authorization: Bearer clk_live_…"
POST/api/v1/products

Crear un producto

Crea una ficha en el catálogo del clon. Queda activa: el clon podrá recomendarla cuando encaje en la conversación.

Permiso de escritura

Cuerpo (JSON)

titlestring 3..200obligatorio
descriptionstring 40..4000obligatorio
pricenumber | null

Omitido o null = «consultar con el creador».

currencystring ISO-3

ISO de 3 letras. Por defecto EUR.

checkout_urlstring (URL HTTP(S), max. 1000) | null
tagsstring[]obligatorio

Tipo(s) del producto: curso, masterclass, libro, comunidad, coaching… Al menos uno.

bash
curl -X POST "https://www.clonify.com/api/v1/products" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"…","description":"…","tags":["…"]}'
GET/api/v1/products/{id}

Leer un producto

La ficha completa de un producto, con sus FAQs incluidas.

Parámetros de ruta

idintegerobligatorio
bash
curl "https://www.clonify.com/api/v1/products/1" \
  -H "Authorization: Bearer clk_live_…"
PATCH/api/v1/products/{id}

Editar un producto

Solo se tocan los campos que envíes. Cambiar título, descripción o tipos re-indexa el producto para el matching del clon.

Permiso de escritura

Parámetros de ruta

idintegerobligatorio

Cuerpo (JSON)

replay_visibilitystring

Histórico disponible en cursos, Actualizaciones y repeticiones de directos. all permite todo el histórico; since_joined solo el contenido desde la entrada. Las renovaciones conservan esa fecha; al terminar el acceso se cierra el contenido y una nueva suscripción comienza otra ventana. Omitirlo conserva el ajuste actual. GET devuelve replay_visibility.Valores: all · since_joined

titlestring 3..200
descriptionstring 40..4000
pricenumber | null

null = «consultar con el creador».

currencystring ISO-3
checkout_urlstring (URL HTTP(S), max. 1000) | null
cta_labelstring 0..60 | null

Texto del botón de la tarjeta. null = botón genérico.

tagsstring[]
is_activeboolean

false pausa el producto comercialmente (el clon deja de recomendarlo).

publish_statusstring

Valores: published · draft · archived

bash
curl -X PATCH "https://www.clonify.com/api/v1/products/1" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"replay_visibility":"all","title":"…"}'
POST/api/v1/products/{id}/entries/import

Importar entradas de contenido

Añade de 1 a 50 entradas de texto a un producto existente (course, masterclass, capsules o downloadable), en una única operación. No crea productos ni cambia precios, accesos o el estado del producto, y no envía avisos. HTML saneado, máximo 50.000 caracteres por entrada y 3 MB por petición. Cada entrada queda en borrador salvo status=published. published_at conserva la fecha histórica; no programa la publicación. Una repetición idéntica devuelve 200 y replayed=true; la primera importación devuelve 201. Reutilizar external_id con otro contenido devuelve 409: esta operación no sincroniza correcciones.

Permiso de escritura

Parámetros de ruta

idintegerobligatorio

Cuerpo (JSON)

external_idstring 1..200obligatorio

Identificador estable del lote dentro de este producto. Reutilízalo al reintentar.

collection_titlestring 1..200

Título opcional de un módulo nuevo que agrupa estas entradas.

entriesobject[]obligatorio

Entradas ordenadas con external_id único dentro del lote, title y html obligatorios; description, published_at (ISO 8601 con zona horaria) y status (draft por defecto o published) opcionales. Conserva exactamente el mismo contenido al reintentar. category (hasta 80 caracteres) y summary_html (hasta 8.000 caracteres, solo negrita y cursiva) son opcionales. Las etiquetas b/i se convierten a strong/em; se eliminan enlaces, estilos y contenido ejecutable.

bash
curl -X POST "https://www.clonify.com/api/v1/products/1/entries/import" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"…","entries":[{"…":"…"}]}'
json
{ "data": { "product_id": 172, "external_id": "edition-2026-09-11", "module_id": 80, "entries": [{ "external_id": "article-1", "unit_id": 501, "status": "draft" }], "replayed": false } }
GET/api/v1/products/{id}/entries/import

Consultar una importación

Devuelve el recibo original con los identificadores de las entradas creadas. Solo consulta importaciones de la cuenta de la llave. 404 si no existe. No refleja modificaciones posteriores de las entradas.

Parámetros de ruta

idintegerobligatorio

Parámetros de consulta

external_idstring 1..200obligatorio

Identificador del lote utilizado al importar.

bash
curl "https://www.clonify.com/api/v1/products/1/entries/import" \
  -H "Authorization: Bearer clk_live_…"
PATCH/api/v1/products/{id}/entries/import

Actualizar la presentación de entradas

Actualiza únicamente categoría y resumen de entradas ya importadas. Conserva cuerpo, fechas, estado, accesos y recibo original. Operación atómica, repetible y limitada a la cuenta y producto de la llave. null elimina un campo; omitirlo lo conserva.

Permiso de escritura

Parámetros de ruta

idintegerobligatorio

Cuerpo (JSON)

external_idstring 1..200obligatorio

Identificador del lote original.

entriesobject[]obligatorio

De 1 a 50 entradas con external_id original y category o summary_html. No se permiten entradas repetidas.

bash
curl -X PATCH "https://www.clonify.com/api/v1/products/1/entries/import" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"…","entries":[{"…":"…"}]}'
GET/api/v1/products/{id}/faqs

Listar FAQs de un producto

Las respuestas que enseñan al clon a resolver dudas y objeciones sobre ese producto.

Parámetros de ruta

idintegerobligatorio
bash
curl "https://www.clonify.com/api/v1/products/1/faqs" \
  -H "Authorization: Bearer clk_live_…"
POST/api/v1/products/{id}/faqs

Crear FAQ de producto

Cuando pregunten algo parecido SOBRE ese producto, el clon responderá lo indicado.

Permiso de escritura

Parámetros de ruta

idintegerobligatorio

Cuerpo (JSON)

questionstring 3..300obligatorio
answerstring 1..4000obligatorio
answer_modestring

Por defecto 'free': el clon responde con su voz apoyándose en tu texto (la FAQ es guía). 'contexto' lo fija con más fidelidad (enlaces, pasos y datos se respetan).Valores: free · contexto

actionsobject[]

Acciones al dispararse: {type: asset|product|external_link|video_embed|escalate_offer, …}.

bash
curl -X POST "https://www.clonify.com/api/v1/products/1/faqs" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"question":"…","answer":"…"}'
DELETE/api/v1/products/{id}/faqs/{faqId}

Borrar FAQ de producto

Borra la FAQ PERMANENTEMENTE. No hay papelera: si fue un error, vuelve a crearla.

Permiso de borrado

Parámetros de ruta

idintegerobligatorio
faqIdintegerobligatorio
bash
curl -X DELETE "https://www.clonify.com/api/v1/products/1/faqs/1" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
json
{ "id": 51, "product_id": 172, "deleted": true }
DELETE/api/v1/products/{id}

Borrar un producto

Borra el producto PERMANENTEMENTE, con sus FAQs. Para dejar de recomendarlo sin perderlo, mejor PATCH con is_active=false (pausa) o publish_status='archived'.

Permiso de borrado

Parámetros de ruta

idintegerobligatorio
bash
curl -X DELETE "https://www.clonify.com/api/v1/products/1" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
json
{ "id": 172, "deleted": true }