> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Zapier

> قم بربط مدفوعات Dodo مع أكثر من 5000 تطبيق من خلال واجهات برمجة التطبيقات الخاصة بـ Zapier لفرص أتمتة غير محدودة.

## المقدمة

قم بربط مدفوعات Dodo مع الآلاف من التطبيقات والخدمات من خلال Zapier. قم بأتمتة سير العمل عن طريق تشغيل Zaps عند حدوث أحداث الدفع، من إرسال رسائل البريد الإلكتروني إلى تحديث جداول البيانات، وإنشاء المهام، والمزيد.

<Info>
  تتطلب هذه التكامل عنوان ويب هوك من Zapier من إعدادات Zap الخاصة بك.
</Info>

## البدء

<Steps>
  <Step title="Open the Webhook Section">
    في لوحة معلومات Dodo Payments الخاصة بك، انتقل إلى <b>Webhooks → + Add Endpoint</b> وقم بتوسيع قائمة التكامل.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/slbAEdrLLwKHfaRf/images/integrations/zapier.png?fit=max&auto=format&n=slbAEdrLLwKHfaRf&q=85&s=4f04fe274ed3c2135baaa23e7f3cf566" alt="Add Endpoint and integrations dropdown" style={{ maxHeight: '500px', width: 'auto' }} width="1636" height="944" data-path="images/integrations/zapier.png" />
    </Frame>
  </Step>

  <Step title="Select Zapier">
    اختر بطاقة التكامل <b>Zapier</b>.
  </Step>

  <Step title="Create Zap in Zapier">
    في Zapier، أنشئ Zap جديدًا مع "Webhooks by Zapier" كحدث تشغيل. انسخ عنوان ويب هوك.
  </Step>

  <Step title="Paste Webhook URL">
    الصق عنوان ويب هوك من Zapier في تكوين نقطة النهاية.
  </Step>

  <Step title="Configure Transformation">
    حرر رمز التحويل لتنسيق البيانات لسير عمل Zapier الخاص بك.
  </Step>

  <Step title="Test & Create">
    اختبر باستخدام بيانات حملات تجريبية وانقر على <b>Create</b> لتنشيط التكامل.
  </Step>

  <Step title="Done!">
    🎉 ستقوم أحداث الدفع الآن بتشغيل سير عمل Zapier تلقائيًا.
  </Step>
</Steps>

## أمثلة على كود التحويل

### حمولة واجهة برمجة التطبيقات الأساسية

```javascript basic_webhook.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      payment_id: p.payment_id,
      amount: (p.total_amount / 100).toFixed(2),
      currency: p.currency || "USD",
      customer_email: p.customer.email,
      customer_name: p.customer.name,
      payment_method: p.payment_method || "unknown",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}
```

### معالج أحداث الاشتراك

```javascript subscription_webhook.js icon="js" expandable theme={null}
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.payload = {
        event_type: "subscription_started",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        customer_name: s.customer.name,
        product_id: s.product_id,
        amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
        frequency: s.payment_frequency_interval,
        next_billing: s.next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
    case "subscription.cancelled":
      webhook.payload = {
        event_type: "subscription_cancelled",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        cancelled_at: s.cancelled_at,
        cancel_at_next_billing: s.cancel_at_next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
  }
  return webhook;
}
```

### معالج تنبيه النزاع

```javascript dispute_webhook.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType.startsWith("dispute.")) {
    const d = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      dispute_id: d.dispute_id,
      payment_id: d.payment_id,
      amount: (d.amount / 100).toFixed(2),
      status: d.dispute_status,
      stage: d.dispute_stage,
      remarks: d.remarks || "",
      urgent: webhook.eventType === "dispute.opened",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}
```

## حالات استخدام Zapier الشائعة

<AccordionGroup>
  <Accordion title="Email Notifications">
    * إرسال رسائل Gmail/Outlook لتأكيدات الدفع
    * إنشاء تسلسلات بريد إلكتروني في Mailchimp/ConvertKit
    * إرسال إشعارات عبر Slack/Discord
    * إنشاء سجلات في Google Sheets
  </Accordion>

  <Accordion title="CRM Updates">
    * إضافة جهات الاتصال إلى HubSpot/Salesforce
    * إنشاء صفقات في Pipedrive/Close
    * تحديث سجلات العملاء في Airtable
    * تسجيل الأنشطة في Monday.com
  </Accordion>

  <Accordion title="Task Management">
    * إنشاء مهام في Asana/Trello
    * إضافة عناصر مهام في Notion
    * إنشاء أحداث تقويم
    * إرسال إشعارات SMS عبر Twilio
  </Accordion>
</AccordionGroup>

## نصائح

* احتفظ بهيكل الحمولة بسيطًا لسهولة تحليل Zapier
* استخدم أسماء حقول متسقة عبر جميع الأحداث
* تضمين الطوابع الزمنية لتوقيت سير العمل
* اختبر Zap الخاص بك باستخدام بيانات عينة قبل الذهاب للعرض
* استخدم الفلاتر المدمجة في Zapier للمنطق الشرطي

## استكشاف الأخطاء وإصلاحها

<AccordionGroup>
  <Accordion title="Zap not triggering">
    * التأكد من أن عنوان ويب هوك صحيح ونشط
    * التحقق من تشغيل Zap في Zapier
    * التأكد من تطابق بنية الحمولة مع توقعات Zapier
    * اختبار تسليم الويب هوك في لوحة تحكم Zapier
  </Accordion>

  <Accordion title="Data not mapping correctly">
    * التحقق من أسماء الحقول في خطوات إجراء Zapier
    * التأكد من تطابق أنواع البيانات مع التنسيقات المتوقعة
    * استخدام ميزة الاختبار في Zapier لتصحيح التعيين
    * التأكد من أن كود التحويل يعيد JSON صالحًا
  </Accordion>
</AccordionGroup>
