# Licentivo खाता और खरीद एकीकरण

यह मार्गदर्शिका वर्तमान Licentivo प्रदाता बताती है। दूसरे लाइसेंसिंग सिस्टम उपयोग करने वाले व्यापारी [कस्टम HTTP प्रदाता](/hi/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 ग्रांट से सीमित रहता है।

[एप्लिकेशन एकीकरण](/hi/launch-documents/software-sdk-integration/), [खरीद/खाता सीमा](/hi/launch-documents/account-purchase-boundary/), [मैनुअल एकीकरण](/hi/launch-documents/manual-integration/) और [स्वीकृति](/hi/launch-documents/acceptance/) देखें। कार्यान्वयन `internal/adapters/licentivo/launch_bridge.go`, `internal/app/launch_trust.go`, `internal/app/purchase_sync.go` और `internal/app/identity.go` में है।
