وبهوکهای فعالیت
وبهوکهای فعالیت اطلاعات یک فعالیت را پس از ایجاد یا ویرایش آن به آدرس مقصد ارسال میکنند. ساختار کلی Payload در هر دو رویداد یکسان است و Objectdata آخرین وضعیت فعالیت را در زمان ارسال نشان میدهد.
تفاوت اصلی دو رویداد در changes است؛ در وبهوک ایجاد این Array خالی است و در وبهوک ویرایش، فیلدهای تغییرکرده همراه با مقدار قبلی و مقدار جدید در آن قرار میگیرند.
ساختار داده ارسالی
object
اطلاعات کامل فعالیتی که وبهوک برای آن ارسال شده است. در وبهوک ایجاد، این Object وضعیت فعالیت تازه ایجادشده را نشان میدهد و در وبهوک ویرایش، آخرین وضعیت همان فعالیت را پس از اعمال تغییرات در اختیار شما قرار میدهد.
array
تغییراتی که باعث ارسال وبهوک ویرایش فعالیت شدهاند در این Array قرار میگیرند. در وبهوک ایجاد،
changes خالی است؛ چون فعالیت تازه ساخته شده و نسخه قبلیای وجود ندارد که با آن مقایسه شود. در وبهوک ویرایش، هر عضو این Array مشخص میکند کدام فیلد فعالیت تغییر کرده، مقدار آن قبل از ویرایش چه بوده و پس از ویرایش به چه مقداری تبدیل شده است. Object data وضعیت نهایی فعالیت را نشان میدهد و changes فقط تغییرات همان عملیات ویرایش را گزارش میکند.object
اطلاعات فنی مربوط به خود رویداد وبهوک است، نه اطلاعات فعالیت. این Object مشخص میکند چه عملیاتی انجام شده، رویداد متعلق به کدام بیزدامنه و فعالیت است، چه کاربری آن را ایجاد کرده، تغییر از چه منبعی آمده و Payload توسط کدام تنظیم وبهوک و در چندمین تلاش ارسال شده است.
وبهوک ایجاد فعالیت چه زمانی ارسال میشود؟
وبهوک ایجاد فعالیت زمانی ارسال میشود که یک فعالیت جدید با موفقیت در دیدار ثبت شود. Objectdata شامل اطلاعات فعالیت تازه ایجادشده است. Array changes در این رویداد خالی ارسال میشود؛ زیرا رکورد برای اولین بار ساخته شده و نسخه قبلی برای مقایسه وجود ندارد.
وبهوک ویرایش فعالیت چه زمانی ارسال میشود؟
وبهوک ویرایش فعالیت زمانی ارسال میشود که حداقل یکی از فیلدهای موجود در Objectdata تغییر کند. فیلدهای قابل گزارش در این Payload عبارتاند از:
اطلاعات اصلی
data.Id— تغییر شناسه رکوردdata.Title— تغییر عنوانdata.Note— تغییر متن توضیح اولیهdata.ResultNote— تغییر نتیجه ثبتشدهdata.ActivityTypeId— تغییر نوع فعالیتdata.Duration— تغییر مدت
data.IsPrivate— تغییر وضعیت خصوصیبودنdata.IsDone— تغییر وضعیت انجامشدنdata.IsPinned— تغییر وضعیت پینشدنdata.IsDeleted— تغییر وضعیت حذفdata.DueDateType— تغییر نوع زمانبندیdata.RecurrenceType— تغییر نوع تکرارdata.RecurrenceData— تغییر تنظیم تکرارdata.FeedbackType— تغییر نوع بازخوردdata.CanPoke— تغییر امکان Pokedata.IsAttended— تغییر وضعیت حضورdata.IsTicket— تغییر وضعیت تیکتبودنdata.ActivityGroupType— تغییر نوع گروه فعالیت
data.DealId— تغییر معامله مرتبطdata.CaseId— تغییر کارت مرتبطdata.CreatorId— تغییر ایجادکننده رکوردdata.OwnerId— تغییر مسئول رکوردdata.UpdaterId— تغییر آخرین ویرایشکنندهdata.ActivityGroupId— تغییر گروه فعالیتdata.ContactIds— تغییر اشخاص مرتبطdata.ContactIds[]— تغییر اشخاص مرتبطdata.CompanyIds— تغییر شرکتهای مرتبطdata.UserIds— تغییر کاربران مرتبطdata.Attachments— تغییر پیوستهاdata.Tags— تغییر تگها
data.DueDate— تغییر زمان سررسیدdata.FinishDate— تغییر زمان پایان برنامهریزیشدهdata.OriginalDueDate— تغییر زمان سررسید اولیهdata.DoneDate— تغییر زمان انجامdata.RegisterDate— تغییر زمان ایجادdata.LastUpdateTime— تغییر زمان آخرین ویرایشdata.LastPokeDate— تغییر زمان آخرین Pokedata.RecurrenceEndDate— تغییر زمان پایان تکرارdata.NextOccurrence— تغییر زمان رخداد بعدی
data تغییر نکنند، وبهوک ویرایش فعالیت ارسال نمیشود. Array changes عامل Trigger نیست؛ این Array فقط فیلدهای تغییرکرده را گزارش میکند و data وضعیت نهایی فعالیت را پس از ویرایش نشان میدهد.