تقنية

كيفية تصدير عملاء WooCommerce إلى جداول بيانات Google


تعرف على كيفية تصدير البريد الإلكتروني والاسم والعنوان لعملاء WooCommerce بسهولة إلى جداول بيانات Google باستخدام Google Apps Script. سيقوم البرنامج النصي بإنشاء علامة تبويب جديدة في ورقة Google الخاصة بك ونسخ البيانات من جدول عملاء WooCommerce.

إذا كنت تدير متجرًا عبر الإنترنت يعمل على WordPress، فمن المحتمل أنك تستخدم WooCommerce لإدارة عملائك وطلباتك. اقترب موسم العطلات وقد ترغب في إرسال رمز خصم خاص لعملائك الحاليين لعملية الشراء التالية. أو قد ترغب في تحليل بيانات متجرك لمعرفة أداء عملك في مناطق مختلفة.

يمكنك ميزة التصدير المضمنة في WooCommerce لتصدير بيانات عملائك إلى ملف CSV ثم استيراد ملف CSV إلى جداول بيانات Google. انتقل إلى لوحة تحكم WooCommerce، وانتقل إلى قسم العملاء، وستجد خيارًا لتنزيل قائمة العملاء كملف CSV.

ومع ذلك، إذا كنت تبحث عن طريقة أكثر فعالية لتصدير عملاء WooCommerce إلى جداول بيانات Google، فيمكنك استخدام Google Apps Script لإنشاء برنامج نصي مخصص من شأنه تصدير العملاء إلى ورقة Google.

الخطوة 1: إنشاء مفتاح API في WooCommerce

للبدء، عليك إنشاء مفتاح API في WooCommerce. انتقل إلى لوحة تحكم WooCommerce، وانتقل إلى قسم الإعدادات، ثم انقر فوق علامة التبويب “خيارات متقدمة”. انتقل إلى قسم “Rest API” وانقر على زر “Create API Key”.


في الشاشة التالية، سيُطلب منك إدخال اسم لمفتاح API. يمكنك استخدام اسم مثل “استيراد العملاء إلى جداول بيانات Google” أو شيء مشابه. يمكنك تقييد أذونات مفتاح واجهة برمجة التطبيقات للقراءة فقط، وهو كل ما نحتاجه لأننا سنقرأ فقط بيانات العميل ولن نعدل أي بيانات.


أذونات القراءة لـ WooCommerce

سيقوم WooCommerce بإنشاء مفتاح المستهلك وسر المستهلك لك. ستحتاج إلى حفظ المفتاح السري في مكان ما، حيث لن تتمكن من الوصول إليه لاحقًا من لوحة تحكم WooCommerce.


مفتاح وسر عميل WooCommerce

الخطوة 2: إنشاء ورقة جوجل

الآن بعد أن حصلت على بيانات اعتماد WooCommerce، فلنقم بإنشاء جدول بيانات Google لتخزين بيانات العميل. يكتب sheets.new في شريط عنوان المتصفح الخاص بك لإنشاء جدول بيانات جديد. انتقل إلى الإضافات > Apps Script لفتح محرر Google Apps Script المرتبط بجدول البيانات الخاص بك.

الصق التعليمة البرمجية التالية في محرر Apps Script. تذكر استبدال مفتاح عميل WooCommerce وسر المستهلك ومجال WordPress بقيمك الخاصة. لا تضف شرطة مائلة في نهاية نطاق WordPress.

const MAX_PER_PAGE = 100;
const CONSUMER_KEY = '<<YOUR_CONSUMER_KEY>>';
const CONSUMER_SECRET = '<<YOUR_CONSUMER_SECRET>>';
const WORDPRESS_DOMAIN = '<<YOUR_WORDPRESS_DOMAIN>>';

const fetchWooCommerceCustomers = () => {
  const bearerToken = Utilities.base64Encode(`${CONSUMER_KEY}:${CONSUMER_SECRET}`);

  const getQueryString = (options) => {
    return Object.keys(options)
      .map((key) => `${key}=${options[key]}`)
      .join('&');
  };

  const getApiUrl = (pageNum) => {
    const options = {
      context: 'view',
      page: pageNum,
      per_page: MAX_PER_PAGE,
      order: 'desc',
      orderby: 'id',
      role: 'customer',
    };
    return `${WORDPRESS_DOMAIN}/wp-json/wc/v3/customers?${getQueryString(options)}`;
  };

  
  const fetchPage = (pageNum) => {
    const url = getApiUrl(pageNum);
    const response = UrlFetchApp.fetch(url, {
      headers: {
        'Content-Type': 'application/json',
        Authorization: `Basic ${bearerToken}`,
      },
    });

    return JSON.parse(response.getContentText());
  };

  let page = 1;
  let allCustomers = [];
  let hasMore = true;

  do {
    const customers = fetchPage(page);
    allCustomers = allCustomers.concat(customers);
    page += 1;
    hasMore = customers.length === MAX_PER_PAGE;
  } while (hasMore === true);

  return allCustomers;
};

سيجلب البرنامج النصي أعلاه جميع العملاء من متجر WooCommerce الخاص بك. بعد ذلك، سنضيف وظيفة لتسوية بيانات العميل وتخزينها في ورقة Google.

الخطوة 3: تسوية بيانات العميل

لتسطيح بيانات العميل، سنقوم بإضافة الوظيفة التالية إلى البرنامج النصي.

const parseCustomer = (customer) => {
  const { id, first_name, last_name, email, billing = {} } = customer;
  return {
    customer_id: id,
    first_name,
    last_name,
    customer_email: email,
    billing_first_name: billing.first_name,
    billing_last_name: billing.last_name,
    billing_email: billing.email,
    billing_phone: billing.phone,
    billing_address_1: billing.address_1,
    billing_address_2: billing.address_2,
    billing_city: billing.city,
    billing_state: billing.state,
    billing_postcode: billing.postcode,
    billing_country: billing.country,
  };
};

الخطوة 4: تخزين بيانات العميل

لتخزين بيانات العميل في ورقة Google، سنضيف الوظيفة التالية إلى البرنامج النصي.

const exportCustomersToGoogleSheet = () => {
  const wooData = fetchWooCommerceCustomers();
  const customers = wooData.map(parseCustomer);
  const headers = Object.keys(customers[0]);
  const rows = customers.map((c) => headers.map((header) => c[header] || ''));
  const data = [headers, ...rows];
  const sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();
  sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
  const message = rows.length + ' customers exported to sheet ' + sheet.getName();
  SpreadsheetApp.getUi().alert(message);
};

الخطوة 5: قم بتشغيل وظيفة التصدير

داخل محرر Apps Script، انقر فوق وظيفة “exportCustomersToGoogleSheet” ثم انقر فوق الزر “Run”. قم بتفويض البرنامج النصي وشاهد بيانات عملائك من WooCommerce تظهر بطريقة سحرية في ورقة Google الخاصة بك.

يمكنك بعد ذلك استخدام Gmail Mail Merge لإرسال رسائل بريد إلكتروني مخصصة إلى عملائك مباشرة داخل ورقة Google.



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى