Asosiy tarkibga o'tish
Webhooklar AgencyHandy-ga biror narsa o’zgarganda tashqi tizimlaringizga ma’lumot yuborish imkonini beradi — so’rov yuborish talab qilinmaydi. Sozlangan hodisa yonida (masalan, buyurtma yangilanganda yoki tiket yaratilganda), AgencyHandy siz ko’rsatgan endpoint URL manziliga JSON yuklamali HTTP POST so’rovini yuboradi. Bu CRM-lar, hisob-kitob tizimlari yoki maxsus boshqaruv panellari kabi tashqi vositalarni real vaqtda AgencyHandy ish muhitingiz bilan sinxronlashni osonlashtiradi.
Business Pro tarifidagi ish muhitlari har bir hisob-kitob davrida 30,000 ta webhook hodisasini qo’llab-quvvatlaydi. Yuqori hajmli avtomatlashtirishlarni sozlashdan oldin tarif chegaralaringizni tekshiring.

Qo’llab-quvvatlanadigan hodisalar

Webhookni quyidagi hodisalarning istalgan kombinatsiyasiga obuna qilishingiz mumkin:
KategoriyaHodisalar
XizmatYaratildi, Yangilandi, O’chirildi
BuyurtmaYaratildi, Yangilandi, O’chirildi
VazifaYaratildi, Tayinlandi, Bajarildi, Yangilandi
Hisob-fakturaHolati o’zgardi
Mijoz / FoydalanuvchiYangi mijoz qo’shildi, Mijoz/foydalanuvchi o’chirildi
TaklifYuborildi, Olindi, Qabul qilindi, Rad etildi
TiketYaratildi, Tayinlandi, Holati o’zgardi
To’lovOlindi, Muvaffaqiyatsiz
Xizmat paketiYaratildi, Yangilandi, O’chirildi

Webhook yaratish

1

Webhook boshqaruviga o'ting

Chap panelda Integrations → Webhooks Management ga o’ting.
2

Tokeningizni tasdiqlang

Webhook tokeningizni tasdiqlash uchun Management tugmasini bosing. Ushbu token chiquvchi yuklamalarni imzolash uchun ishlatiladi, shunda ularning AgencyHandy-dan kelganligini tekshirish mumkin.
3

Yangi webhook yarating

Webhook sozlash formasini ochish uchun Create New Webhook tugmasini bosing.
4

Endpoint URL manzilini kiriting

Endpoint URL maydoniga webhook ma’lumotlarini qabul qilishi kerak bo’lgan tashqi tizimning URL manzilini kiriting. Bu ommaviy kirish mumkin bo’lgan POST endpoint bo’lishi shart.
5

Kontent turini tanlang

Kontent turi sifatida JSON ni tanlang. AgencyHandy barcha webhook yuklamalarini application/json formatida yuboradi.
6

Webhook hodisalarini tanlang

Ushbu webhookni ishga tushirishi kerak bo’lgan har bir hodisani tanlang. Bir nechta kategoriyadan hodisalar tanlanishi mumkin — masalan, Order: Created va Invoice: Status changed bir xil endpointga yo’naltirilishi mumkin.
7

Webhookni faollashtiring

Active radio tugmasini yoqing. Faol bo’lganda, AgencyHandy tanlangan barcha hodisalar uchun yuklamalarni real vaqtda endpointingizga yetkazadi.
8

Sozlamani saqlang

Sozlamalaringizni ko’rib chiqing, so’ng Save tugmasini bosing. Webhook ro’yxatda paydo bo’ladi va darhol hodisalarni yetkazishni boshlaydi.

Webhookni sinash

Webhook yaratgandan so’ng, endpointingiz qo’l yetadigan va ma’lumotlarni to’g’ri qayta ishlaydigan ekanligini tasdiqlash uchun sinov yuklamasini yuboring.
1

Webhookni oching

Webhooks Management ro’yxatidan sinab ko’rmoqchi bo’lgan webhookni bosing.
2

Test Event tugmasini bosing

Webhook tafsilot sahifasidagi Test Event tugmasini bosing.
3

Sinov hodisasini tanlang

Ushbu webhookda sozlangan hodisalar ro’yxatidan namuna hodisasini tanlang (masalan, Order: Created).
4

