सामग्री पर जाएँ
CADCAMFUN
दस्तावेज़

दस्तावेज़

सामग्री भंडार

लाइब्रेरी इंटरचेंज के लिए सामग्री भंडारण अनुलग्नक और JSON आयात/निर्यात।

स्वचालित अनुवाद अभी उपलब्ध नहीं है; पाठ अंग्रेज़ी में है और इंटरफ़ेस आपकी भाषा में है। अंग्रेज़ी मूल देखें

प्लेग्राउंड

इन अनुरोधों को अपने स्वयं के चल रहे साइडकार को भेजें। मान इस ब्राउज़र में रहते हैं.

जुड़े नहीं हैं
यह कैसे काम करता है

साइडकार स्टार्टअप पर चुने गए लूपबैक पोर्ट पर सुनता है और इसे प्रिंट करता है ready रेखा; उस यूआरएल का उपयोग करें और CADCAMFUN_TOKEN इसकी शुरुआत की गई थी. अनुरोध सीधे इस पृष्ठ से उस पते पर जाते हैं।

साइडकार CORS हेडर को केवल टौरी मूल और तक भेजता है http://localhost या http://127.0.0.1 किसी भी बंदरगाह पर. होस्ट किए गए दस्तावेज़ों से ब्राउज़र प्रतिक्रिया को अवरुद्ध कर देता है, इसलिए दस्तावेज़ों को स्थानीय रूप से चलाएँ (bun run dev में packages/web) खेल के मैदान का उपयोग करने के लिए, या अनुरोध को कर्ल के रूप में कॉपी करें। वास्तविक डेटा को छुए बिना प्रयोग करने के लिए, साइडकार से शुरुआत करें CADCAMFUN_DATA_DIR एक बेकार निर्देशिका की ओर इशारा किया - देखें एपीआई वॉकथ्रू.

संचालन

5 एंडपॉइंट materialsStorage समूह, साइडकार के स्वयं से उत्पन्न ओपनएपीआई दस्तावेज़. संरक्षित संचालन लेते हैं Authorization: Bearer $CADCAMFUN_TOKEN; देखना प्रमाणीकरण. व्यवहार और मर्यादा में हैं सबसिस्टम गाइड.

डाक /api/materials/{id}/storage materialsStorage.save
पाना /api/materials/{id}/storage materialsStorage.read
मिटाना /api/materials/{id}/storage materialsStorage.remove
पाना /api/materials/export-import materialsStorage.export
डाक /api/materials/export-import materialsStorage.import
3डी में सामग्री भंडारण संचालन कक्षा में खींचें · ज़ूम करने के लिए स्क्रॉल करें · पैन करने के लिए दाईं ओर खींचें
प्रति ऑपरेशन एक ब्लॉक (5), इस पृष्ठ के प्रति संसाधन अनुभाग को स्टैक्ड किया गया है और विधि के अनुसार रंगा गया है: हरा GET, नारंगी POST, नीला PUT, बैंगनी PATCH, लाल DELETE। निर्माण के समय OpenAPI दस्तावेज़ से उत्पन्न।

/api/materials

डाक /api/materials/{id}/storage # materialsStorage.save

आवश्यक है Authorization: Bearer <token>.

पैरामीटर
नाममेंप्रकारआवश्यक
पहचान पथ डोरी आवश्यक
अनुरोध का मुख्य भाग · आवश्यक · एप्लिकेशन/जेसन
unknown
जवाब
200 वस्तु application/json
{
  success: true
  message: string
  data: unknown | null
}
400 EnvBadRequestEncoded application/json
EnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 EnvForbiddenEncoded application/json
EnvForbiddenEncoded
404 EnvNotFoundEncoded application/json
EnvNotFoundEncoded
405 EnvMethodNotAllowedEncoded application/json
EnvMethodNotAllowedEncoded
500 EnvInternalEncoded application/json
EnvInternalEncoded
एसडीके उदाहरण
materialsStorage.save
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// MaterialsStorageSaveInput
const result = await client.materialsStorage.save({
  id: "<id>"
})
curl
पोस्ट /एपीआई/सामग्री/{id}/भंडारण
curl --request POST "${CADCAMFUN_URL}/api/materials/<id>/storage" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
इसे अजमाएं
पाना /api/materials/{id}/storage # materialsStorage.read

आवश्यक है Authorization: Bearer <token>.

पैरामीटर
नाममेंप्रकारआवश्यक
पहचान पथ डोरी आवश्यक
signedUrl सवाल डोरी | null वैकल्पिक
जवाब
200 वस्तु application/json
{
  success: true
  message: string
  data: unknown | null
}
400 EnvBadRequestEncoded application/json
EnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 EnvForbiddenEncoded application/json
EnvForbiddenEncoded
404 EnvNotFoundEncoded application/json
EnvNotFoundEncoded
405 EnvMethodNotAllowedEncoded application/json
EnvMethodNotAllowedEncoded
500 EnvInternalEncoded application/json
EnvInternalEncoded
एसडीके उदाहरण
materialsStorage.read
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// MaterialsStorageReadInput
const result = await client.materialsStorage.read({
  id: "<id>"
})
curl
/एपीआई/सामग्री/{id}/भंडारण प्राप्त करें
curl --request GET "${CADCAMFUN_URL}/api/materials/<id>/storage" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
इसे अजमाएं
मिटाना /api/materials/{id}/storage # materialsStorage.remove

