Business tools
এজেন্টকে আপনার নিজের সিস্টেম কল করতে দিন।
Business tool হলো আপনার একটা HTTPS endpoint, কথোপকথনের মাঝে এজেন্ট যেটা কল করতে পারে — "আমার অর্ডার কোথায়?", "L সাইজ স্টকে আছে?", "কাল সকাল ১১টায় বুক করে দিন"।
- সহজ ভাষায় লিখুন টুলটা কখন ব্যবহার করবে — এজেন্ট এটা পড়ে।
- কোন কোন তথ্য সংগ্রহ করতে হবে তার তালিকা দিন (
order_id,date…)। URL-এর path-এ মান বসাতে{order_id}লিখুন। - আপনার endpoint JSON ফেরত দেয়; এজেন্ট সেটা থেকে কাস্টমারকে সুন্দর করে উত্তর দেয়।
আমরা যে request পাঠাই
GET https://yourshop.com/api/orders/SK10291
| Header | মান |
|---|---|
X-SKO-Signature |
t=1725000000,v1=<hex> — আপনার business signing secret দিয়ে "{t}.{body}"-এর HMAC-SHA256 |
X-SKO-Business |
আপনার ব্যবসার UUID |
X-SKO-Conversation |
কথোপকথনের UUID |
Signature যাচাই (PHP):
[$t, $v1] = array_map(fn ($p) => explode('=', $p, 2)[1], explode(',', $request->header('X-SKO-Signature')));
$expected = hash_hmac('sha256', $t.'.'.$request->getContent(), env('SKO_SIGNING_SECRET'));
abort_unless(hash_equals($expected, $v1) && abs(time() - (int) $t) < 300, 401);
GET টুলের ক্ষেত্রে signed body হলো query parameter-গুলোর JSON।
নিরাপত্তা
- শুধু পাবলিক IP-র
https://URL কল করা হয়। প্রাইভেট আর ভেতরের ঠিকানা ব্লক করা। - যেকোনো কিছু তৈরি বা বদল করে এমন টুলে Ask the customer to confirm চালু রাখুন: কল করার আগে এজেন্টকে বিস্তারিত পড়ে শুনিয়ে কাস্টমারের "হ্যাঁ" নিতে হবে।
- আপনার দেওয়া সময়ের পর কল বাতিল হয় (সর্বোচ্চ ৩০ সেকেন্ড)।
Sandbox
Endpoint বানানোর আগে বাস্তবের মতো নকল ডেটা দিয়ে টুল কল টেস্ট করতে mock://orders/{order_id}, mock://stock?sku=… বা mock://slots?date=… ব্যবহার করুন।