Sinov yuklamasini yuboring

Send tugmasini bosing. AgencyHandy endpoint URL manzilingizga namuna yuklamasini yuboradi.
5

Natijani tekshiring

Sinov yuklamasi kelganini va kutilganidek qayta ishlanganini tasdiqlash uchun tashqi tizimingizni tekshiring. AgencyHandy-ga qaytib, webhook tarixi ni ko’rish uchun webhook ichiga kiring — to’liq so’rov, endpointingiz qaytargan javob ko’rinadi va kerak bo’lsa o’tgan hodisalarni qayta yetkazish mumkin.
Haqiqiy tizimingizni ulashdan oldin aniq yuklamasini tekshirish uchun sozlash jarayonida vaqtinchalik endpoint sifatida Webhook.site yoki RequestBin kabi vositadan foydalaning.

Webhook yuklamalarini tasdiqlash

AgencyHandy-dan chiqayotgan har bir webhook so’rovi endpointingiz yuklamasining haqiqiyligini va buzilmaganligini tekshirish uchun foydalanishi mumkin bo’lgan imzo sarlavhasini o’z ichiga oladi.

Imzo sarlavhasi

x-ah-sig: <signature>
AgencyHandy ushbu sarlavhani har bir webhook so’roviga qo’shadi. Kiruvchi so’rovlardan qiymatni ajratib oling va tasdiqlash endpointiga uzating.

Webhook imzosini tasdiqlash

Yuklamasining haqiqiyligini tasdiqlash uchun quyidagi so’rovni yuboring:
POST https://api.agencyhandy.com/api/v1/webhooks/verify-signature
Content-Type: application/json
webhookId
string
talab qilinadi
Hodisani qabul qilgan webhookning ID si. Buni AgencyHandy-dagi webhook tafsilot sahifasida toping.
signature
string
talab qilinadi
Kiruvchi webhook so’rovidan x-ah-sig sarlavhasining qiymati.
secret
string
talab qilinadi
AgencyHandy-dagi webhook tafsilot sahifasida ko’rsatilgan webhook siri.
payload
object
talab qilinadi
AgencyHandy-ning webhook so’rovidan qabul qilingan xom JSON tanasi.
const url = 'https://api.agencyhandy.com/api/v1/webhooks/verify-signature';

const postData = {
  webhookId: 'your_webhook_id',
  signature: 'your_signature',   // value of x-ah-sig header
  secret: 'your_webhook_secret',
  payload: {},                   // the parsed JSON body from AgencyHandy
};

const response = await fetch(url, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify(postData),
});

const data = await response.json();
console.log(data); // { "verification_status": "SUCCESS" }
Javoblar
verification_status
string
Imzo to’g’ri bo’lsa SUCCESS. Tasdiqlash muvaffaqiyatsiz bo’lsa FAILED (HTTP 403).
Success (200)
{
  "verification_status": "SUCCESS"
}
Failure (403)
{
  "type": "PermissionError",
  "status": 403,
  "verification_status": "FAILED"
}
Webhook siringizni maxfiy saqlang. Uni davriy ravishda yangilab turing va rotatsiyadan so’ng darhol tasdiqlash mantig’ingizni yangilang. Uni mijoz tomonidagi kodda yoki ommaviy repozitoriyalarda hech qachon oshkor etmang.

Muhim eslatmalar

  • Endpoint URL manzilingiz ommaviy kirish mumkin bo’lgan HTTPS POST URL bo’lishi shart.
  • Agar endpointingiz vaqtincha mavjud bo’lmasa, AgencyHandy-dagi webhook tarixi paneliga qarang — o’tgan hodisalarni to’g’ridan-to’g’ri u yerdan qayta yetkazish mumkin.
  • Muvaffaqiyatsiz yetkazmalarni yoki ruxsatsiz kirish urinishlarini aniqlash uchun webhook faolligini muntazam kuzatib boring.
  • Qayta-qayta muvaffaqiyatsiz bo’lgan webhooklar AgencyHandy tomonidan to’xtatib qo’yilishi mumkin — muammolarni erta aniqlash uchun yetkazma jurnallarini ko’rib chiqing.