Bỏ qua để đến nội dung
Chọn ngôn ngữ:Tiếng Việt
Chọn giao diện

API chi tiết

Liệt kê, tạo, cập nhật, xóa và tìm kiếm chi tiết gia công.

Cập nhật

Đường dẫn gốc: /v1/organizations/:organization_id/parts

Phương thức Đường dẫn Mô tả
GET /parts Liệt kê mọi chi tiết
GET /parts/:id Lấy một chi tiết
POST /parts Tạo chi tiết
PATCH /parts/:id Cập nhật chi tiết
DELETE /parts/:id Xóa chi tiết
GET /parts/search Tìm theo mã chi tiết và/hoặc mô tả
{
"id": 5,
"number": "P-0042",
"description": "Cylinder Block",
"customer_number": "CB-100",
"created_at": "2025-03-01T08:00:00Z",
"updated_at": "2025-06-01T10:00:00Z",
"material": {
"id": 2,
"name": "42CrMo4",
"iso_code": "P20",
"vdi_code": "1.7225"
},
"created_by": { "id": 7, "email": "user@example.com" }
}
Tham số Kiểu Mô tả
number string Mã chi tiết. Nếu để trống khi tạo, hệ thống tự sinh theo chuỗi đánh số chi tiết của tổ chức.
description string Mô tả chi tiết
customer_number string Mã tham chiếu riêng của khách hàng
material_id integer ID của vật liệu trong thư viện vật liệu: vật liệu của chính tổ chức hoặc vật liệu dùng chung. Vật liệu của tổ chức khác trả về 422
organization_id integer Bắt buộc có trong thân yêu cầu khi tạo, không chỉ trong URL. Đoạn đường dẫn :organization_id dùng để phân quyền cho yêu cầu nhưng tự nó không gắn chi tiết mới vào tổ chức đó — hãy truyền lại trong thân yêu cầu.
user_id integer Gắn bản ghi với một người dùng cụ thể để giới hạn phạm vi theo vai trò (xem Xác thực). Để trống trừ khi bạn biết mình cần.
picture string Ảnh chi tiết dạng PNG mã hóa Base64
drawing string Bản vẽ 2D dạng DXF mã hóa Base64
model string Mô hình 3D dạng tệp STEP mã hóa Base64
Tham số Kiểu Mô tả
number string Khớp chính xác theo mã chi tiết
description string Khớp chính xác theo mô tả, không phân biệt chữ hoa chữ thường

Có thể kết hợp cả hai tham số để thu hẹp kết quả.

Hình ảnh, bản vẽ và mô hình STEP được tải lên dưới dạng chuỗi mã hóa Base64 trong thân yêu cầu JSON. Tệp được lưu trong kho lưu trữ đối tượng và gắn với bản ghi chi tiết sau khi lưu.

{
"number": "P-0042",
"description": "Cylinder Block",
"model": "<base64-encoded-step-content>"
}
# Search by part number
curl "https://api.toolingmetrics.com/v1/organizations/12/parts/search?number=P-0042" \
-H "Authorization: Bearer YOUR_TOKEN"
# Create a part — organization_id is required in the body, not just the URL
curl -X POST "https://api.toolingmetrics.com/v1/organizations/12/parts" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"number": "P-0042", "description": "Cylinder Block", "material_id": 2, "organization_id": 12}'
import requests
import base64
BASE = "https://api.toolingmetrics.com/v1"
HEADERS = {"Authorization": "Bearer YOUR_TOKEN"}
# Create a part with a STEP model attached
with open("cylinder_block.stp", "rb") as f:
model_b64 = base64.b64encode(f.read()).decode()
response = requests.post(
f"{BASE}/organizations/12/parts",
headers={**HEADERS, "Content-Type": "application/json"},
json={
"number": "P-0042",
"description": "Cylinder Block",
"material_id": 2,
"organization_id": 12,
"model": model_b64,
},
)
response.raise_for_status()
part = response.json()
print(f"Created part #{part['id']}: {part['number']}")