Plugin Directory

Changeset 3325524


Ignore:
Timestamp:
07/10/2025 10:34:04 AM (9 months ago)
Author:
api2cartdev
Message:

Added support plugin Orders Tracking for WooCommerce.

Location:
api2cart-webhook-helper/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • api2cart-webhook-helper/trunk/a2c-webhook-helper.php

    r3305157 r3325524  
    44Description: The plugin adds extra webhook topics for WooCommerce.
    55Author: API2Cart
    6 Version: 1.7.3
     6Version: 1.7.4
    77Author URI: https://api2cart.com/
    88License:      GPL2
  • api2cart-webhook-helper/trunk/app/WH_Helper.php

    r3304669 r3325524  
    99{
    1010
    11   const VERSION                    = '1.7.3';
     11  const VERSION                    = '1.7.4';
    1212  const LANG_DOMAIN                = 'a2c_wh';
    1313
     
    5959    add_action('woocommerce_before_order_object_save', array($this, 'beforeOrderSave'), 10, 1);
    6060    add_action('woocommerce_after_order_object_save', array($this, 'afterOrderSave'), 10, 1);
     61    add_action('vi_woo_orders_tracking_single_edit_tracking_change', array($this, 'onTrackingChange'), 29, 5);
     62    add_action('bridge_tracking_change', array($this, 'onTrackingChange'), 10, 5);
    6163
    6264    add_action( 'add_post_meta', array( $this, 'insertShipment' ), 29, 3);
     
    114116
    115117    return method_exists( $controller, 'custom_orders_table_usage_is_enabled' ) && $controller->custom_orders_table_usage_is_enabled();
     118  }
     119
     120  /**
     121   * @param $trackingChange
     122   * @param $trackingData
     123   * @param $itemId
     124   * @param $orderId
     125   * @param $response
     126   */
     127  public function onTrackingChange($trackingChange, $trackingData, $itemId, $orderId, $response)
     128  {
     129    if (!$trackingChange || empty($trackingData['tracking_number'])) {
     130      return;
     131    }
     132
     133    $provider = $trackingData['carrier_slug'];
     134    $trackingNumber = $trackingData['tracking_number'];
     135    $payload = array(
     136      'entity_id'                => $trackingChange['entity_id'] ?? md5($provider . $trackingNumber),
     137      'order_id'                 => $orderId,
     138      'blog_id'                  => $this->_blogId,
     139      'custom_tracking_link'     => $trackingData['carrier_url'] ?? '',
     140      'custom_tracking_provider' => $trackingData['carrier_name'] ?? '',
     141      'tracking_id'              => $trackingData['tracking_number'],
     142      'tracking_number'          => $trackingNumber,
     143      'tracking_provider'        => $provider,
     144    );
     145
     146    if (isset($trackingData["action"])) {
     147      $actionsMap = [
     148        'created' => 'a2c_wh_shipment_created_action',
     149        'updated' => 'a2c_wh_shipment_updated_action',
     150        'deleted' => 'a2c_wh_shipment_deleted_action',
     151      ];
     152      do_action($actionsMap[$trackingData["action"]], $payload);
     153
     154      return;
     155    }
     156
     157    $existing = wc_get_order_item_meta($itemId, '_vi_wot_order_item_tracking_data');
     158
     159    if (empty($existing)) {
     160      do_action('a2c_wh_shipment_created_action', $payload);
     161    } else {
     162      do_action('a2c_wh_shipment_updated_action', $payload);
     163    }
    116164  }
    117165
  • api2cart-webhook-helper/trunk/readme.txt

    r3310933 r3325524  
    55Requires at least: 4.1
    66Tested up to: 6.8
    7 Stable tag: 1.7.3
     7Stable tag: 1.7.4
    88License:      GPL2
    99License URI:  https://www.gnu.org/licenses/gpl-2.0.html
     
    6868
    6969== Changelog ==
     70= 1.7.4 =
     71* Added support plugin Orders Tracking for WooCommerce.
     72
    7073= 1.7.3 =
    7174* Added compatibility with WooCommerce 9+
Note: See TracChangeset for help on using the changeset viewer.