C sharp - Ayuda con Webhook para API WhatsApp

 
Vista:
sin imagen de perfil

Ayuda con Webhook para API WhatsApp

Publicado por Francisco Urias (1 intervención) el 13/04/2023 02:18:30
Buenas tardes tengan todos agradezco antemano me puedan ayudar con esto. Me encuentro desarrollando un sistema para envío y recepción de mensajes de WhatsApp utilizando la API de WhatsApp Bussiness, para los que no conozcan la API las recomiendo está muy interesante, sin embargo, mi problema puede aplicar para cualquier tipo de API.

Para poner un poco en contexto mi proyecto esta realizado en net 6 y utilizo EF6 Core SQL Server, para llevar a cabo el envío no tengo problemas ya que por medio de un controlador llevo a cabo los procedimientos para enviar la cantidad de mensajes que requiera, al finalizar los procedimientos el sistema almacena en la base de datos a cada registro su Id de conversación que la API de WhatsApp de retorna.
Además, como sabrán la API de WhatsApp te notifica por GET REQUEST los mensajes recibidos, status de los mensajes, etc. El contenido del get viene en json y el finalizar mis procedimientos es obligatorio contestarle a Facebook con un status 200 event_recived ya que si no la API seguirá intentando de seguir enviándote las notificaciones.

Mi procedimiento en mi webhook es muy sencillo por el momento, cuando recibo una notificación de WhatsApp a mi webhook primero identifico en el json si es de tipo mensaje o tipo estatus ya que la estructura del json es diferente, si la notificación es mensaje hago ciertos procedimientos pero si la notificación es de tipo status, consulto al usuario en la base de datos por medio del Id de conversación y actualizo su estatus de mensaje y aquí es donde se origina el problema ya que varios registros no actualizan su estatus, no se si por que el servidor esta ocupado o porque no debería de incluir la consulta y actualización dentro del webhook.
Espero haya sido claro y puedan ayudarme, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder