Gestión de Feedback
Las submissions de feedback son el recurso principal en MagicFeedback. Cada submission registra un conjunto de respuestas para una integración y producto específicos.
Crear una submission
Sección titulada «Crear una submission»feedback = client.feedbacks.create({ "name": "Respuesta de encuesta de usuario", "type": "APP", "identity": "MAGICFORM", "answers": [ {"key": "nps", "value": "9"}, {"key": "reason", "value": "Rápido y confiable"}, ], "integrationId": "0eb9d270-6dd7-11ef-9987-21e04f383573", "companyId": "TU_COMPANY_ID", "productId": "TU_PRODUCT_ID",})print(feedback["id"])Campos requeridos
Sección titulada «Campos requeridos»| Campo | Tipo | Descripción |
|---|---|---|
name | string | Etiqueta legible para esta submission |
type | string | Tipo de fuente — ej. "APP", "DOCUMENT" |
identity | string | Identidad del renderer — ej. "MAGICFORM" |
integrationId | string | UUID de la integración a la que pertenece este feedback |
companyId | string | Tu identificador de empresa |
productId | string | El producto con el que se asocia este feedback |
Envoltura de valores de respuesta
Sección titulada «Envoltura de valores de respuesta»El SDK automáticamente envuelve un value de tipo string en una lista. Ambas formas son equivalentes:
{"key": "comment", "value": "Gran producto"}{"key": "comment", "value": ["Gran producto"]}Siempre puedes pasar una lista directamente si necesitas múltiples valores para una clave.
Listar todas las submissions
Sección titulada «Listar todas las submissions»feedbacks = client.feedbacks.get()Filtra los resultados con un dict estilo LoopBack (ver Consultas):
feedbacks = client.feedbacks.get({ "where": {"companyId": "TU_COMPANY_ID"}, "limit": 50,})Obtener una submission por ID
Sección titulada «Obtener una submission por ID»feedback = client.feedbacks.get_id("feedback-uuid-aqui")Pasa un filtro como segundo argumento para dar forma a los campos devueltos:
feedback = client.feedbacks.get_id("feedback-uuid-aqui", {"fields": {"answers": True}})Actualizar una submission
Sección titulada «Actualizar una submission»updated = client.feedbacks.update("feedback-uuid-aqui", { "name": "Etiqueta actualizada",})Solo se cambian los campos que pasas; el resto permanece sin cambios.
Eliminar una submission
Sección titulada «Eliminar una submission»client.feedbacks.delete("feedback-uuid-aqui")Adjuntar un archivo
Sección titulada «Adjuntar un archivo»Adjunta un archivo a una submission existente. El archivo se envía como una carga multipart.
attachment = client.feedbacks.upload_attachment( "feedback-uuid-aqui", file_path="/ruta/al/reporte.pdf",)Pasa argumentos opcionales para controlar el nombre de visualización y adjuntar metadatos adicionales:
attachment = client.feedbacks.upload_attachment( "feedback-uuid-aqui", file_path="/ruta/al/reporte.pdf", filename="reporte-q3.pdf", extra_data={"fuente": "crm", "año": 2026},)| Parámetro | Tipo | Descripción |
|---|---|---|
feedback_id | string | ID del feedback al que adjuntar el archivo |
file_path | string | Ruta absoluta o relativa al archivo en disco |
filename | string | None | Nombre de visualización en el panel — por defecto el nombre del archivo |
extra_data | dict | None | Cualquier dict JSON-serializable almacenado junto al adjunto |