پیاده سازی

طرح POST

درخواست POST ارسال شده به webhook در قالب JSON با طرح زیر خواهد بود:

Webhook Proto payload

// Represent user lead data for single column
message UserLeadColumnData {
  // Human-readable text of the field type (e.g.: Full Name,  What is your
  // preferred dealership?). This field might not always be populated.
  optional string column_name = 1;

  // Column value based on column type
  oneof column_value {
    string string_value = 2;
  }
  // Column id. Populated for all types of fields. (e.g.: FULL_NAME)
  optional string column_id = 3;
}

// Message to construct webhook JSON payload
message WebhookLead {
  // Unique id to represent lead
  optional string lead_id = 1;
  // User inputted data per column
  repeated UserLeadColumnData user_column_data = 2;
  // API version
  optional string api_version = 3;
  // Form id to which lead belonged to.
  optional int64 form_id = 4;
  // Campaign id that the lead form is associated with
  optional int64 campaign_id = 5;
  // Key to be used by advertiser to verify the request
  // is from Google.
  optional string google_key = 6;
  // Denotes if the lead is a test lead.
  optional bool is_test = 7;
  // Click ID for the lead submission.
  optional string gcl_id = 8;
  // Adgroup id which generated the lead.
  optional int64 adgroup_id = 9;
  // Creative id which generated the lead.
  optional int64 creative_id = 10;
}

شرح فیلد

میدان توضیحات
lead_id رشته منحصر به فرد که یک لید معین را مشخص می کند.

توصیه مدیریت: از این برای حذف سرنخ های دریافت شده استفاده کنید. این در تمام اشکال منحصر به فرد خواهد بود. هنگام گزارش مشکلات مربوط به یک سرنخ خاص، این شناسه مورد نیاز خواهد بود.

api_version نسخه API که این طرح اصلی به آن تعلق دارد. این در هنگام مهاجرت به یک طرحواره جدید استفاده می شود و فعلاً می توان آن را نادیده گرفت.
form_id شناسه منحصر به فرد برای هر فرم پیکربندی شده در Google Ads. محصول فعلی امکان پیوست کردن فرمی را با سطح کمپین (در مقابل پیوست کردن در سطح گروه یا تبلیغات) فراهم می‌کند.

پیامدها: لیدها را می توان تنها در سطح form_id (یعنی در سطح کمپین) برش داد.

کلاینت ها باید از 8 بایت عدد صحیح برای پردازش استفاده کنند.

campaign_id شناسه کمپین Google Ads یا شناسه مورد خط (Display & Video 360) فرم سرنخ پیوست شده.

کلاینت ها باید از یک عدد صحیح 8 بایتی برای پردازش استفاده کنند.

adgroup_id شناسه گروه تبلیغات Google Ads برای تشخیص گروه تبلیغاتی خاص در کمپین استفاده می شود. (فقط برای سرنخ ها از تبلیغات ویدیویی و اکتشافی موجود است)

کلاینت ها باید از یک عدد صحیح 8 بایتی برای پردازش استفاده کنند.

creative_id شناسه خلاقیت Google Ads برای تشخیص خلاقیت خاص در گروه تبلیغات استفاده می‌شود. (فقط برای سرنخ ها از تبلیغات ویدیویی و اکتشافی موجود است)

کلاینت ها باید از یک عدد صحیح 8 بایتی برای پردازش استفاده کنند.

gcl_id شناسه کلیک گوگل ، یک پارامتر منحصر به فرد است که برای ردیابی هر کلیک یک تبلیغ استفاده می شود.
google_key کلیدی که توسط تبلیغ کننده با هر فرم پیکربندی شده است.

توصیه مدیریت: قبل از پردازش سرنخ دریافتی از طریق webhook، اعتبارسنجی google_key مانند پیکربندی در Google Ads است تا از معتبر بودن سرنخ اطمینان بیشتری داشته باشید. این کلید را محرمانه نگه دارید و اگر دلیلی وجود دارد که این موضوع به طور گسترده درز کرده است، در Google Ads به روز کنید.

is_test این فیلد معنایی «اختیاری» دارد. اگر مقدار درست است، این سرنخ را به عنوان سرنخ آزمایشی در نظر بگیرید. اگر مقدار نادرست است یا اگر فیلد وجود ندارد، این سرنخ را به عنوان سرنخ تولید معتبر در نظر بگیرید.
user_column_data یک عدد کلید-مقدار مکرر که داده‌های ارسالی کاربر را ارسال می‌کند.
  • user_column_data.column_id : نوع داده ارسال شده توسط کاربر.
  • User_column_data.column_value : برای هر نوع داده، بسته به نوع داده، یک نوع مقدار پر می شود. همه انواع داده های فعلی ما دارای مقدار user_column_data.string_value هستند.
  • user_column_data.column_name : متن قابل خواندن توسط انسان از نوع داده ارسال شده توسط کاربر. این فیلد ممکن است همیشه پر نباشد، به جای آن از column_id استفاده کنید.
