Skip to content

Webhooks

Webhook হলো আপনার সার্ভারের একটি ঠিকানা যেখানে কিছু ঘটলে Posty5 কল করে। Posty5 কে নতুন ভিজিটের কথা জিজ্ঞেস না করে, আপনার সিস্টেম কয়েক সেকেন্ডের মধ্যে একটি JSON ইভেন্ট পায় যা এটি যাচাই করতে পারে।

একটি এন্ডপয়েন্ট তৈরি করুন

Section titled “একটি এন্ডপয়েন্ট তৈরি করুন”
  1. Posty5 ড্যাশবোর্ডে Account settings খুলুন এবং Webhooks বেছে নিন।

  2. একটি এন্ডপয়েন্ট যোগ করুন, এর HTTPS ঠিকানা দিন এবং এটি যে ইভেন্টগুলো পাবে তা বেছে নিন।

  3. আপনার সব লিংক ও QR কোড বা শুধু কয়েকটি বেছে নিন, বট ভিজিট গোনা হবে কিনা, এবং ইভেন্ট একে একে আসবে নাকি batch এ।

  4. সংরক্ষণ করুন, তারপর সাইনিং সিক্রেট কপি করুন। এটি শুধু এই একবারই দেখানো হয়।

  5. আপনার সার্ভার একটি webhook.test ইভেন্ট পায় ও যাচাই করে কিনা দেখতে Send test ব্যবহার করুন।

ঠিকানাটি অবশ্যই HTTPS ব্যবহার করবে এবং ইন্টারনেট থেকে পৌঁছানো যাবে। প্রাইভেট ও লোকাল নেটওয়ার্ক ঠিকানা প্রত্যাখ্যান করা হয়, এবং রিডাইরেক্ট অনুসরণ করা হয় না। আপনার সর্বোচ্চ 10টি এন্ডপয়েন্ট থাকতে পারে।

Event
short_link.visitedকেউ আপনার একটি শর্ট লিংক খুলেছে, লিংকের QR ছবির মাধ্যমেও।
short_link.visits_milestoneএকটি শর্ট লিংক আপনার নির্ধারিত ভিজিট সংখ্যার একটিতে পৌঁছেছে (সর্বোচ্চ 10টি মান)।
qr_code.scannedকেউ আপনার একটি ডায়নামিক QR কোড স্ক্যান করেছে।
qr_code.scans_milestoneএকটি QR কোড আপনার নির্ধারিত স্ক্যান সংখ্যার একটিতে পৌঁছেছে।
webhook.testশুধু তখনই পাঠানো হয় যখন আপনি Send test ব্যবহার করেন।

একটি ইভেন্ট দেখতে কেমন

Section titled “একটি ইভেন্ট দেখতে কেমন”

প্রতিটি ইভেন্ট একটি JSON POST যাতে থাকে একটি id, একটি type, API সংস্করণ, তৈরির সময় এবং এর ডেটা, অর্থাৎ লিংক বা QR কোড ও ভিজিট।

{
"id": "evt_6700f1c2a9e4b51d2c3f0a11",
"type": "short_link.visited",
"apiVersion": "2026-10-01",
"createdAt": "2026-10-04T12:00:00.000Z",
"data": {
"target": {
"type": "shortLink",
"id": "66f0c2a9e4b51d2c3f0a1122",
"code": "aB3xY9",
"url": "https://pst5.com/_aB3xY9",
"name": "Spring sale",
"destinationUrl": "https://shop.example/sale",
"tag": "spring",
"refId": null
},
"visit": {
"at": "2026-10-04T11:59:59.120Z",
"channel": "qr",
"country": "EG",
"deviceType": "mobile",
"os": "Android",
"browser": "Chrome",
"referrerHost": null,
"language": "ar",
"isBot": false,
"outcome": "redirect"
}
}
}

Milestone ইভেন্টে data.milestone থাকে, যাতে মেট্রিক, পৌঁছানো মান ও কখন তা থাকে, এবং কোনো ভিজিট থাকে না।

batch ডেলিভারিতে, batch ধরনের একটি POST data.events এ সর্বোচ্চ 500টি ইভেন্ট বহন করে।

