
# gRPC {/* #grpc */}

API टोकन के लिए [API से कनेक्ट करें](/docs/hi/connect-api) देखें। gRPC-Web `https://reconstruct.dev` लेता है। मूल gRPC TLS पर `reconstruct.dev:443` से जुड़ता और proto सेवा नाम से बना मेथड पथ लेता है। हर कॉल में `authorization: Bearer <token>` मेटाडेटा चाहिए।

`GetCaptureOptions` समर्थित प्रकार ID/परिवेश देता है; क्लाइंट स्थिर सूची न रखें। `CatalogPlatform.view` प्रकार (`desktop`/`mobile`), `CatalogPlatform.implementation` परिवेश है। डेस्कटॉप `web/web-extension/macos/windows/linux`, मोबाइल `web/ios/android` समर्थन करता है। `captured` सहेजी उपलब्धता है। MCP यही चयन `platform`/`environment` से करता है; पृष्ठ `view` सहेजी प्रोफ़ाइल बताता है। [MCP कैटलॉग](/docs/hi/mcp-tools) देखें।

## अनुबंध डाउनलोड करें {/* #download-the-contract */}

```bash
curl -fsSL https://reconstruct.dev/docs/proto/platform.proto -o platform.proto
```

[क्लाइंट अनुबंध](https://reconstruct.dev/docs/proto/platform.proto) में सर्वर जैसे सेवा, संदेश, फ़ील्ड नंबर हैं। HTTP annotation हटे हैं, इसलिए क्लाइंट बनाने में Google API annotation proto नहीं चाहिए।

| RPC | अनुरोध | परिणाम |
|---|---|---|
| `ListCatalogs` | `page_size`, वैकल्पिक `page_token` | `catalogs[]`, वैकल्पिक `next_page_token` |
| `GetCaptureOptions` | खाली अनुरोध | समर्थित प्लेटफ़ॉर्म/परिवेश ID, डिफ़ॉल्ट और अनुरोध प्लेटफ़ॉर्म विकल्प; प्रमाणीकरण/मापन नहीं। |
| `GetCatalog` | `catalog_id`, वैकल्पिक `version` | मेटाडेटा, चयनित `version`, प्रकाशित `versions[]`, `screens[]`, प्लेटफ़ॉर्म/भाषा विकल्प |
| `GetCatalogInsights` | `catalog_id`, वैकल्पिक `locale`, `view`, `implementation`, `section`, `version` | `version`, `technologies[]`, `rendering`, `fonts[]`, `text_styles[]`, `assets[]`, `color_themes[]`, `page_count` |

सूची जारी रखने के लिए अगली कॉल में `next_page_token` को `page_token` दें। कैटलॉग ID `ListCatalogs` से लें।

अनुबंध में `GetCatalogFile` (बाइट/सामग्री प्रकार, वैकल्पिक `version`), `CreateRequest`, `ListRequests`, `GetRequest` तथा [REST मार्गदर्शन](/docs/hi/api/rest) के खाता, रूप, अवतार, टोकन ऑपरेशन हैं। दोनों API की पहुँच आवश्यकताएँ समान हैं। `ListCatalogs` वहीं वर्णित खोज, क्रम और दोहराए फ़िल्टर लेता है।

`WatchCatalogs` में `changed`, `revision` स्ट्रीम होते हैं; एक कैटलॉग के लिए `catalog_id` दें या सूची के लिए छोड़ें। पुनः जुड़ने पर पिछली `revision` लें। `WatchRequests` अपने अनुरोधों के अमान्यकरण भेजता है। `changed` true होने पर डेटा रीफ़्रेश करें। स्ट्रीम gRPC/gRPC-Web हैं, HTTP annotation नहीं।

## क्लाइंट बनाएँ {/* #generate-a-client */}

- [Python](/docs/hi/api/grpc/python)
- [C#](/docs/hi/api/grpc/csharp)
- [TypeScript](/docs/hi/api/grpc/typescript)
- [Go](/docs/hi/api/grpc/go)
- [Rust](/docs/hi/api/grpc/rust)
- [Java](/docs/hi/api/grpc/java)
- [C++](/docs/hi/api/grpc/cpp)

## grpcurl से कॉल आज़माएँ {/* #try-a-call-with-grpcurl */}

`platform.proto` की डायरेक्टरी से, `CR_RECONSTRUCT_API_TOKEN` सेट करके:

```bash
grpcurl \
  -import-path . -proto platform.proto \
  -H "authorization: Bearer ${CR_RECONSTRUCT_API_TOKEN}" \
  -d '{"pageSize":10}' \
  reconstruct.dev:443 \
  reconstruct.platform.v1.PlatformService/ListCatalogs
```

मूल gRPC लक्ष्य में होस्ट/पोर्ट लें, URL पथ नहीं।

## खाता उपयोग और बिलिंग {/* #account-usage-and-billing */}

प्लेटफ़ॉर्म खाता सेटिंग में सदस्यता/उपयोग देखें। व्यक्तिगत API/MCP टोकन कैटलॉग/अनुरोध दे सकते हैं, खाता बिलिंग नहीं।

## मानकीकृत इंटरफ़ेस डेटा {/* #normalized-interface-data */}

[Scene डेटा प्रारूप](/docs/hi/data-format) में तटस्थ इंटरफ़ेस आर्टिफ़ैक्ट, अवस्थाएँ, संसाधन, साक्ष्य हैं। वर्तमान मानकीकृत निर्यात MCP `get_interface_scene` से मिलता है; कैटलॉग API में अलग Scene ऑपरेशन नहीं।