user_column_data.column_id محتوای User_column_data.string_value user_column_data.column_name (منسوخ شده)
"FULL_NAME" نام کامل کاربر "نام کامل"
"FIRST_NAME" نام کاربر "نام"
"LAST_NAME" نام خانوادگی کاربر. "نام خانوادگی"
"ایمیل" ایمیل کاربر. "ایمیل کاربر"
"PHONE_NUMBER" تلفن کاربر در قالب E.164 ، به عنوان مثال، "+11234567890" . "تلفن کاربر"
"POSTAL_CODE" کد پستی کاربر "کد پستی"
"COMPANY_NAME" نام شرکت کاربر "نام شرکت"
"JOB_TITLE" عنوان شغلی کاربر "عنوان شغلی"
"WORK_EMAIL" ایمیل کاری کاربر "ایمیل کاری"
"WORK_PHONE" تلفن کار کاربر "تلفن کار"
"STREET_ADDRESS" آدرس خیابان کاربر "آدرس خیابان"
"شهر" شهر کاربر "شهر"
"REGION" منطقه کاربر "منطقه"
"کشور" کشور کاربر "کشور"
"VEHICLE_MODEL" به کدام مدل علاقه دارید؟ N/A
"VEHICLE_TYPE" به کدام نوع وسیله نقلیه علاقه دارید؟ N/A
"PREFERRED_DEALERSHIP" نمایندگی مورد نظر خود را انتخاب کنید N/A
"VEHICLE_PURCHASE_TIMELINE" چه زمانی قصد خرید وسیله نقلیه را دارید؟ N/A
"VEHICLE_CONDITION" به چه نوع وضعیت خودرو علاقه دارید؟ N/A
"VEHICLE_OWNERSHIP" آیا شما وسیله نقلیه دارید؟ "N/A"
"VEHICLE_PAYMENT_TYPE" به کدام گزینه مالکیت وسیله نقلیه علاقه دارید؟ N/A
"COMPANY_SIZE" اندازه شرکت شما چقدر است؟ N/A
"ANNUAL_SALES" حجم فروش سالانه شما چقدر است؟ N/A
"YEARS_IN_BUSINESS" چند سال است که در تجارت هستید؟ N/A
"JOB_DEPARTMENT" بخش شغلی شما چیست؟ N/A
"JOB_ROLE" نقش شغلی شما چیست؟ N/A
"EDUCATION_PROGRAM" به کدام برنامه علاقه دارید؟ N/A
"EDUCATION_COURSE" به کدام دوره علاقه دارید؟ N/A
"محصول" به کدام محصول علاقه دارید؟ N/A
"سرویس" به کدام سرویس علاقه دارید؟ N/A
"پیشنهاد" به کدام پیشنهاد علاقه دارید؟ N/A
"CATEGORY" به کدام دسته علاقه دارید؟ N/A
"PREFERRED_CONTACT_METHOD" روش تماس مورد نظر خود را انتخاب کنید N/A
"PREFERRED_LOCATION" مکان مورد نظر خود را انتخاب کنید N/A
"PREFERRED_CONTACT_TIME" بهترین زمان برای تماس با شما چه زمانی است؟ N/A
"PURCHASE_TIMELINE" چه زمانی به دنبال خرید هستید؟ N/A
"YEARS_OF_EXPERIENCE" چند سال سابقه کار دارید؟ N/A
"JOB_INDUSTRY" در چه صنعتی کار می کنید؟ N/A
"LEVEL_OF_EDUCATION" بالاترین سطح تحصیلات شما چیست؟ N/A
"PROPERTY_TYPE" به دنبال چه نوع ملکی هستید؟ N/A
"REALTOR_HELP_GOAL" در چه مواردی به کمک مشاور املاک نیاز دارید؟ N/A
"PROPERTY_COMMUNITY" به چه جامعه ای علاقه دارید؟ N/A
"PRICE_RANGE" به دنبال چه محدوده قیمتی هستید؟ N/A
"NUMBER_OF_BEDROOMS" به دنبال چند اتاق خواب هستید؟ N/A
"FURNISHED_PROPERTY" آیا به دنبال ملکی با مبله کامل هستید؟ N/A
"PETS_ALLOWED_PROPERTY" آیا به دنبال خواصی هستید که به حیوانات خانگی اجازه دهد؟ N/A
"NEXT_PLANNED_PURCHASE" محصول بعدی که قصد خرید دارید چیست؟ N/A
"EVENT_SIGNUP_INTEREST" آیا می خواهید برای یک رویداد ثبت نام کنید؟ N/A
"PREFERRED_SHOPPING_PLACES" از کجا به خرید علاقه دارید؟ N/A
"BRAND_FAVORITE" برند مورد علاقه شما چیست؟ N/A
"TRANSPORTATION_COMMERCIAL_ LICENSE_TYPE" کدام نوع مجوز تجاری معتبر دارید؟ N/A
"EVENT_BOOKING_INTEREST" آیا علاقه مند به رزرو یک رویداد هستید؟ N/A
"DESTINATION_COUNTRY" کشور مقصد شما چیست؟ N/A
"DESTINATION_CITY" شهر مقصد شما چیست؟ N/A
"DEPARTURE_COUNTRY" کشور عزیمت شما چیست؟ N/A
"DEPARTURE_CITY" شهر عزیمت شما چیست؟ N/A
"DEPARTURE_DATE" تاریخ عزیمت شما چه زمانی است؟ N/A
"RETURN_DATE" تاریخ بازگشت شما چه زمانی است؟ N/A
"NUMBER_OF_TRAVELERS" با چند نفر سفر می کنید؟ N/A
"TRAVEL_BUDGET" بودجه سفر شما چقدر است؟ N/A
"TRAVEL_ACCOMMODATION" در طول سفر می خواهید کجا بمانید؟ N/A

جابجایی سرب

کنترل کننده های اصلی باید با کدهای HTTP زیر پاسخ دهند:

پاسخ HTTP بدنه پاسخ (JSON) خطای قابل تکرار؟
200 {} N/A
4XX {"پیام: متن خطای فرم رایگان، توضیح دهنده مشکل در درخواست"} خیر
5XX {"پیام: پیام اختیاری خطای متناوب قابل بازگشت"} بله

موارد تکراری

تضمین نمی شود که یک سرنخ دقیقاً یک بار تحویل داده شود، از این رو وب هوک مدیریت سرنخ باید موارد تکراری را به خوبی مدیریت کند.