# Licentivo অ্যাকাউন্ট ও ক্রয় ইন্টিগ্রেশন

এই নির্দেশিকা বর্তমান Licentivo প্রদানকারী বর্ণনা করে। অন্য লাইসেন্স সিস্টেমের বিক্রেতা [কাস্টম HTTP প্রদানকারী](/bn/launch-documents/external-licensing/) বেছে নিতে পারেন; সে মোড Licentivo কল করে না বা তার API কী চায় না।

## প্রশাসক কনফিগারেশন

1. Licentivo-তে পণ্য ও নীতি তৈরি করুন।
2. Launch-এর **সিস্টেম সেটিংস → Licentivo**-তে রিড/রাইট ব্যবস্থাপনা কী কনফিগার করুন। Licentivo উৎস `https://www.licentivo.com` নির্দিষ্ট।
3. প্রতিটি Launch বিক্রয়-প্ল্যান সংস্করণের নীতি বাছুন। Launch পণ্য, নীতি সংস্করণ ও রানটাইম প্রদর্শন সেটিং পড়ে।
4. Launch তার একটি Licentivo ব্যবস্থাপনা সংযোগের অধীনে পৃথক sandbox/live অ্যাকাউন্ট-বিশ্বাস সংযোগ নিবন্ধন করে, পরিচয়-স্বাক্ষর পাবলিক কী ও বিক্রেতা উৎসসহ।

ব্যবস্থাপনা কী বিক্রেতা সার্ভারে এনক্রিপ্টেড থাকে। ক্লায়েন্ট ইনস্টল ফাইলে শুধু প্রকাশ্য রাউটিং তথ্য ও পিন করা প্রকাশ্য পণ্য কী থাকে।

## সার্ভার-পার্শ্ব API ক্রম

নিচের সব পাথ Licentivo-তে; Launch তার ব্যবস্থাপনা ক্রেডেনশিয়াল দিয়ে কল করে:

| এন্ডপয়েন্ট | উদ্দেশ্য |
| --- | --- |
| `GET /api/v1/products` | পণ্য আবিষ্কার |
| `GET /api/v1/policies`, `GET /api/v1/policies/{id}` | নীতি আবিষ্কার ও সংস্করণ পরীক্ষা |
| `GET /api/v1/launch/connections` | উৎস/পরিবেশ বিশ্বাস সংযোগ খুঁজুন |
| `POST /api/v1/launch/connections`, `PUT /api/v1/launch/connections/{id}` | প্রকাশ্য পরিচয় কী ও রাউটিং নিবন্ধন/আপডেট করুন |
| `PUT /api/v1/launch/connections/{id}/plans/{plan}` | অপরিবর্তনীয় বিক্রয়-প্ল্যান সংস্করণ ও Licentivo নীতি ম্যাপিং নিবন্ধন করুন |
| `POST /api/v1/launch/connections/{id}/events` | নির্দিষ্ট সংস্করণযুক্ত ক্রয় স্ন্যাপশট জমা দিন |
| `GET /api/v1/launch/connections/{id}/events/{event}` | মূল ফল পুনরুদ্ধার/জিজ্ঞাসা করুন |
| `POST /api/v1/launch/connections/{id}/events/{event}/retry` | পর্যালোচনার পর একই ইভেন্ট পুনঃপ্রচেষ্টা করুন |
| `POST /api/v1/launch/connections/{id}/session-revocations` | অ্যাকাউন্ট/সেশন প্রত্যাহারের বিজ্ঞপ্তি দিন |
| `GET /api/v1/launch/connections/{id}/session-revocations/{event}` | প্রত্যাহার রসিদ যাচাই করুন |

Launch যাচাইকৃত পেমেন্ট, অপরিবর্তনীয় পরিশোধিত কভারেজ ও বহির্গামী কাজ একটি স্থানীয় লেনদেনে রেকর্ড করে। ওয়ার্কার সম্পূর্ণ নির্দিষ্ট ক্রয় তারিখ ও স্থির ইভেন্ট ID পাঠায়। শুধু `applied` রসিদ সিঙ্ক নিশ্চিত করে; শুধু HTTP গ্রহণ নয়।

রিফান্ড ও নিশ্চিত রিভার্সাল সংশ্লিষ্ট অর্ডারের কভারেজ সরায়। পরের পূর্ণ স্ন্যাপশট সক্রিয় মূল ক্রয় রাখতে, মেয়াদ কমাতে, নিম্ন প্ল্যান ফেরাতে বা সব কভারেজ শেষ করতে পারে। পুনঃপ্রচেষ্টায় অতিরিক্ত দিন যোগ হয় না। পুরোনো ইস্যুকৃত লাইসেন্স বাইন্ডিং পুরোনো ব্যবস্থাপনা কমান্ডের স্বয়ংক্রিয় রিপ্লের বদলে স্পষ্ট মাইগ্রেশন ইভেন্ট ব্যবহার করে।

## গ্রাহক অ্যাপ প্রবাহ

1. অ্যাপ ডেস্কটপ অ্যাকাউন্ট সেশন দিয়ে Launch-এ সাইন ইন করে।
2. Launch-এর `POST /api/v1/software/products/{id}/identity` সর্বাধিক 120 সেকেন্ড স্থায়ী পরিচয় assertion ফেরায়, যা বাস্তব সেশন, পণ্য, পরিবেশ, ইস্যুকারী ও audience-এ বাঁধা।
3. Launch প্যাকেজ এটি মেমোরিতে অফিসিয়াল SDK-কে দেয়, যা `POST /api/v1/launch/exchange`-এ Licentivo-এর সঙ্গে বিনিময় করে।
4. Licentivo ডিভাইস ক্রেডেনশিয়াল ও স্বাক্ষরিত অনুমতি ইস্যু করে। SDK প্রতিটি সুরক্ষিত কাজ, ডিভাইস নীতি, রানটাইম অবস্থা ও অফলাইন নিয়ম পরীক্ষা করে।

Launch লগইন, পরিশোধিত অর্ডার বা সিঙ্ক করা ক্রয় রানটাইম অনুমতি নয়। পুরোনো `/credential` এন্ডপয়েন্ট HTTP 410 ফেরত দেয়। কাস্টম প্রদানকারী ডেলিভারি পৃথক মালিক-পরিসরের API, সেই এন্ডপয়েন্ট ফেরায় না।

ডিভাইস তালিকা, রিলিজ কোটা, বাইন্ডিং জেনারেশন ও লগআউট পুনরুদ্ধার Licentivo-এর দায়িত্ব। সেশন/অ্যাকাউন্ট প্রত্যাহার প্রতি-পরিবেশ রসিদসহ স্থায়ী বিজ্ঞপ্তি ব্যবহার করে; অফলাইন প্রত্যাহার আগে ইস্যুকৃত SDK গ্রান্টে সীমিত থাকে।

[অ্যাপ ইন্টিগ্রেশন](/bn/launch-documents/software-sdk-integration/), [ক্রয়/অ্যাকাউন্ট সীমা](/bn/launch-documents/account-purchase-boundary/), [ম্যানুয়াল ইন্টিগ্রেশন](/bn/launch-documents/manual-integration/) ও [গ্রহণযোগ্যতা](/bn/launch-documents/acceptance/) দেখুন। বাস্তবায়ন `internal/adapters/licentivo/launch_bridge.go`, `internal/app/launch_trust.go`, `internal/app/purchase_sync.go` ও `internal/app/identity.go`-তে।
