Skip to main content

وب‌هوک‌های فاکتور

وب‌هوک‌های فاکتور اطلاعات فاکتور را پس از ایجاد یا ویرایش آن به آدرس مقصد ارسال می‌کنند. ساختار کلی Payload در هر دو رویداد یکسان است؛ با این تفاوت که در وب‌هوک ویرایش، آرایه changes مشخص می‌کند کدام اطلاعات فاکتور در همان عملیات تغییر کرده‌اند.

ساختار داده ارسالی

object
اطلاعات کامل فاکتوری است که وب‌هوک برای آن ارسال شده است. در وب‌هوک ایجاد، این Object وضعیت فاکتوری تازه ایجادشده را نشان می‌دهد و در وب‌هوک ویرایش، آخرین وضعیت همان فاکتور را پس از اعمال تغییرات در اختیار شما قرار می‌دهد.
array
تغییراتی که باعث ارسال وب‌هوک ویرایش فاکتور شده‌اند در این Array قرار می‌گیرند. در وب‌هوک ایجاد، changes خالی است؛ چون فاکتور تازه ساخته شده و نسخه قبلی‌ای برای مقایسه وجود ندارد. در وب‌هوک ویرایش، هر عضو مشخص می‌کند کدام فیلد تغییر کرده، مقدار آن پیش از ویرایش چه بوده و پس از ویرایش به چه مقداری تبدیل شده است. Object data وضعیت نهایی فاکتور را نشان می‌دهد و changes فقط تغییرات همان عملیات را گزارش می‌کند.
object
اطلاعات فنی مربوط به خود رویداد وب‌هوک است، نه اطلاعات فاکتور. این Object مشخص می‌کند چه عملیاتی انجام شده، رویداد متعلق به کدام بیزدامنه و فاکتور است، چه کاربری آن را ایجاد کرده، تغییر از چه منبعی آمده و Payload توسط کدام تنظیم وب‌هوک و در چندمین تلاش ارسال شده است.

وب‌هوک ایجاد فاکتور چه زمانی ارسال می‌شود؟

وب‌هوک ایجاد فاکتور زمانی ارسال می‌شود که یک فاکتور جدید با موفقیت در دیدار ثبت شود. آبجکت data شامل اطلاعات فاکتور تازه ایجادشده است و آرایه changes خالی ارسال می‌شود، چون پیش از این عملیات رکوردی وجود نداشته که فیلدی از آن تغییر کرده باشد.

وب‌هوک ویرایش فاکتور چه زمانی ارسال می‌شود؟

وب‌هوک ویرایش فاکتور زمانی ارسال می‌شود که حداقل یکی از اطلاعات موجود در data تغییر کند. فیلدهایی که تغییر آن‌ها می‌تواند باعث ارسال این وب‌هوک شود عبارت‌اند از:
  • data.Id
  • data.BizDomainId
  • data.DealId
  • data.FinalPrice
  • data.CreatedOn
  • data.CreatorId
  • data.IsCanceled
  • data.InvoiceFormattedNumber
  • data.QuoteFormattedNumber
  • data.InvoiceType
  • data.Description
  • data.TotalPrice
  • data.TotalDiscount
  • data.TotalTaxPrice
  • data.TotalFinalPrice
  • data.QuoteExpirationDays
  • data.Items[].ProductId
  • data.Items[].ProductCode
  • data.Items[].VariantId
  • data.Items[].VariantCode
  • data.Items[].Title
  • data.Items[].VariantTitle
  • data.Items[].Description
  • data.Items[].Unit
  • data.Items[].UnitPrice
  • data.Items[].Quantity
  • data.Items[].Index
  • data.Items[].Discount
  • data.Items[].DiscountPercent
  • data.Items[].Price
  • data.Items[].TaxPrice
  • data.Items[].FinalPrice
  • data.DiscountRows
  • data.BuyerInfo
  • data.SellerInfo
اگر هیچ‌کدام از فیلدهای موجود در data تغییر نکنند، وب‌هوک ویرایش فاکتور ارسال نمی‌شود. آرایه changes عامل Trigger نیست؛ این آرایه نتیجه تغییرات انجام‌شده را گزارش می‌کند و data آخرین وضعیت فاکتور را پس از ویرایش نشان می‌دهد.

نمونه داده ارسالی