Ir al contenido

Referencia de la API

El punto de entrada principal. Importa e instancia una vez; reutiliza el cliente en toda tu aplicación.

from magicfeedback_sdk import MagicFeedback
client = MagicFeedback(
user="tu@ejemplo.com",
password="tu-contraseña",
base_url="https://api.magicfeedback.io", # opcional
)
ParámetroTipoPor defectoDescripción
userstringCorreo de la cuenta
passwordstringContraseña de la cuenta
base_urlstring"https://api.magicfeedback.io"URL raíz de la API
PropiedadTipoDescripción
feedbacksFeedbackAPIOperaciones de submissions de feedback
contactsContactsAPIOperaciones de contactos CRM
campaignsCampaignsAPIOperaciones de campañas y sesiones
productsProductsAPIListado de productos
metricsMetricsAPIRecuperación de métricas
integrations_questionsIntegrationsQuestionsAPIPreguntas para una integración
reportsReportsAPIEndpoints de reportes

Configura el logger interno del SDK.

import logging
client.set_logging(logging.DEBUG)

Acceso via client.feedbacks.

Retorna el objeto de feedback creado. Ver Gestión de Feedback.

Retorna una lista de objetos de feedback.

Retorna un único objeto de feedback.

Retorna el objeto de feedback actualizado.

Retorna el objeto de feedback eliminado.

upload_attachment(feedback_id, file_path, filename=None, extra_data=None)

Sección titulada «upload_attachment(feedback_id, file_path, filename=None, extra_data=None)»
ParámetroTipoDescripción
feedback_idstringID del feedback al que adjuntar el archivo
file_pathstringRuta al archivo en disco
filenamestring | NoneNombre de visualización — por defecto el nombre del archivo
extra_datadict | NoneDict JSON-serializable almacenado junto al adjunto

Sube el archivo como una solicitud multipart. Retorna el objeto de adjunto creado.


Acceso via client.contacts.

Retorna el objeto de contacto creado. Ver Contactos.

Retorna una lista de objetos de contacto.

Retorna el objeto de contacto actualizado.

Retorna el objeto de contacto eliminado.


Acceso via client.campaigns.

Retorna el objeto de campaña creado. Ver Campañas.

Retorna una lista de objetos de campaña.

ParámetroTipoDescripción
campaign_idstringID de la campaña a la que agregar una sesión
sessiondictPayload de sesión — debe incluir crmContactId (string[])

Retorna el objeto de sesión creado.

Retorna una lista de objetos de sesión.

get_sessions_feedbacks(campaign_id, filter=None)

Sección titulada «get_sessions_feedbacks(campaign_id, filter=None)»

Retorna una lista de objetos de feedback vinculados a las sesiones de esta campaña.


Acceso via client.products.

Retorna una lista de productos registrados en tu cuenta.


Acceso via client.metrics.

Retorna una lista de objetos de métricas.


Acceso via client.integrations_questions.

Retorna la lista de preguntas configuradas para la integración indicada.

questions = client.integrations_questions.get("0eb9d270-6dd7-11ef-9987-21e04f383573")
for q in questions:
print(q["key"], q["type"])

Acceso via client.reports.

Retorna datos de reportes generales.

Retorna datos de reportes específicos de newsletter.

ParámetroTipoDescripción
report_idstringID del reporte a actualizar
reportdictCampos a cambiar

Retorna el objeto de reporte actualizado.


Todos los errores HTTP lanzan requests.exceptions.HTTPError. Envuelve las llamadas en un try/except cuando necesites manejar códigos de estado específicos:

import requests
try:
feedback = client.feedbacks.create({…})
except requests.exceptions.HTTPError as e:
print(e.response.status_code, e.response.text)

La validación del lado del cliente (campos requeridos faltantes) lanza ValueError antes de que se envíe el request.