आवश्यक है Authorization: Bearer <token>.

पैरामीटर
नाममेंप्रकारआवश्यक
पहचान पथ डोरी आवश्यक
जवाब
200 वस्तु application/json
{
  success: true
  message: string
  data: unknown | null
}
400 EnvBadRequestEncoded application/json
EnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 EnvForbiddenEncoded application/json
EnvForbiddenEncoded
404 EnvNotFoundEncoded application/json
EnvNotFoundEncoded
405 EnvMethodNotAllowedEncoded application/json
EnvMethodNotAllowedEncoded
500 EnvInternalEncoded application/json
EnvInternalEncoded
एसडीके उदाहरण
materialsStorage.remove
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// MaterialsStorageRemoveInput
const result = await client.materialsStorage.remove({
  id: "<id>"
})
curl
/एपीआई/सामग्री/{id}/भंडारण हटाएं
curl --request DELETE "${CADCAMFUN_URL}/api/materials/<id>/storage" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
इसे अजमाएं

/api/materials/export-import

पाना /api/materials/export-import # materialsStorage.export

आवश्यक है Authorization: Bearer <token>.

पैरामीटर
नाममेंप्रकारआवश्यक
आईडी सवाल डोरी | डोरी[] | null वैकल्पिक
प्रारूप सवाल डोरी | null वैकल्पिक
जवाब
200 कोई भी JSON मान application/json
unknown
400 EnvBadRequestEncoded application/json
EnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 EnvForbiddenEncoded application/json
EnvForbiddenEncoded
404 EnvNotFoundEncoded application/json
EnvNotFoundEncoded
405 EnvMethodNotAllowedEncoded application/json
EnvMethodNotAllowedEncoded
500 EnvInternalEncoded application/json
EnvInternalEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 404
/एपीआई/सामग्री/निर्यात-आयात प्राप्त करें
{
  "_tag": "EnvNotFound",
  "success": false,
  "message": "No accessible materials found",
  "errors": null
}
एसडीके उदाहरण
materialsStorage.export
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// MaterialsStorageExportInput
const result = await client.materialsStorage.export({})
curl
/एपीआई/सामग्री/निर्यात-आयात प्राप्त करें
curl --request GET "${CADCAMFUN_URL}/api/materials/export-import" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
इसे अजमाएं
डाक /api/materials/export-import # materialsStorage.import

आवश्यक है Authorization: Bearer <token>.

अनुरोध का मुख्य भाग · आवश्यक · एप्लिकेशन/जेसन
unknown
जवाब
200 वस्तु application/json
{
  success: true
  message: string
  data: unknown | null
}
400 EnvBadRequestEncoded application/json
EnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 EnvForbiddenEncoded application/json
EnvForbiddenEncoded
404 EnvNotFoundEncoded application/json
EnvNotFoundEncoded
405 EnvMethodNotAllowedEncoded application/json
EnvMethodNotAllowedEncoded
500 EnvInternalEncoded application/json
EnvInternalEncoded
एसडीके उदाहरण
materialsStorage.import
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// MaterialsStorageImportInput
const result = await client.materialsStorage.import({})
curl
पोस्ट/एपीआई/सामग्री/निर्यात-आयात
curl --request POST "${CADCAMFUN_URL}/api/materials/export-import" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
इसे अजमाएं

स्कीमा

नामित स्कीमा इस समूह के मापदंडों, निकायों और प्रतिक्रियाओं से पहुंच योग्य हैं। ए ? एक वैकल्पिक फ़ील्ड चिह्नित करता है; | null उस फ़ील्ड को चिह्नित करता है जो शून्य मान के साथ मौजूद हो सकता है।

EnvBadRequestEncoded
{
  _tag: "EnvBadRequest"
  success: false
  message: string
  errors: unknown | null
}
EnvForbiddenEncoded
{
  _tag: "EnvForbidden"
  success: false
  message: string
  errors: unknown | null
}
EnvInternalEncoded
{
  _tag: "EnvInternal"
  success: false
  message: string
  errors: unknown | null
}
EnvMethodNotAllowedEncoded
{
  _tag: "EnvMethodNotAllowed"
  success: false
  message: string
  errors: unknown | null
}
EnvNotFoundEncoded
{
  _tag: "EnvNotFound"
  success: false
  message: string
  errors: unknown | null
}
UnauthorizedEncoded
{
  _tag: "Unauthorized"
  message: string
}

इस समूह को कॉल किया जा रहा है

ऑपरेशन आईडी का फॉर्म है materialsStorage.<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 पंक्ति.