پرش به مطلب اصلی

رویدادهای server-to-server

رویدادها را مستقیماً از سرور خود با استفاده از S2S Event API به Adtrace ارسال کنید. رویدادهای S2S در پنل مثل رویدادهای SDK نمایش داده می‌شوند.

SDK صف‌بندی، تلاش مجدد و تحویل سمت کلاینت را مدیریت می‌کند، بنابراین رویدادهای معمول درون‌برنامه‌ای را تا حد امکان از طریق SDK ارسال کنید. از S2S برای رویدادهای حساس یا اعتبارسنجی‌شده سمت سرور استفاده کنید: نه برای هر رویداد در اپ.

نصب الزامی است

قبل از پذیرش هر رویداد S2S، دستگاه باید یک نصب ثبت‌شده داشته باشد. ابتدا Adtrace SDK را روی Android، iOS یا Web یکپارچه کنید، سپس رویدادهای انتخابی را از سرور خود ارسال کنید.

مهم

قبل از ارسال رویدادهای S2S، وجود نصب دستگاه را در Testing Console در پنل تأیید کنید.

ارسال درآمد گذشته یا جمع‌بندی‌شده

می‌توانید رویدادهای S2S را هر زمان پس از وجود نصب برای یک دستگاه ارسال کنید.

موضوعرفتار
نصبباید از قبل برای آن دستگاه وجود داشته باشد.
زمان رویدادبه طور پیش‌فرض، timestamp زمانی که Adtrace درخواست را دریافت می‌کند است.
sent_atمقدار اختیاری ISO 8601 اگر به زمان رویداد خاصی نیاز دارید.
Backfill تاریخیمی‌توانید درآمد گذشته جمع‌بندی‌شده را در یک فراخوانی ارسال کنید، اما ردیف‌های رویداد تاریخی جداگانه را بازسازی نمی‌کند مگر اینکه درخواست‌های جداگانه با مقادیر sent_at مناسب ارسال کنید.

Endpoint

URLhttps://s2s.adtrace.io/s2s/event
MethodPOST
Content-Typeapplication/json
AuthorizationToken <S2S API KEY>

کلید S2S API خود را از پنل Adtrace (Dashboard → Settings) دریافت کنید.

فیلدهای رایج بدنه درخواست

فیلدالزامیتوضیحات
app_tokenبلهتوکن اپ شما از پنل. مثال: abc123xyz456
event_tokenبلهتوکن رویداد شما از پنل. مثال: xyz123
os_nameبله*"android" یا "ios" برای موبایل. برای شناسه‌های وب به Web مراجعه کنید.
revenueخیرمقدار درآمد به صورت رشته. مثال: "5000000"
currencyخیربرچسب ارز. هنگام تنظیم revenue الزامی است. مثال: "IRR"
sent_atخیرtimestamp رویداد در ISO 8601. مثال: 2024-01-01T01:01:01.001Z+0000
event_value_paramsخیرپارامترهای رویداد به صورت JSON string. مثال: "{\"key1\":\"value1\"}"

* رویدادهای Web ممکن است از web_uuid بدون os_name استفاده کنند: به بخش Web زیر مراجعه کنید.

هر درخواست باید یک شناسه دستگاه پلتفرم داشته باشد. همه شناسه‌ها را حذف نکنید.

Android

os_name را برابر "android" (حروف کوچک) تنظیم کنید.

فیلدالزامیتوضیحات
gps_adidیکی الزامی*Google Play Services advertising ID.
adtrace_adidیکی الزامی*شناسه دستگاه Adtrace (adid). هنگامی که gps_adid در دسترس نیست استفاده کنید.

شناسه‌ها را از Android SDK یا Testing Console بخوانید.

مثال (Android)

curl --location --request POST 'https://s2s.adtrace.io/s2s/event' \
--header 'Authorization: Token YOUR_S2S_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_token": "YOUR_APP_TOKEN",
"os_name": "android",
"gps_adid": "DEVICE_GPS_ADID",
"event_token": "YOUR_EVENT_TOKEN",
"revenue": "5000000",
"currency": "IRR"
}'

مثال با adtrace_adid (Android)

curl --location --request POST 'https://s2s.adtrace.io/s2s/event' \
--header 'Authorization: Token YOUR_S2S_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_token": "YOUR_APP_TOKEN",
"os_name": "android",
"adtrace_adid": "DEVICE_ADTRACE_ADID",
"event_token": "YOUR_EVENT_TOKEN"
}'

iOS

os_name را برابر "ios" (حروف کوچک) تنظیم کنید.

فیلدالزامیتوضیحات
idfaیکی الزامی*Apple Identifier for Advertisers. فقط هنگامی در دسترس است که کاربر ردیابی را مجاز کرده باشد.
adtrace_adidیکی الزامی*شناسه دستگاه Adtrace (adid). هنگامی که idfa در دسترس نیست استفاده کنید.

شناسه‌ها را از iOS SDK یا Testing Console بخوانید.

مثال (iOS)

curl --location --request POST 'https://s2s.adtrace.io/s2s/event' \
--header 'Authorization: Token YOUR_S2S_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_token": "YOUR_APP_TOKEN",
"os_name": "ios",
"idfa": "DEVICE_IDFA",
"event_token": "YOUR_EVENT_TOKEN",
"revenue": "9.99",
"currency": "USD"
}'

مثال با adtrace_adid (iOS)

curl --location --request POST 'https://s2s.adtrace.io/s2s/event' \
--header 'Authorization: Token YOUR_S2S_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_token": "YOUR_APP_TOKEN",
"os_name": "ios",
"adtrace_adid": "DEVICE_ADTRACE_ADID",
"event_token": "YOUR_EVENT_TOKEN"
}'

Web

برای یکپارچه‌سازی‌های وب، web_uuid یا adid را به عنوان شناسه دستگاه ارسال کنید. web_uuid را با Adtrace.getWebUUID() بازیابی کنید و آن را به backend خود ارسال کنید.

فیلدالزامیتوضیحات
web_uuidیکی الزامی*شناسه دستگاه وب از Web SDK.
adidیکی الزامی*شناسه دستگاه Adtrace از attribution. هنگامی که web_uuid در دسترس نیست استفاده کنید.

مثال (Web)

curl --location --request POST 'https://s2s.adtrace.io/s2s/event' \
--header 'Authorization: Token YOUR_S2S_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_token": "YOUR_APP_TOKEN",
"web_uuid": "DEVICE_WEB_UUID",
"event_token": "YOUR_EVENT_TOKEN"
}'

برای راهنمایی خاص وب، به FAQ وب: رویدادهای S2S مراجعه کنید.

عیب‌یابی

وضعیتخطااقدام
404Install for device not foundهیچ رکورد نصبی وجود ندارد. اپ یا سایت را باز کنید تا SDK یک نصب ارسال کند، سپس در Testing Console تأیید کنید.
404Device ids not foundیک شناسه دستگاه پلتفرم (gps_adid، idfa، web_uuid یا adtrace_adid) وارد کنید.
403IP address is not validIP سرور خود را به IP allowlist در پنل اضافه کنید. برای تأیید IP خروجی، curl ident.me را روی سرور اجرا کنید.
400Os name must be android or iosos_name را دقیقاً "android" یا "ios" (حروف کوچک) برای درخواست‌های موبایل تنظیم کنید.