يعتمد هذا الـ Workflow على منصة n8n لتنفيذ استعلامات تلقائية عبر Google Maps API وإدارة البيانات بكفاءة داخل Google Sheets. تم تصميمه لاستخراج بيانات مواقع محددة بناءً على قائمة من الرموز البريدية (ZIP Codes) والفئات المحددة مسبقًا.
المميزات (Features)
تنفيذ استعلامات تلقائية على Google Maps API لاستخراج بيانات المواقع باستخدام رموز بريدية وفئات فرعية محددة.
فلترة البيانات، إزالة التكرار، وتنظيم النتائج في صفوف منظمة داخل Google Sheets.
تطبيق آلية إعادة المحاولة التلقائية مع التدرج الأسي (Exponential Backoff) للتعامل مع حدود استهلاك واجهة البرمجة (API Rate Limits).
تسجيل حالة كل عملية وتحديثها مباشرة داخل Google Sheets لسهولة المتابعة والتحكم.
المتطلبات الأساسية (Prerequisites)
بيانات اعتماد Google OAuth:
مشروع مُعد على Google Cloud مع تفعيل:
Google Maps API
Google Sheets API
Google Sheets:
ملف يحتوي على:
شيت للرموز البريدية (مثل: AZ Zips)
شيت آخر للفئات أو التصنيفات (مثل: Google Maps Categories)
بيئة n8n جاهزة:
نسخة عاملة من n8n مع إعداد بيانات اعتماد Google OAuth.
خطوات الإعداد (Setup Instructions)
1️⃣ تجهيز Google Sheets
إضافة الرموز البريدية (ZIP Codes) في شيت AZ Zips.
تعريف الفئات الفرعية في شيت آخر (مثل Google Maps Categories).
إدخال رابط ملف Google Sheets داخل عقدة Settings في الـ Workflow.
2️⃣ إعداد الوصول إلى واجهات Google API
إعداد بيانات Google OAuth لواجهات:
Google Maps API
Google Sheets API
التأكد من أن API Key يملك صلاحية الوصول إلى:
places.searchText endpoint
3️⃣ تخصيص الـ Workflow
تعديل معاملات textQuery داخل عقدة Google Maps API بما يتناسب مع نوع البحث المطلوب.
ضبط توقيت التشغيل (Trigger) حسب الحاجة:
تشغيل يدوي
أو تشغيل مجدول تلقائي
4️⃣ تشغيل النظام
تشغيل الـ Workflow يدويًا لاختباره.
أو جدولة التشغيل الدوري للحفاظ على تحديث البيانات بشكل مستمر.
ملاحظات مهمة (Notes)
يتضمن هذا النظام آلية قوية لمعالجة الأخطاء، مع إعادة المحاولة التلقائية في حال فشل طلبات API باستخدام Exponential Backoff.
يتم تنظيم جميع البيانات وتسجيلها مباشرة داخل Google Sheets لسهولة الرجوع إليها وتحديثها.