Skip to content

고객에게 부품 식별 정보 보내기 ​

이 안내서는 현재 저장소에 구현된 Infirium 화면과 수신 처리를 기준으로 작성했습니다.

어떤 때 쓰나요? ​

우리 기업이 부품을 납품한 뒤, 고객에게 “이번에 납품한 부품은 이 디지털 트윈입니다”라고 알려줄 때 씁니다. 고객은 식별 정보를 자신의 제품 구성에 연결할 때 참고할 수 있습니다.

예를 들어 모터 공급사가 완성품 제조사에 모터를 납품했다면, 모터의 제조사 품번과 고유 식별 정보를 보냅니다. 고객은 어느 모터가 도착했는지 확인한 뒤, 자신이 책임지는 제품의 BOM(부품 구성표)에 연결할지 결정합니다.

전송 성공은 고객의 BOM 반영 완료가 아닙니다. 이 기능은 제품 데이터 전체를 다운로드하거나 고객 제품의 부품 구성을 대신 편집하는 작업도 아닙니다.

보내기 전 확인 ​

  • 자사에서 생성한 제품 또는 생산 데이터를 선택합니다. 다운로드한 타사 트윈에는 보내기 버튼이 표시되지 않습니다.
  • 부품의 고유 식별자(catenaXId, 화면의 Global Asset ID)와 제조사 품번이 있어야 합니다. 제조사 식별자가 없으면 발신 조직의 BPNL을 사용합니다.
  • 받는 고객이 고객 목록에 있어야 합니다. 제품 설계는 제품 상세 개요의 공통 고객 BPN, 생산 데이터는 생산 데이터 상세의 고객 BPN에 등록된 고객에게만 보낼 수 있습니다. 목록에 없는 회사에는 보낼 수 없으니 먼저 고객으로 추가하고 저장(반영)하세요.
  • 고객 시스템도 Unique ID Push 수신 기능을 지원해야 합니다. 상대가 Infirium을 쓰는지보다 해당 수신 채널과 접근 계약이 준비되어 있는지가 중요합니다.
  • 고객이 쓰는 품번은 보낼 때 입력하지 않습니다. 공통 고객 BPN의 고객별 고객 품번에 저장해 두면 그 고객에게 보낼 때 함께 실립니다. 생산 데이터는 생산 데이터 상세 고객 BPN의 고객별 고객 품번이 실리고, 없으면 제품의 고객별 품번이 실립니다.

어디서 시작하나요? ​

보내려는 대상화면 경로
제품 설계의 부품 식별 정보제품 상세 → 개요 → 공통 고객 BPN의 고객 행 → 보내기
개별 생산 데이터의 식별 정보해당 제품의 생산 데이터 상세 → 식별 정보 → 고객 BPN의 고객 행 → 보내기
생산 데이터 여러 건을 한 고객에게제품 상세 → 생산 데이터 목록에서 행을 선택(이 페이지 전체 선택 가능) → 받을 고객 선택 → 선택한 부품 보내기

제품 상세 주소는 /ko/product/{productId}, 생산 데이터 상세 주소는 /ko/product/{productId}/instance/{instanceId}입니다. 중괄호 부분은 실제 제품·생산 데이터 ID입니다.

일괄 보내기의 받을 고객은 제품의 공통 고객 BPN 중에서 고릅니다. 고른 고객이 지정되지 않은 생산 데이터는 보내지 않고 사유를 보여 줍니다. 고객 품번은 생산 데이터마다 그 고객에게 지정된 품번(없으면 제품의 그 고객 품번)이 실립니다.

고객 행에는 그 고객에게 이 부품을 마지막으로 보낸 시각이 함께 보입니다(보낸 적 없음, 또는 시각과 함께 전송·전송 실패·전달 확인 안 됨). 아직 저장(반영)하지 않은 고객이나 고객 품번을 고치는 중인 행은 저장한 뒤에 보낼 수 있습니다.

보내는 순서 ​

  1. 실제로 이 부품을 납품한 고객의 행에서 보내기를 누릅니다.
  2. 보내기 창에서 보낼 부품, 받을 고객, 고객 품번을 확인합니다. 고객과 고객 품번은 저장된 값이 고정으로 보이며 여기서 고치지 않습니다. 품번이 없으면 "지정된 고객 품번이 없어 품번 없이 보냅니다."라고 표시됩니다.
  3. 그 아래 파트너 관계 상태가 자동으로 표시됩니다(따로 누를 버튼은 없습니다). 관계 없음이면 공유 페이지에서 관계 추가로, 관계는 있으나 준비되지 않았으면 관계 상세로 이동으로 가서 처리한 뒤 다시 엽니다.
  4. 필요하면 메모를 입력합니다(1000자 이내).
  5. 부품과 고객을 다시 확인한 뒤 전송을 누릅니다. 보내면 고객 행의 마지막 전송 시각이 바뀝니다.
  6. 완료 또는 제외 사유를 확인합니다. 고객의 BOM 연결이 필요한 업무라면 고객 담당자에게 반영 여부를 별도로 확인합니다.

