दस्तावेज़
कुंजी-मूल्य भंडारण
उपसर्ग सूची और प्रति-कुंजी संचालन के साथ JSON-संगत प्राथमिकता और संदर्भ प्रविष्टियाँ।
स्वचालित अनुवाद अभी उपलब्ध नहीं है; पाठ अंग्रेज़ी में है और इंटरफ़ेस आपकी भाषा में है। अंग्रेज़ी मूल देखें
इन अनुरोधों को अपने स्वयं के चल रहे साइडकार को भेजें। मान इस ब्राउज़र में रहते हैं.
यह कैसे काम करता है
साइडकार स्टार्टअप पर चुने गए लूपबैक पोर्ट पर सुनता है और इसे प्रिंट करता है ready रेखा; उस यूआरएल का उपयोग करें और CADCAMFUN_TOKEN इसकी शुरुआत की गई थी. अनुरोध सीधे इस पृष्ठ से उस पते पर जाते हैं।
साइडकार CORS हेडर को केवल टौरी मूल और तक भेजता है http://localhost या http://127.0.0.1 किसी भी बंदरगाह पर. होस्ट किए गए दस्तावेज़ों से ब्राउज़र प्रतिक्रिया को अवरुद्ध कर देता है, इसलिए दस्तावेज़ों को स्थानीय रूप से चलाएँ (bun run dev में packages/web) खेल के मैदान का उपयोग करने के लिए, या अनुरोध को कर्ल के रूप में कॉपी करें। वास्तविक डेटा को छुए बिना प्रयोग करने के लिए, साइडकार से शुरुआत करें CADCAMFUN_DATA_DIR एक बेकार निर्देशिका की ओर इशारा किया - देखें एपीआई वॉकथ्रू.
संचालन
4 एंडपॉइंट kv समूह, साइडकार के स्वयं से उत्पन्न ओपनएपीआई दस्तावेज़. संरक्षित संचालन लेते हैं Authorization: Bearer $CADCAMFUN_TOKEN; देखना प्रमाणीकरण. व्यवहार और मर्यादा में हैं सबसिस्टम गाइड.
| पाना | /api/kv | kv.list |
| पाना | /api/kv/{key} | kv.get |
| रखना | /api/kv/{key} | kv.set |
| मिटाना | /api/kv/{key} | kv.remove |
/api/kv
kv.list आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| उपसर्ग | सवाल | डोरी | null | वैकल्पिक |
200 वस्तु application/json
{ entries: Array<{ key: string value: unknown updatedAt: string }> }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
{
"entries": []
} एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// KvListInput
const result = await client.kv.list({}) curl
curl --request GET "${CADCAMFUN_URL}/api/kv" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
kv.get आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| चाबी | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ key: string value: unknown updatedAt: string }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 NotFoundEncoded application/json
NotFoundEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// KvGetInput
const result = await client.kv.get({
key: "<key>"
}) curl
curl --request GET "${CADCAMFUN_URL}/api/kv/<key>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
kv.set आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| चाबी | पथ | डोरी | आवश्यक |
{ value: unknown }
200 वस्तु application/json
{ key: string value: unknown updatedAt: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// KvSetInput
const result = await client.kv.set({
key: "<key>",
value: null
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/kv/<key>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
kv.remove आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| चाबी | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ message: string }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 NotFoundEncoded application/json
NotFoundEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// KvRemoveInput
const result = await client.kv.remove({
key: "<key>"
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/kv/<key>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
स्कीमा
नामित स्कीमा इस समूह के मापदंडों, निकायों और प्रतिक्रियाओं से पहुंच योग्य हैं। ए ? एक वैकल्पिक फ़ील्ड चिह्नित करता है; | null उस फ़ील्ड को चिह्नित करता है जो शून्य मान के साथ मौजूद हो सकता है।
BadRequestEncoded{ _tag: "BadRequest" message: string }
InternalErrorEncoded{ _tag: "InternalError" message: string }
NotFoundEncoded{ _tag: "NotFound" message: string }
इस समूह को कॉल किया जा रहा है
ऑपरेशन आईडी का फॉर्म है kv.<name>. जनरेट किया गया प्रॉमिस SDK (@cadcamfun/api/sdk) उनमें से अधिकांश को इस रूप में उजागर करता है client.<namespace>.<method>(input), कहाँ input पथ पैरामीटर और बॉडी फ़ील्ड की एक सपाट वस्तु है; प्रत्येक कार्ड का एसडीके उदाहरण सटीक एक्सेसर और इनपुट प्रकार दिखाता है। मल्टीपार्ट अपलोड, बाइनरी या जावास्क्रिप्ट प्रतिक्रियाएँ और कच्चे वेबहुक उत्पन्न नहीं होते हैं; वे कार्ड दिखाते हैं fetch इसके बजाय.
import { CadCam, ClientError } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
try {
await client.projects.list()
} catch (error) {
if (error instanceof ClientError) {
// Transport | UnexpectedStatus | UnsupportedContentType | MalformedResponse | SseEventTooLarge
} else {
// a declared error body: switch on error._tag
}
} समस्या निवारण
| लक्षण | संभावित कारण | हल करना |
|---|---|---|
| हर कॉल पर 401 | पिछले लॉन्च से टोकन, या गायब Bearer उपसर्ग | भेजना Authorization: Bearer <token> टोकन के साथ साइडकार की शुरुआत की गई। |
| कुछ होने से पहले 400 | बॉडी या पैरामीटर स्कीमा से मेल नहीं खाता | कार्ड पर अनुरोध स्कीमा के साथ पेलोड की तुलना करें। |
| कहीं और दिखने वाले रिकॉर्ड पर 403 या 404 | एक्टिंग अकाउंट अलग है | सही भेजो x-session-token, या उस स्थानीय प्रोफ़ाइल का उपयोग करें जो रिकॉर्ड का स्वामी है। |
| 409 | विरोधाभासी स्थिति, जैसे डुप्लिकेट नाम या पुराना शाखा प्रमुख | संसाधन को दोबारा पढ़ें और वर्तमान डेटा के साथ पुनः प्रयास करें। |
| कोशिश करें यह कहता है "सीओआरएस द्वारा अवरुद्ध" | दस्तावेज़ गैर-लूपबैक मूल से परोसे जाते हैं | दस्तावेज़ों को स्थानीय रूप से चलाएँ या अनुरोध को कर्ल के रूप में कॉपी करें। |
| कनेक्शन नहीं हो सका | साइडकार एक नए बंदरगाह पर फिर से शुरू हुई | नए से पोर्ट पढ़ें ready पंक्ति. |