Skip to main content

Explico el problema.
- Quiero evitar que me de error una automatización por culpa que un usuario introduzca datos que ManyChat no acepta y ManyChat me pause la automatización y deje de funcionar para el resto de usuarios.
- En ocasiones me encuentro que algún usuario se vuelve a registrar de nuevo en mi web, eso provoca que vuelva a lanzarle la función CreateSubscriber de ManyChat.
- En mi cuenta de ManyChat sólo puedo guardar el Whatsapp ID (Teléfono de Whatsapp), pero no el Teléfono.
- He creado una campo personalizado "phone_cliente" (field_id=13170369) donde guardo el teléfono del cliente.
- Desde Make hago que el teléfono tenga que incluir un 34 delante pero pueden seguir colándose errores como un teléfono inventado...
- Desde Make el siguiente paso era hacer un HTTP Make a request GET donde utilizo la URl https://api.manychat.com/fb/subscriber/findByCustomField?field_id=13170369&field_value=iTeléfono] y busco a ver si lo encuentra
- El problema que me encuentro es que he estado haciendo muchas pruebas con dos teléfonos personales y eliminaba sus contactos, pero veo que la función anterior me devuelve un suscriptor eliminado y no el que tengo activo. Entonces no puedo seguir testeando. El problema que me encuentro es que tengo un usuario activo con mi teléfono y otro borrado con el mismo teléfono. El HTTP me ha devuelto al usuario eliminado y como el siguiente paso de MAKE es un ROUTER donde la RUTA1 tiene con la condición que si "Optin Whatsapp=False" (o el Array es <1) haga CreateSubscriber, y el usuario eliminado tiene "Optin Whatsapp=False" pero como tengo un usuario suscrito y activo con ese teléfono entonces me salta Error. Es un cruce de datos de ManyChat que no sé cómo solucionar. 
- He añadido un módulo ERROR HANDLER: BREAK en el CreateSubscriber, de este modo si hay cualquier tipo de error (como este, o en caso que alguien se invente el teléfono tipo "666666666" o "123") al menos se pausa para este usuario, y creo que la automatización sigue activa para los siguientes usuarios.
La RUTA2 lo que hace es que si ya "Optin Whatsapp=True", entiendo que ya existe y está activo, lo que hago es lanzarle un SendFlow de una automatización para volver a escribirle de nuevo.

¿En Swagger hay alguna función similar a FindBySystemField donde puedes buscar por Teléfono, pero para buscar por el campo "Whatsapp ID"?
He probado a poner esta URL https://api.manychat.com/fb/subscriber/findBySystemField?whatsapp_id=fphone] pero no funciona.

¿Me podríais indicar cómo puedo solucionar el problema?

@japonitis sugiero que uses findByCustomField, y crees un User Field espejo con el número de WhatsApp.

Yo normalmente lo configuro con una Regla de Manychat, que siempre que tengo un nuevo usuario de WhatsApp, disparo un action para setear el User Field con el número de WhatsApp.

De esa forma la búsqueda funciona siempre con el findByCustomField - es como si estuviera buscando por el número de WhatsApp.

Funciona y es super estable, perfecto para evitar problemas en automatizaciones!


Reply