어떤 정보가 가나요? ​

정보설명
부품의 고유 식별자어떤 디지털 트윈인지 가리키는 catenaXId
제조사 식별자·제조사 품번누가 만든 어떤 부품인지 구분하는 정보
생산 식별번호해당 유형과 값이 있으면 일련번호, 배치번호 또는 JIS 번호
고객 품번그 고객에게 저장된 고객 품번(생산 데이터는 그 생산 데이터에 지정된 품번, 없으면 제품의 고객 품번). 없으면 보내지 않음
메모보내기 창에 입력한 설명

현재 화면은 상위 제품, 투입 수량, 사용 위치를 지정하지 않습니다. 고객이 자기 BOM에 넣을 제품과 수량을 확정한 것으로 해석하면 안 됩니다.

결과에 따라 무엇을 하나요? ​

안내의미와 다음 행동
관계 없음고객이 아직 관계를 만들지 않았거나 API를 등록하지 않았습니다. 공유 페이지에서 관계 추가로 이동해 관계를 만듭니다.
관계 있음 · 준비되지 않음연결이 아직 끝나지 않았습니다(연결 중 · 재계약 필요 · 상대 미지원 · 실패 등 사유가 함께 표시됩니다). 관계 상세로 이동에서 상태와 사유를 확인합니다.
관계 연결됨전송 가능한 채널이 준비되었습니다. 아직 보낸 상태는 아니므로 대상 확인 후 전송합니다.
전송 성공발신 측 전송이 완료되었습니다. 수신 시스템의 개별 항목 유효성이나 BOM 반영까지 보증하지 않습니다.
일부만 전송표시된 제외 항목과 사유를 확인합니다. 이미 보낸 항목도 있으므로 전체를 바로 재전송하지 말고 누락 항목의 식별자를 먼저 수정합니다.
전송 실패오류 메시지를 확인합니다. 통신 중단이라면 상대가 이미 받았는지 확인한 뒤 재시도합니다.
전달 확인 안 됨보냈지만 고객 쪽 게이트웨이가 응답 전에 끊었거나(502·503·504) 60초 안에 응답이 없었습니다. 고객이 이미 처리했을 수 있으므로 실패로 세지 않고, 자동으로 다시 보내지도 않습니다. 다시 보내기 전에 고객에게 반영 여부를 확인합니다.

제외 사유에는 조직 내에서 대상 트윈을 찾지 못함, 고유 식별자 또는 제조사 품번 누락, 동일 식별자의 중복, 트윈 유형(설계 데이터·생산 데이터) 미지정, 받을 기업이 이 부품의 고객사가 아님 등이 있습니다. 표준 통지는 한 건에 트윈 유형을 하나만 담으므로, 설계 데이터와 생산 데이터를 함께 고르면 같은 고객에게 유형별로 통지를 나눠 보냅니다. 생산 데이터 목록에서 여러 개를 골라 보내면 일부만 보내질 수 있고, 대화상자가 제외 항목과 사유를 함께 보여 줍니다. 보낼 수 있는 항목이 하나도 없으면 성공으로 표시하지 않습니다.

고객이 Infirium을 쓴다면 ​

수신 시 실제 처리 ​

유효한 항목은 수신 통지 원장에 **보관(STORED)**됩니다. 유효 항목이 있으면 통지 상태는 RECEIVED이며, 수신 단계의 BOM 반영 건수는 0건입니다. 항목 형식이 잘못되면 해당 사유를 기록합니다. 모든 항목을 보관하지 못하면 UNMATCHED 상태가 됩니다.

받은 항목은 BOM 편집의 외부 제품 → 받은 식별 정보에 후보로 나옵니다(최근 받은 통지 기준, 같은 부품은 최근 값 하나). 받은 통지의 원문·항목별 처리 결과는 제품 관리 → 트윈 이벤트의 메시지함에서 볼 수 있습니다(방향 받음, 종류 상위 부품 연결). → 트윈 이벤트로 변경 알림 주고받기

공유 → 디지털 트윈 이벤트 API(/ko/sharing/unique-id-push-api)는 수신 채널 자산과 계약을 관리하는 화면입니다. 주고받은 통지 목록은 제품 관리 → 트윈 이벤트에 있습니다.

