Pregunta sobre WC - APG SMS Notifications de Wordpress:

Problemas para enviar a números internacionales a través de Plivo

Un usuario preguntó 👇

Hola,

Tenemos algunos problemas con el envío de números internacionales mediante SMS APG y Plivo Gateway.

Nuestra tienda se encuentra en Portugal.

Aquí hay unos ejemplos:

Número de teléfono del pedido: 96324xxxx País del pedido: Número portugués enviado a Plivo API: 35196324xxx Resultado: mensaje enviado correctamente

Número de teléfono en orden: 04176330xxxx País en orden: Alemania Número enviado a Plivo API: 4176330xxx Resultado: mensaje enviado ok

Número de teléfono en el pedido: 0044778854xxxx País en el pedido: Número del Reino Unido enviado a Plivo API: 0044778854xxxx Resultado: error – no es un número de teléfono válido

Número de teléfono en el pedido: 0044793083xxxx País en el pedido: Número de Reino Unido enviado a Plivo API: 0044793083xxxx Resultado: error – no es un número de teléfono válido

Número de teléfono en el pedido: 0044797048xxxx (número del Reino Unido, aunque el cliente no está en el Reino Unido) País en el pedido: Número de FRANCIA enviado a Plivo API: 330044797048xxxx Resultado: error – no es un número de teléfono válido

APG SMS no parece estar eliminando «00» cuando debería y también aparece cuando el código del teléfono ya tiene el código internacional, como «0044», y el país no es el mismo que el número, APG SMS agrega el código de país de todos modos, ignorando el código internacional que ya está en el número de teléfono.

(@artprojectgroup)

Hace 3 años, 2 meses

WooCommerce – Notificaciones SMS APG nunca borra los números de teléfono, solo los procesa de acuerdo con los requisitos del proveedor de SMS seleccionado para agregar el código internacional, o no.

Ese código internacional se puede agregar como +34, 0034 o simplemente 34 dependiendo de la puerta de enlace seleccionada, pero nunca, y nunca lo haremos, borramos el número de teléfono proporcionado por el cliente.

Intente agregar una máscara al área del teléfono: ¿Cómo incluir una máscara en los campos de Woocommerce? Por ejemplo, teléfono: (99) 9999-9999, por ejemplo.

Tuyo sinceramente.

(@webdados)

Hace 3 años, 2 meses

De acuerdo, estaba viendo el apg_sms_procesa_el_telefono función y estoy de acuerdo en que NO debe borrar números de teléfono, con una excepción especial: creo que debe indicar «00» cuando el número ingresa a esta función, de la misma manera que ya borra «+» propio.

La razón por la que creo que debería hacer esto es porque no hay números válidos que comiencen con «00», lo que significa que si ya tienen el número, significa que ya tiene el prefijo internacional y su plugin da números incorrectos para todos los casos: puertas que requieren un «+», puertas que requieren un «00» o puertas que no requieren un prefijo, como puede ver en este ejemplo.

(Agregué espacios al número base por mejores razones de lectura).

Finalmente, recomiendo agregar:
if ( substr($telefono, 0, 2) == '00' ) $telefono = substr($telefono, 2);
después de este:
$telefono = str_replace( array( '+','-' ), '', filter_var( $telefono, FILTER_SANITIZE_NUMBER_INT ) );
sobre el apg_sms_procesa_el_telefono función.

(@webdados)

Hace 3 años, 2 meses

Como alternativa a mi sugerencia anterior, NO puede hacer nada con números que comiencen con «00» porque significa que el número ya está terminado. Quizás esto sea incluso mejor porque permitiría a un cliente del Reino Unido ingresar un número francés y aún así recibir el mensaje correctamente.

En este caso, debe agregar un cheque para guiar «00» después de la sanidad telefónica en línea de $ 142 y no obtener el código internacional del país de pedido o la base de la tienda.

(@artprojectgroup)

Hace 3 años, 2 meses

En algunos países, los clientes utilizan 00 00

Lo siento, pero agregar un limpiador de cualquier tipo al plugin no es una buena idea.

Si el cliente ingresa un número de teléfono del Reino Unido y selecciona el país FR, el plugin siempre agregará un número de prefijo FR.

Tuyo sinceramente.

(@webdados)

Hace 3 años, 2 meses

En algunos países, los clientes usan 00

¿Como es eso? Lo siento, no entiendo. Una pregunta honesta.

¿Podría al menos hacer de esta función un plugin, de modo que podamos, bajo nuestro propio riesgo, crear una nueva versión de nuestro functions.php, usando

if ( !function_exists('apg_sms_procesa_el_telefono') ) {
	function apg_sms_procesa_el_telefono( $pedido, $telefono, $servicio, $propietario = false, $envio = false ) {
		(...)
	}
}

?

Otra opción sería utilizar dos filtros, uno para decidir si el número de teléfono debe procesarse con esta función y otro para permitirnos agregar nuestro propio filtro al número de teléfono, como por ejemplo: https://gist.github.com/webdados/d1f1c4f71a69a34c6084d573b8a40862

Gracias de antemano y, nuevamente, enhorabuena por este plugin.

(@artprojectgroup)

Hace 3 años, 2 meses

Si recordamos correctamente, India, por ejemplo.

Intentaremos agregar estos filtros a la próxima actualización.

Tuyo sinceramente.

(@webdados)

Hace 3 años, 2 meses

Eso será grandioso. Si es así, actualícenos en esta publicación.

En resumen, el primer filtro nos permite ignorar por completo el procesamiento en el apg_sms_procesa_el_telefono función y este último nos permite implementar nuestro propio procesamiento. Por supuesto, todos los argumentos se pasan a funciones que vienen con esos filtros.

(@artprojectgroup)

Hace 3 años, 2 meses

Verifique la última actualización.

Tuyo sinceramente.

(@webdados)

Hace 3 años, 2 meses

¡Gracias!

(@artprojectgroup)

Hace 2 años, 11 meses

Publicaremos su código en la próxima actualización.

Gracias Marco.

Tuyo sinceramente.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *