API پیشنهادهای مشتری

دریافت پیشنهادها، تعیین پیشنهاد اختصاصی و حذف override مشتری با REST API اینپی فای.

endpointهای پیشنهاد علاوه بر کلید API به شناسه اپلیکیشن نیاز دارند:

X-InAppify-App-ID: YOUR_APP_IDENTIFIER

اگر مشتری وجود نداشته باشد، این endpointها او را در پروژه ایجاد می‌کنند.

دریافت پیشنهادها
curl "https://api.example.com/api/v1/subscribers/customer_123/offerings" \
  -H "Authorization: Bearer YOUR_SECRET_API_KEY" \
  -H "X-InAppify-App-ID: android_app" \
  -H "Accept: application/json"
{
  "status": true,
  "data": {
    "current_offering_id": "default",
    "offerings": [
      {
        "identifier": "default",
        "isDefault": true,
        "serverDescription": "پیشنهاد اصلی",
        "is_default": true,
        "server_description": "پیشنهاد اصلی",
        "metadata": {},
        "paywall": null,
        "packages": [
          {
            "identifier": "monthly",
            "entitlement": "premium",
            "packageType": 1,
            "package_type": 1,
            "description": "اشتراک یک‌ماهه",
            "discountPercent": null,
            "discount_percent": 0,
            "name": "ماهانه",
            "product": {
              "identifier": "premium_monthly",
              "name": "اشتراک پریمیوم",
              "trialDays": 7,
              "trial_days": 7,
              "prices": [
                {
                  "price": 990000,
                  "amount": 990000,
                  "original_amount": null,
                  "currency": "IRR"
                }
              ]
            }
          }
        ]
      }
    ]
  }
}
فقط پیشنهادهایی برگردانده می‌شوند که برای اپلیکیشن انتخاب‌شده حداقل یک بسته دارای محصول داشته باشند. اگر override معتبر وجود داشته باشد، current_offering_id همان است؛ در غیر این صورت پیشنهاد پیش‌فرض انتخاب می‌شود.
تعیین پیشنهاد اختصاصی
این درخواست body ندارد. پاسخ 201 همان ساختار endpoint دریافت پیشنهادها را با current_offering_id جدید برمی‌گرداند.
curl -X POST \
  "https://api.example.com/api/v1/subscribers/customer_123/offerings/win_back/override" \
  -H "Authorization: Bearer YOUR_SECRET_API_KEY" \
  -H "X-InAppify-App-ID: android_app" \
  -H "Accept: application/json"
پیشنهاد باید در همان پروژه باشد و برای اپلیکیشن هدرشده محصول داشته باشد؛ در غیر این صورت 404 دریافت می‌کنید.
حذف پیشنهاد اختصاصی
پس از حذف override، پاسخ 200 فهرست پیشنهادها را برمی‌گرداند و current_offering_id معمولاً به پیشنهاد پیش‌فرض بازمی‌گردد.

خطاهای اختصاصی

وضعیتدلیل
422هدر X-InAppify-App-ID ارسال نشده است.
404اپلیکیشن در پروژه پیدا نشده یا پیشنهاد برای آن اپلیکیشن معتبر نیست.
403کلید مجوز مستقل همان عملیات را ندارد.