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

दस्तावेज़

औजार

एप्लिकेशन मशीनिंग वर्कफ़्लोज़ द्वारा उपयोग किए जाने वाले कटर रिकॉर्ड और आयाम।

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

प्लेग्राउंड

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

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

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

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

संचालन

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

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

/api/tools

पाना /api/tools # tools.list

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

पैरामीटर
नाममेंप्रकारआवश्यक
प्रकार सवाल डोरी | null वैकल्पिक
सामग्री सवाल डोरी | null वैकल्पिक
व्यास सवाल डोरी | null वैकल्पिक
खोज सवाल डोरी | null वैकल्पिक
जनता सवाल डोरी | null वैकल्पिक
जवाब
200 सारणी<ऑब्जेक्ट> application/json
Array<{
  id: string
  name: string
  type: string
  diameter: number | "Infinity" | "-Infinity" | "NaN"
  material: string
  numberOfFlutes: number | "Infinity" | "-Infinity" | "NaN" | null
  maxRPM: number | "Infinity" | "-Infinity" | "NaN" | null
  coolantType: string | null
  cuttingLength: number | "Infinity" | "-Infinity" | "NaN" | null
  totalLength: number | "Infinity" | "-Infinity" | "NaN" | null
  shankDiameter: number | "Infinity" | "-Infinity" | "NaN" | null
  cornerRadius?: number | "Infinity" | "-Infinity" | "NaN" | null
  tipAngle?: number | "Infinity" | "-Infinity" | "NaN" | null
  threadPitch?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  stickout?: number | "Infinity" | "-Infinity" | "NaN" | null
  notes: string | null
  isPublic: boolean
  createdAt: string
  updatedAt: string
  ownerId: string | null
  organizationId: string | null
}>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
/एपीआई/टूल्स प्राप्त करें
[]
एसडीके उदाहरण
tools.list
import { CadCam } from "@cadcamfun/api/sdk"

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

// ToolsListInput
const result = await client.tools.list({})
curl
/एपीआई/टूल्स प्राप्त करें
curl --request GET "${CADCAMFUN_URL}/api/tools" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
इसे अजमाएं
डाक /api/tools # tools.create

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

अनुरोध का मुख्य भाग · आवश्यक · एप्लिकेशन/जेसन
{
  name?: string | null
  type?: string | null
  diameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  material?: string | null
  numberOfFlutes?: number | "Infinity" | "-Infinity" | "NaN" | null
  maxRPM?: number | "Infinity" | "-Infinity" | "NaN" | null
  coolantType?: string | null
  cuttingLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  totalLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  shankDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  cornerRadius?: number | "Infinity" | "-Infinity" | "NaN" | null
  tipAngle?: number | "Infinity" | "-Infinity" | "NaN" | null
  threadPitch?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  stickout?: number | "Infinity" | "-Infinity" | "NaN" | null
  notes?: string | null
  organizationId?: string | null
  isPublic?: boolean | null
}
जवाब
201 वस्तु application/json
{
  id: string
  name: string
  type: string
  diameter: number | "Infinity" | "-Infinity" | "NaN"
  material: string
  numberOfFlutes: number | "Infinity" | "-Infinity" | "NaN" | null
  maxRPM: number | "Infinity" | "-Infinity" | "NaN" | null
  coolantType: string | null
  cuttingLength: number | "Infinity" | "-Infinity" | "NaN" | null
  totalLength: number | "Infinity" | "-Infinity" | "NaN" | null
  shankDiameter: number | "Infinity" | "-Infinity" | "NaN" | null
  cornerRadius?: number | "Infinity" | "-Infinity" | "NaN" | null
  tipAngle?: number | "Infinity" | "-Infinity" | "NaN" | null
  threadPitch?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  stickout?: number | "Infinity" | "-Infinity" | "NaN" | null
  notes: string | null
  isPublic: boolean
  createdAt: string
  updatedAt: string
  ownerId: string | null
  organizationId: string | null
}
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 ForbiddenEncoded application/json
ForbiddenEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
tools.create
import { CadCam } from "@cadcamfun/api/sdk"

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

// ToolsCreateInput
const result = await client.tools.create({
  name: "",
  type: "",
  diameter: 0,
  material: "",
  numberOfFlutes: 0,
  maxRPM: 0,
  coolantType: "",
  cuttingLength: 0,
  totalLength: 0,
  shankDiameter: 0,
  cornerRadius: 0,
  tipAngle: 0,
  threadPitch: 0,
  holderDiameter: 0,
  holderLength: 0,
  stickout: 0,
  notes: "",
  organizationId: "",
  isPublic: false
})
curl
पोस्ट/एपीआई/टूल्स
curl --request POST "${CADCAMFUN_URL}/api/tools" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
इसे अजमाएं
पाना /api/tools/{id} # tools.get

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

