Product & BOM / Technical / api-spec.html
Technical spec

API Endpoints Specification

Đặc tả chi tiết các RESTful API endpoints, định dạng DTO, và mã phản hồi HTTP của phân hệ Product & BOM.

🔌 Danh Sách REST APIs Khai Báo (NestJS Controllers)

Bảng định nghĩa các API cổng kết nối giao tiếp ngoại vi của phân hệ.

HTTP Method Path (Endpoint) Mô tả chức năng nghiệp vụ Mã phản hồi
POST /api/v1/products Khởi tạo bản ghi Product R&D và thiết lập kết cấu linh kiện rỗng ban đầu. 201 Created
PUT /api/v1/products/:id/structures Cập nhật bản vẽ kết cấu linh kiện vật lý của sản phẩm R&D (ProductStructure). 200 OK
POST /api/v1/boms Khởi tạo định mức sản xuất (BOM) mới liên kết trực tiếp với một SKU Variant cụ thể. 201 Created
PATCH /api/v1/boms/:id/approve Phê duyệt BOM, kích hoạt trigger chụp Snapshot BomComponent và chốt danh sách RoutingSteps. 200 OK

🛡️ DTO Validations Code Context (Class Validator)

Code mẫu xác thực kiểu dữ liệu đầu vào DTO của yêu cầu tạo BOM (CreateBomDto).

import { IsString, IsNotEmpty, IsUUID, IsArray, ValidateNested } from 'class-validator';
import { Type } from 'class-transformer';

export class CreateBomDto {
  @IsUUID()
  @IsNotEmpty()
  variantId: string;

  @IsArray()
  @ValidateNested({ each: true })
  @Type(() => CreateBomComponentDto)
  components: CreateBomComponentDto[];
}