Aplicar cupones usando woocommerce rest api

2 minutos de lectura

avatar de usuario
SatheeshCK17

Estoy desarrollando una aplicación usando WooCommerce resto API v3. Ahora estoy tratando de integrar cupones de mi sitio web WooCommerce a mi aplicación. Estoy creando orden y aplicando cupones como este

"coupon_lines":[{
    'code'=>'coupon1',
    'amount'=>'1.00'
}]

Establecí un límite de uso por usuario en el sitio web de woocommerce.

Cuando ordené directamente desde el sitio web, las restricciones de uso se aplican correctamente. es decir, un usuario no puede usar un cupón cuando se alcanza un límite. Pero cuando realizo un pedido a través de la API REST, las restricciones no se aplican.

Además, recibí una respuesta de otro foro que indica que la función de aplicación de cupones aún no está disponible a través de la API de descanso. Pero, mientras miraba a través del código de create_order Punto final de la API, descubrí que el webhook para aplicar el cupón se llama allí.

 do_action( 'woocommerce_order_add_coupon', $this->id, $item_id, $code, $discount_amount, $discount_amount_tax ); 

en add_coupon(). Pero no encontré el add_action('woocommerce_order_add_coupon',...) . ¿Alguien puede decirme dónde debo escribir esta definición de acción para que no se sobrescriba al actualizar WooCommerce?

  • Recibí una respuesta de otro foro que indica que la función de aplicación de cupones aún no está disponible a través de la API de descanso. Sin embargo, mientras revisaba el código del extremo de la API ‘create_order’, descubrí que el webhook para aplicar el cupón se llama allí. do_action(‘woocommerce_order_add_coupon’, $this->id, $item_id, $code, $discount_amount, $discount_amount_tax); en añadir_cupón(). Pero no encontré add_action(‘woocommerce_order_add_coupon’,…). ¿Alguien puede decirme dónde debo escribir esta definición de acción para que no se sobrescriba al actualizar WooCommerce?

    – SatheeshCK17

    10 de abril de 2016 a las 4:45


  • Escríbalo en un archivo de complemento separado.

    –Jack Robson

    30 de agosto de 2018 a las 18:42

debe agregar “coupon_lines” a su objeto de pedido como se indica aquí. Cada pedido debe tener una matriz de “coupon_lines” que contenga “id”, “código”, “cantidad” para el cupón deseado.

https://woocommerce.github.io/woocommerce-rest-api-docs/v3.html#view-customer-orders

'coupon_lines' => [
    [
        'id' => 55,
        'code' => free50,
        'amount' => '10.75',
    ]
]

¿Puede agregar la identificación de los cupones y después del cheque?

"coupon_lines":[{
        'id' => '',
        'code'=>'coupon1',
        'amount'=>'1.00'
}]

¿Ha sido útil esta solución?