利用 WordPress 實現 WooCommerce 與 Ragic 資料自動同步教學

在電子商務中,訂單管理與資料整合往往需要耗費大量時間與人力。本文將教您如何使用 WordPress 與 WooCommerce 的功能,將訂單資料自動同步至 Ragic,實現高效的工作流程。


為什麼要同步 WooCommerce 訂單至 Ragic?

Ragic 是一款強大的雲端資料庫工具,能夠幫助您整理與分析業務數據。而 WooCommerce 作為最受歡迎的 WordPress 電子商務插件,提供了靈活的訂單管理功能。通過將 WooCommerce 訂單資料自動同步至 Ragic,您可以:

  • 減少手動操作:避免重複輸入訂單資料,提升效率。

  • 降低人為錯誤:自動化流程能有效減少輸入錯誤。

  • 集中管理數據:在 Ragic 中匯總並分析訂單資料,優化業務流程。


教學步驟

以下是設定 WooCommerce 與 Ragic 同步的完整步驟。

1. 啟用 WooCommerce 訂單完成後觸發的自動同步

首先,我們需要設定一個觸發條件,當訂單狀態變更為「已完成」時,觸發同步動作。您可以將以下程式碼添加至您的 WordPress 主題或插件中:

add_action('woocommerce_order_status_completed', 'sync_order_to_ragic');

2. 擷取 WooCommerce 訂單資料

接著,使用 WooCommerce 提供的 API 擷取訂單詳細資料,包括用戶資訊(姓名、電話、地址)及訂單商品資訊。範例如下:

$order = wc_get_order($order_id);
$email = $order->get_billing_email();
$first_name = $order->get_billing_first_name();
$last_name = $order->get_billing_last_name();
$phone = $order->get_billing_phone();
$address = $order->get_billing_address_1() . ', ' . $order->get_billing_city() . ', ' . $order->get_billing_state() . ', ' . $order->get_billing_postcode();

3. 準備訂單資料格式

將 WooCommerce 訂單中的商品資訊整理成易於傳輸的格式。例如:

$items = [];
foreach ($order->get_items() as $item) {
    $items[] = $item->get_name() . ' x ' . $item->get_quantity() . ' (' . $item->get_total() . ')';
}
$items_string = implode('; ', $items);

4. 將資料組織成 Ragic 格式

根據 Ragic 的 API 文件,設定符合其欄位結構的資料格式:

$ragic_data = [
    '1000686' => '網站',
    '1000595' => $first_name . ' ' . $last_name,
    '1000596' => $phone,
    '1000563' => $address,
    '1000634' => $email,
    '1000597' => $items_string,
    '1000610' => $order->get_total(),
    '1000594' => $order->get_date_created()->date('Y-m-d H:i:s'),
];

5. 使用 API 同步資料至 Ragic

最後,通過 Ragic 提供的 API,將整理好的訂單資料提交到指定的 Ragic 表單中:

$response_ragic = wp_remote_post(
    $ragic_url,
    [
        'method'    => 'POST',
        'headers'   => [
            'Content-Type'  => 'application/json',
            'Authorization' => 'Basic YOUR_RAGIC_API_CREDENTIAL',
        ],
        'body'      => json_encode($ragic_data),
    ]
);

6. 檢查 API 響應

確保同步動作成功,並記錄錯誤以便後續排查:

if (is_wp_error($response_ragic)) {
    error_log('Ragic 同步失敗:' . $response_ragic->get_error_message());
} else {
    $status_code_ragic = wp_remote_retrieve_response_code($response_ragic);
    $body_ragic = wp_remote_retrieve_body($response_ragic);

    if ($status_code_ragic == 200 || $status_code_ragic == 201) {
        error_log('Ragic 同步成功:' . $body_ragic);
    } else {
        error_log("Ragic API 回應錯誤 (狀態碼: $status_code_ragic):$body_ragic");
    }
}

注意事項

  1. API Key 安全性: 請勿將 API Key 明文寫入程式碼,建議使用環境變數或安全存取工具。

  2. 欄位對應檢查: 確保 Ragic 表單的欄位 ID 與您程式中的對應正確無誤。

  3. 測試與效能優化: 在正式上線前進行充分測試,並檢查同步資料是否符合預期。


通過以上步驟,您就能輕鬆將 WooCommerce 的訂單資料同步至 Ragic,實現高效的資料管理與整合。如果您有任何問題,歡迎留言討論!

 

發佈留言