যা কখনো পাঠানো হয় না

Section titled “যা কখনো পাঠানো হয় না”

ইভেন্টে কখনো ভিজিটরের IP ঠিকানা, পুরো ইউজার এজেন্ট, পুরো রেফারার ঠিকানা, ভিজিটর আইডেন্টিফায়ার বা আপনার অ্যাকাউন্ট ID থাকে না। আপনি অন্তর্ভুক্ত না করলে বট ভিজিট বাদ থাকে।

স্বাক্ষর যাচাই করুন

Section titled “স্বাক্ষর যাচাই করুন”

Posty5 প্রতিটি ডেলিভারি Standard Webhooks স্পেসিফিকেশন অনুসারে আপনার এন্ডপয়েন্টের সিক্রেট দিয়ে তিনটি হেডারে স্বাক্ষর করে। যে অনুরোধের স্বাক্ষর মেলে না বা যার টাইমস্ট্যাম্প 5 মিনিটের বেশি পুরনো, তা প্রত্যাখ্যান করুন।

  • webhook-id
  • webhook-timestamp
  • webhook-signature

Node.js এ @posty5/webhooks প্যাকেজ ব্যবহার করুন।

import { verifyWebhookSignature } from "@posty5/webhooks";
// rawBody is the request body exactly as received, before JSON parsing.
const event = verifyWebhookSignature({
payload: rawBody,
headers: request.headers,
secret: process.env.POSTY5_WEBHOOK_SECRET,
});

.NET এ Posty5.Webhooks প্যাকেজ ব্যবহার করুন।

using Posty5.Webhooks;
var webhookEvent = WebhookSignature.Verify(rawBody, headers, secret);

অন্য যেকোনো ভাষায়, যেকোনো Standard Webhooks লাইব্রেরি আপনার সিক্রেট দিয়ে Posty5 ইভেন্ট যাচাই করে।

পুনঃচেষ্টা ও ব্যর্থতা

Section titled “পুনঃচেষ্টা ও ব্যর্থতা”
  • 10 সেকেন্ডের মধ্যে যেকোনো 2xx স্ট্যাটাস দিয়ে উত্তর দিন। অন্য যেকোনো কিছু ব্যর্থতা হিসেবে গণ্য হয়।
  • ব্যর্থ ডেলিভারি 30 সেকেন্ড, 2 মিনিট, 10 মিনিট, 1 ঘণ্টা, 6 ঘণ্টা ও 24 ঘণ্টা পরে আবার চেষ্টা করা হয়, তারপর ছেড়ে দেওয়া হয়।
  • প্রতিটি পুনঃচেষ্টায় একই webhook-id থাকে, যাতে আপনার সার্ভার ইতিমধ্যে সামলানো ইভেন্ট উপেক্ষা করতে পারে।
  • অন্তত 24 ঘণ্টায় টানা 20টি ব্যর্থ ডেলিভারির পরে, অথবা 410 Gone উত্তর দিলে সঙ্গে সঙ্গে, এন্ডপয়েন্ট বন্ধ করা হয়। আপনি একটি নোটিফিকেশন পান, এবং ড্যাশবোর্ড থেকে আবার চালু করতে পারেন।
  • এন্ডপয়েন্টের ডেলিভারি তালিকা প্রতিটি চেষ্টা তার স্ট্যাটাস ও আপনার সার্ভারের উত্তরসহ দেখায়, এবং একটি ডেলিভারি আবার পাঠাতে দেয়।

সিক্রেট পরিবর্তন করুন

Section titled “সিক্রেট পরিবর্তন করুন”

সিক্রেট ফাঁস হয়ে থাকতে পারলে, এন্ডপয়েন্টের মেনু থেকে তা পরিবর্তন করুন। 24 ঘণ্টা ধরে ডেলিভারিতে দুটি স্বাক্ষর থাকে, প্রতিটি সিক্রেটের জন্য একটি, যাতে আপনি ইভেন্ট না হারিয়ে সার্ভার আপডেট করতে পারেন।

Posty5 Trigger নোড আপনার জন্য এন্ডপয়েন্ট তৈরি ও যাচাই করে। n8n Posty5 Trigger