• Resolved imprepide

    (@imprepide)


    Saludos,

    Les comento que cuando se activa la casilla de ?Enviar un SMS al móvil de envío?: y se selecciona “Telefono Celular” el cual seria mi campo personalizado el mismo no envia el SMS, adicionalmente tuve que hacer unos cambios para que funcionara el envio por clickatell:

    case “clickatell”:
    $url = add_query_arg( [
    ‘apiKey’ => $apg_sms_settings[ ‘identificador_clickatell’ ],
    /* ‘user’ => $apg_sms_settings[ ‘usuario_clickatell’ ],
    ‘password’ => $apg_sms_settings[ ‘contrasena_clickatell’ ],*/
    ‘to’ => $telefono,
    ‘content’ => apg_sms_codifica_el_mensaje( $mensaje ),
    ], ‘https://platform.clickatell.com/messages/http/send’ );
    $respuesta = wp_remote_get( $url );
    break;

    Debug de campo Vacio:

    Teléfono móvil:

    Mensaje:
    ImprePIDE: Su orden # PW-2084 se esta PROCESANDO, recuerde que son 5 dias habiles luego de aprobar el arte y pagar el 100% del pedido para la entrega del mismo.

    Respuesta del proveedor:
    Array
    (
    [headers] => Requests_Utility_CaseInsensitiveDictionary Object
    (
    [data:protected] => Array
    (
    [server] => nginx
    [date] => Thu, 30 Apr 2020 15:28:44 GMT
    [content-type] => application/json
    [content-length] => 45
    [strict-transport-security] => max-age=31536000; includeSubDomains
    )

    )

    [body] => [{“error”:”arg2: Recipient may not be null”}]
    [response] => Array
    (
    [code] => 400
    [message] => Bad Request
    )

    [cookies] => Array
    (
    )

    [filename] =>
    [http_response] => WP_HTTP_Requests_Response Object
    (
    [response:protected] => Requests_Response Object
    (
    [body] => [{"error":"arg2: Recipient may not be null"}]
    [raw] => HTTP/1.1 400 Bad Request
    Server: nginx
    Date: Thu, 30 Apr 2020 15:28:44 GMT
    Content-Type: application/json
    Content-Length: 45
    Connection: close
    Strict-Transport-Security: max-age=31536000; includeSubDomains

    [{"error":"arg2: Recipient may not be null"}]
    [headers] => Requests_Response_Headers Object
    (
    [data:protected] => Array
    (
    [server] => Array
    (
    [0] => nginx
    )

    [date] => Array
    (
    [0] => Thu, 30 Apr 2020 15:28:44 GMT
    )

    [content-type] => Array
    (
    [0] => application/json
    )

    [content-length] => Array
    (
    [0] => 45
    )

    [strict-transport-security] => Array
    (
    [0] => max-age=31536000; includeSubDomains
    )

    )

    )

    [status_code] => 400
    [protocol_version] => 1.1
    [success] =>
    [redirects] => 0
    [url] => https://platform.clickatell.com/messages/http/send?apiKey=N1HuwSfsQnqbB1cTGoi_6A==&content=ImprePIDE%3A+Su+orden+%23+PW-2084+se+esta+PROCESANDO%2C+recuerde+que+son+5+dias+habiles+luego+de+aprobar+el+arte+y+pagar+el+100%25+del+pedido+para+la+entrega+del+mismo.
    [history] => Array
    (
    )

    [cookies] => Requests_Cookie_Jar Object
    (
    [cookies:protected] => Array
    (
    )

    )

    )

    [filename:protected] =>
    [data] =>
    [headers] =>
    [status] =>
    )

    )

Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter imprepide

    (@imprepide)

    Adicionalmente cuando el Pedido/orden es creada se estan enviando 2 SMS iguales de orden recibida.

    Plugin Author Art Project Group

    (@artprojectgroup)

    Hola.

    No terminamos de entender por qué no te funciona el código de Clickatell ya que aunque efectivamente se ha publicado una API nueva, la que usa el plugin se supone que sigue operativa. De hecho muchos clientes utilizan Clickatell y hasta ahora nadie nos había reportado ningún tipo de error con la API actual. Por tanto de momento no nos atrevemos a modificarla ya que podemos generar un auténtico caos en cientos de instalaciones. Por cierto en la nueva API no son necesarios ni el usuario, ni la contrase?a.

    En cuanto al campo personalizado para el número de teléfono en el formulario de envío debería leerlo sin problema, siempre y cuando lo hayas creado de forma correcta claro. El plugin lo toma del hook woocommerce_checkout_fields y posteriormente lee ese mismo campo de los metadatos del pedido. Lo único que se nos ocurre es que tenga un guión bajo delante (_) en el metacampo y no en el nombre del campo. Eso puedes comprobarlo leyendo los metakey de los metadatos del pedido y comparándolo con el value que te muestra en el listado de campos del formulario de configuración del plugin. Tienen que ser exactamente iguales. Poco más te podemos decir al respecto.

    Por último, no terminamos de entender el último comentario. ?Cómo que se envían dos SMS iguales de orden recibida?

    Un saludo.

    Saludos Amigos de Art Project Group

    Con respecto al API de Clickatell me di cuenta que cuando metes el apikey debes colocar un tercer simbolo de igual(=) al final en el identificador de cuenta porque solo lee un solo simbolo de igual(=) adjunto foto para mejor entendimiento.

    —-Debug—-

    584242******

    Mensaje:
    ImprePIDE: Hemos generado el pedido #: PW-2084 recuerde que tiene 2 dias habiles para formalizar el pago.

    Respuesta del proveedor:
    Array
    (
    [headers] => Requests_Utility_CaseInsensitiveDictionary Object
    (
    [data:protected] => Array
    (
    [date] => Thu, 30 Apr 2020 17:28:58 GMT
    [server] => Apache
    [access-control-allow-origin] => *
    [content-length] => 36
    [content-type] => text/html; charset=UTF-8
    )

    )

    [body] => ID: 651fd0966c284d69942de2a15ba6a54f
    [response] => Array
    (
    [code] => 200
    [message] => OK
    )

    [cookies] => Array
    (
    )

    [filename] =>
    [http_response] => WP_HTTP_Requests_Response Object
    (
    [response:protected] => Requests_Response Object
    (
    [body] => ID: 651fd0966c284d69942de2a15ba6a54f
    [raw] => HTTP/1.1 200 OK
    Date: Thu, 30 Apr 2020 17:28:58 GMT
    Server: Apache
    Access-Control-Allow-Origin: *
    Content-Length: 36
    Connection: close
    Content-Type: text/html; charset=UTF-8

    ID: 651fd0966c284d69942de2a15ba6a54f
    [headers] => Requests_Response_Headers Object
    (
    [data:protected] => Array
    (
    [date] => Array
    (
    [0] => Thu, 30 Apr 2020 17:28:58 GMT
    )

    [server] => Array
    (
    [0] => Apache
    )

    [access-control-allow-origin] => Array
    (
    [0] => *
    )

    [content-length] => Array
    (
    [0] => 36
    )

    [content-type] => Array
    (
    [0] => text/html; charset=UTF-8
    )

    )

    )

    [status_code] => 200
    [protocol_version] => 1.1
    [success] => 1
    [redirects] => 0
    [url] => https://api.clickatell.com/http/sendmsg?api_id=N1HuwSfsQnqbB1cTGoi_6A==&user=contacto@*****.com&password=&to=58424*****&text=ImprePIDE%3A+Hemos+generado+el+pedido+%23%3A+PW-2084+recuerde+que+tiene+2+dias+habiles+para+formalizar+el+pago.
    [history] => Array
    (
    )

    [cookies] => Requests_Cookie_Jar Object
    (
    [cookies:protected] => Array
    (
    )

    )

    )

    [filename:protected] =>
    [data] =>
    [headers] =>
    [status] =>
    )

    )

    --- Fin del Debug----

    Fue eliminado el Password, Usuario y el Celular del link que genera el plugin por razones de seguridad.

    Captura de Pantalla: https://imprepide.com/wp-content/uploads/2020/04/Captura-de-Pantalla-2020-04-30-a-las-1.29.53-p.-m..png

    Saludos

    Con respecto al campo personalizado, se llama billing_celular el mismo es mostrado en la configuración del plugin pero no toma envia el sms

    —debug—-

    Teléfono móvil:

    Mensaje:
    ImprePIDE: Su orden # PW-2084 se esta PROCESANDO, recuerde que son 5 dias habiles luego de aprobar el arte y pagar el 100% del pedido para la entrega del mismo.

    Respuesta del proveedor:
    Array
    (
    [headers] => Requests_Utility_CaseInsensitiveDictionary Object
    (
    [data:protected] => Array
    (
    [date] => Thu, 30 Apr 2020 17:42:20 GMT
    [server] => Apache
    [access-control-allow-origin] => *
    [content-length] => 37
    [content-type] => text/html; charset=UTF-8
    )

    )

    [body] => ERR: 105, Invalid Destination Address
    [response] => Array
    (
    [code] => 200
    [message] => OK
    )

    [cookies] => Array
    (
    )

    [filename] =>
    [http_response] => WP_HTTP_Requests_Response Object
    (
    [response:protected] => Requests_Response Object
    (
    [body] => ERR: 105, Invalid Destination Address
    [raw] => HTTP/1.1 200 OK
    Date: Thu, 30 Apr 2020 17:42:20 GMT
    Server: Apache
    Access-Control-Allow-Origin: *
    Content-Length: 37
    Connection: close
    Content-Type: text/html; charset=UTF-8

    ERR: 105, Invalid Destination Address
    [headers] => Requests_Response_Headers Object
    (
    [data:protected] => Array
    (
    [date] => Array
    (
    [0] => Thu, 30 Apr 2020 17:42:20 GMT
    )

    [server] => Array
    (
    [0] => Apache
    )

    [access-control-allow-origin] => Array
    (
    [0] => *
    )

    [content-length] => Array
    (
    [0] => 37
    )

    [content-type] => Array
    (
    [0] => text/html; charset=UTF-8
    )

    )

    )

    [status_code] => 200
    [protocol_version] => 1.1
    [success] => 1
    [redirects] => 0
    [url] => https://api.clickatell.com/http/sendmsg?api_id=************_6A==&user=contacto@*****.com&password=*****&to&text=ImprePIDE%3A+Su+orden+%23+PW-2084+se+esta+PROCESANDO%2C+recuerde+que+son+5+dias+habiles+luego+de+aprobar+el+arte+y+pagar+el+100%25+del+pedido+para+la+entrega+del+mismo.
    [history] => Array
    (
    )

    [cookies] => Requests_Cookie_Jar Object
    (
    [cookies:protected] => Array
    (
    )

    )

    )

    [filename:protected] =>
    [data] =>
    [headers] =>
    [status] =>
    )

    )
    --- fin del debug----

    Fue borrado el apiID, el usuario y la contrase?a.

    Yo realice unos cambios en el archivo: apg-sms.php sustituyendo todos los campos billing_phone por billing_celular y he logrado que envie el SMS, pero aunque lo envia me genera el siguiente warning en el hosting:
    Captura de pantalla: https://imprepide.com/wp-content/uploads/2020/04/Captura-de-Pantalla-2020-04-30-a-las-1.47.57-p.-m..png

    [30-Apr-2020 16:08:13 UTC] billing_celular was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Gateway_BACS->process_payment, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action('woocommerce_order_status_on-hold'), WP_Hook->do_action, WP_Hook->apply_filters, apg_sms_procesa_estados, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0.
    [30-Apr-2020 16:08:16 UTC] billing_celular was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Gateway_BACS->process_payment, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action('woocommerce_order_status_pending_to_on-hold'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Emails::send_transactional_email, do_action_ref_array('woocommerce_order_status_pending_to_on-hold_notification'), WP_Hook->do_action, WP_Hook->apply_filters, apg_sms_procesa_estados, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0.

    Plugin Author Art Project Group

    (@artprojectgroup)

    Se ha reportado un error detectado en el core de WordPress: https://core.trac.www.ads-software.com/ticket/50279, que es el que hace que te desaparezca el doble signo igual que introduces en la configuración.

    En la próxima actualización se ha solucionado el problema del mensaje doble en los estado de pedido recibidos (on-hold).

    En cuanto al campo personalizado billing_celular no es el que usa el plugin. Siempre se va a utilizar el valor introducido en el campo nativo de WooCommerce billing_phone por lo que debes utilizar este campo en cualquier caso.

    Un saludo.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘No envia SMS al Numero Personalizado’ is closed to new replies.