BOM에 연결하기 ​

수신 사실 확인과 BOM 편집은 별도 작업입니다. 받은 정보가 BOM에 자동으로 들어가지 않습니다.

  1. 고객이 소유한 상위 제품 상세 → BOM → 편집(또는 제품 등록의 BOM 단계)으로 이동합니다. 다운로드한 제품은 이 편집 대상이 아닙니다.
  2. 외부 제품 탭 → 받은 식별 정보를 선택합니다.
  3. 목록에서 부품을 고릅니다. 공급사 BPNL, 받은 시각, 공급사가 실어 보낸 우리 품번이 함께 보이고, 이미 BOM에 쓴 부품에는 연결 건수가 붙습니다.
  4. 수량·단위를 확인해 하위 부품으로 추가한 뒤 전체 구성을 저장합니다. 이렇게 연결한 하위 부품의 출처는 받은 식별 정보로 남습니다. 제품 설계 BOM에는 설계 데이터 부품만 연결할 수 있습니다.

목록에 없으면 DTR 탐색 또는 직접 입력으로 연결할 수 있습니다. → BOM 연결하기

고객이 다른 솔루션을 쓴다면 ​

같은 표준의 수신 기능과 계약이 준비되면 전송 대상이 될 수 있습니다. 다만 받은 통지를 어디에 보관하는지, 승인 화면이 있는지, 자동 연결하는지는 상대 솔루션 구현에 따라 다릅니다. Infirium의 후보 보관 방식을 타사에도 동일하게 적용해 설명하지 마세요. 고객 담당자와 수신 위치, 오류 확인 방법, BOM 반영 책임자를 미리 정하세요.

화면 이미지와 검증 범위 ​

이 문서는 코드에서 확인한 현재 화면 경로와 처리 결과를 설명합니다. 주고받은 통지는 제품 관리 → 트윈 이벤트 메시지함에서 봅니다. 보내기 창이 고객 행에서 여는 확인 단계로 바뀌어(2026-10-21) 이전 캡처는 삭제했습니다.

구현 근거 (개발·운영 담당자용) ​

  • 송신 진입점(고객 행·일괄): apps/web/src/components/product-detail/CommonCustomerBpnPanel.tsx, apps/web/src/components/traceability/instances/InstancesTab.tsx, apps/web/src/components/traceability/unique-id-push/BulkUniqueIdPushBar.tsx, apps/web/src/app/[lang]/(home)/product/[id]/instance/[instanceId]/page.tsx, apps/web/src/components/traceability/unique-id-push/CustomerUniqueIdPushAction.tsx
  • 확인·관계 상태 표시·부분 전송 표시: apps/web/src/components/traceability/unique-id-push/UniqueIdPushSendDialog.tsx, apps/web/src/components/sharing/partner/RelationStatus.tsx
  • 송신 항목 구성·고객 판정·고객 품번 결정·제외 사유: apps/api/src/module/unique-id-push/domain/build-connect-to-parent-items.ts, apps/api/src/module/unique-id-push/domain/resolve-connect-to-parent-customer.ts, apps/api/src/module/unique-id-push/usecase/send-connect-to-parent.usecase.ts
  • 고객별 마지막 전송: GET /unique-id-push/connect-to-parent/latest?shellId= — apps/api/src/module/unique-id-push/usecase/list-unique-id-push-latest-sent.usecase.ts
  • 수신 형식 검사·후보 보관 결과: apps/api/src/module/unique-id-push/usecase/receive-connect-to-parent.usecase.ts
  • 수신 원장 저장: apps/api/src/module/integration/unique-id-push/unique-id-push.service.ts
  • 원장 조회 API: GET /unique-id-push/messages, GET /unique-id-push/messages/:id(API 기본 주소 아래, 조직 인증 필요). 정의: packages/shared/interfaces/unique-id-push/unique-id-push.route.ts
  • 일반 BOM 편집·외부 연결(받은 식별 정보 포함): apps/web/src/components/passport/detail/BomEditPanel.tsx, apps/web/src/components/passport/creation/ExternalBomChildPicker.tsx
  • 받은 후보 조회: GET /unique-id-push/connect-to-parent/received — apps/api/src/module/unique-id-push/usecase/list-unique-id-push-received-candidates.usecase.ts
  • 수신 채널 관리 화면: apps/web/src/app/[lang]/(home)/sharing/unique-id-push-api/page.tsx

이 안내서는 현재 저장소에 구현된 화면을 기준으로 작성합니다.