पैरामीटर
नाममेंप्रकारआवश्यक
पहचान पथ डोरी आवश्यक
जवाब
200 वस्तु application/json
{
  id: string
  name: string
  type: string
  diameter: number | "Infinity" | "-Infinity" | "NaN"
  material: string
  numberOfFlutes: number | "Infinity" | "-Infinity" | "NaN" | null
  maxRPM: number | "Infinity" | "-Infinity" | "NaN" | null
  coolantType: string | null
  cuttingLength: number | "Infinity" | "-Infinity" | "NaN" | null
  totalLength: number | "Infinity" | "-Infinity" | "NaN" | null
  shankDiameter: number | "Infinity" | "-Infinity" | "NaN" | null
  cornerRadius?: number | "Infinity" | "-Infinity" | "NaN" | null
  tipAngle?: number | "Infinity" | "-Infinity" | "NaN" | null
  threadPitch?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  stickout?: number | "Infinity" | "-Infinity" | "NaN" | null
  notes: string | null
  isPublic: boolean
  createdAt: string
  updatedAt: string
  ownerId: string | null
  organizationId: string | null
  owner: {
    id: string
    name: string | null
    email: string | null
  } | null
  organization: {
    id: string
    name: string
  } | null
}
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 NotFoundEncoded application/json
NotFoundEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
tools.get
import { CadCam } from "@cadcamfun/api/sdk"

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

// ToolsGetInput
const result = await client.tools.get({
  id: "<id>"
})
curl
प्राप्त करें /एपीआई/टूल्स/{id}
curl --request GET "${CADCAMFUN_URL}/api/tools/<id>" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
इसे अजमाएं
रखना /api/tools/{id} # tools.update

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

पैरामीटर
नाममेंप्रकारआवश्यक
पहचान पथ डोरी आवश्यक
अनुरोध का मुख्य भाग · आवश्यक · एप्लिकेशन/जेसन
{
  name?: string | null
  type?: string | null
  diameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  material?: string | null
  numberOfFlutes?: number | "Infinity" | "-Infinity" | "NaN" | null
  maxRPM?: number | "Infinity" | "-Infinity" | "NaN" | null
  coolantType?: string | null
  cuttingLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  totalLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  shankDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  cornerRadius?: number | "Infinity" | "-Infinity" | "NaN" | null
  tipAngle?: number | "Infinity" | "-Infinity" | "NaN" | null
  threadPitch?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  stickout?: number | "Infinity" | "-Infinity" | "NaN" | null
  notes?: string | null
  organizationId?: string | null
  isPublic?: boolean | null
}
जवाब
200 वस्तु application/json
{
  id: string
  name: string
  type: string
  diameter: number | "Infinity" | "-Infinity" | "NaN"
  material: string
  numberOfFlutes: number | "Infinity" | "-Infinity" | "NaN" | null
  maxRPM: number | "Infinity" | "-Infinity" | "NaN" | null
  coolantType: string | null
  cuttingLength: number | "Infinity" | "-Infinity" | "NaN" | null
  totalLength: number | "Infinity" | "-Infinity" | "NaN" | null
  shankDiameter: number | "Infinity" | "-Infinity" | "NaN" | null
  cornerRadius?: number | "Infinity" | "-Infinity" | "NaN" | null
  tipAngle?: number | "Infinity" | "-Infinity" | "NaN" | null
  threadPitch?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderDiameter?: number | "Infinity" | "-Infinity" | "NaN" | null
  holderLength?: number | "Infinity" | "-Infinity" | "NaN" | null
  stickout?: number | "Infinity" | "-Infinity" | "NaN" | null
  notes: string | null
  isPublic: boolean
  createdAt: string
  updatedAt: string
  ownerId: string | null
  organizationId: string | null
}
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 ForbiddenEncoded application/json
ForbiddenEncoded
404 NotFoundEncoded application/json
NotFoundEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
tools.update
import { CadCam } from "@cadcamfun/api/sdk"

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

// ToolsUpdateInput
const result = await client.tools.update({
  id: "<id>",
  name: "",
  type: "",
  diameter: 0,
  material: "",
  numberOfFlutes: 0,
  maxRPM: 0,
  coolantType: "",
  cuttingLength: 0,
  totalLength: 0,
  shankDiameter: 0,
  cornerRadius: 0,
  tipAngle: 0,
  threadPitch: 0,
  holderDiameter: 0,
  holderLength: 0,
  stickout: 0,
  notes: "",
  organizationId: "",
  isPublic: false
})
curl
/एपीआई/टूल्स/{id} डालें
curl --request PUT "${CADCAMFUN_URL}/api/tools/<id>" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
इसे अजमाएं
मिटाना /api/tools/{id} # tools.remove

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

पैरामीटर
नाममेंप्रकारआवश्यक
पहचान पथ डोरी आवश्यक
जवाब
200 वस्तु application/json
{
  message: string
}
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
403 ForbiddenEncoded application/json
ForbiddenEncoded
404 NotFoundEncoded application/json
NotFoundEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
tools.remove
import { CadCam } from "@cadcamfun/api/sdk"

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

// ToolsRemoveInput
const result = await client.tools.remove({
  id: "<id>"
})
curl
हटाएं /एपीआई/टूल्स/{id}
curl --request DELETE "${CADCAMFUN_URL}/api/tools/<id>" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
इसे अजमाएं

स्कीमा

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

BadRequestEncoded
{
  _tag: "BadRequest"
  message: string
}
ForbiddenEncoded
{
  _tag: "Forbidden"
  message: string
}
InternalErrorEncoded
{
  _tag: "InternalError"
  message: string
}
NotFoundEncoded
{
  _tag: "NotFound"
  message: string
}
UnauthorizedEncoded
{
  _tag: "Unauthorized"
  message: string
}

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

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