Ir al contenido principal

Página nueva - [registerLikeForPosts]

🧾 Descripción

Permite registrar un Like o Dislike sobre una publicación del módulo Publicaciones en ERPNext.
La acción se ejecuta usando el endpoint interno frappe.desk.like.toggle_like, el cual requiere un cookie de sesión válido.


🚀 Endpoint


POST /register-like-for-posts

La ruta exacta depende de tu archivo routes/api.php.


🔐 Seguridad

Este endpoint requiere el cookie de sesión Frappe, el cual se envía desde la aplicación móvil.
Sin el cookie, el servicio rechaza la operación.


📥 Request Body

{ "cookie": "string", "name": "string", "marked": true }

Campos requeridos:

Campo Tipo Requerido Descripción
cookie string Cookie de sesión válido en ERPNext.
name string Nombre del documento Publicaciones al que se aplicará Like/Dislike.
marked boolean true = Like, false = Dislike.

📤 Responses

✔️ 200 – Like o Dislike registrado correctamente

{ "valor": true, "msn": "Like para publicación correcto", "data": [] }

(El mensaje cambia dependiendo de marked)


400 – Falta de parámetros

Falta nombre

{ "valor": false, "msn": "Es necesario el nombre de la publicación para dar like", "data": [] }

Falta marked

{ "valor": false, "msn": "Es necesario el estado del like", "data": [] }
{ "valor": false, "msn": "Es necesario el cookie para dar like", "data": "cookie_recibida" }

500 – Error desde ERPNext

{ "valor": false, "msn": "Error al generar Servicio", "data": "<detalle_del_error>" }

🧩 Lógica Interna

  1. Valida parámetros obligatorios: name, marked, cookie.

  2. Construye la propiedad add:

    • marked = true"Yes"

    • marked = false"No"

  3. Construye la llamada a ERPNext:


    POST /method/frappe.desk.like.toggle_like Headers: Cookie: <cookie> Content-Type: application/json Body: { "doctype": "Publicaciones", "name": "<nombre>", "add": "Yes/No" }
  4. ERPNext registra o quita el Like.

  5. Devuelve mensaje según operación: "Like" o "Dislike".


📚 Schemas

Request Schema

{ "cookie": "string", "name": "string", "marked": "boolean" }

Response Schema

{ "valor": "boolean", "msn": "string", "data": "array | object" }

🧪 Ejemplo de uso (curl)

curl -X POST https://midominio.com/api/register-like-for-posts \ -H "Content-Type: application/json" \ -d '{ "cookie": "sid=12345abcde", "name": "PUB-00012", "marked": true }'