DOCS

Compliance requirements 확인

item에 적용되는 compliance program을 확인하고, 답변해야 할 questionnaire를 확인하세요.

GraphQL

complianceRequirements query는 Zonos Clarify의 entry point입니다. item의 HS code와 route가 주어지면 trigger된 compliance program을 반환하며, 각 program의 전체 questionnaire structure — question, option, branching logic — 를 탐색할 수 있게 해줍니다. 이를 사용해 shipment에 compliance answer가 필요한지 결정하고, 직접 questionnaire UI를 렌더링할 수 있습니다.

Scope required

이 query는 COMPLIANCE_READ scope가 필요합니다. API request 인증에 대해서는 OAuth를 참조하세요.

적용 가능한 program 확인 

item의 hsCode와 shipToCountry를 전달하여 적용되는 program을 확인하세요. 결과는 paginated된 ComplianceRequirement node connection이며, 각 node는 자신이 trigger하는 ComplianceProgram을 가리킵니다.

1query ComplianceRequirements($filter: ComplianceRequirementFilter!) {
2 complianceRequirements(filter: $filter, first: 10) {
3 totalCount
4 pageInfo {
5 hasNextPage
6 endCursor
7 }
8 edges {
9 cursor
10 node {
11 id
12 hsCode
13 shipToCountry
14 shipFromCountry
15 program {
16 id
17 code
18 name
19 programType
20 authority
21 jurisdiction
22 status
23 strictness
24 currentVersion {
25 id
26 version
27 status
28 }
29 }
30 }
31 }
32 }
33}

requirement의 shipFromCountry가 null이면 해당 program이 origin과 무관하게 적용됨을 의미합니다. filter에 shipFromCountry를 지정하면 origin이 지정된 row와 “any origin” row가 모두 match됩니다.

Filtering 및 pagination 

complianceRequirements는 ComplianceRequirementFilter와 standard cursor pagination argument(forward paging용 first/after, backward paging용 last/before)를 받습니다.

Filter field↕Type↕Notes↕
hsCodeStringHS code 완전 일치. hsCodePrefix와는 mutually exclusive.
hsCodePrefixStringPrefix match(숫자와 점만 가능, 최대 12자). hsCode와는 mutually exclusive.
shipToCountryCountryCode목적지 국가.
shipFromCountryCountryCode출발지 국가. origin이 null인 row(“any origin”)도 match됩니다.
programTypes[ComplianceProgramType!]지정한 program type만 match됩니다. Empty list인 경우 filter가 적용되지 않습니다.

예를 들어, cosmetics chapter 3304의 모든 PGA requirement를 조회하려면 다음과 같이 합니다:

1query PgaRequirements($filter: ComplianceRequirementFilter!) {
2 complianceRequirements(filter: $filter, first: 25) {
3 totalCount
4 edges {
5 node {
6 hsCode
7 shipToCountry
8 program {
9 code
10 name
11 }
12 }
13 }
14 }
15}

Program의 questionnaire 확인 

각 ComplianceProgram은 ACTIVE questionnaire인 currentVersion과, 해당 version의 questions를 display order대로 expose합니다. 각 question은 answerType, required 여부, (select type인 경우) options, 그리고 questionnaire를 분기하는 optional displayCondition을 선언합니다. 이 structure를 확인하여 직접 UI를 렌더링하거나, importer가 정확히 어떤 정보를 제공해야 하는지 파악할 수 있습니다.

1query QuestionnaireStructure($filter: ComplianceRequirementFilter!) {
2 complianceRequirements(filter: $filter, first: 1) {
3 edges {
4 node {
5 program {
6 code
7 name
8 currentVersion {
9 version
10 status
11 questions {
12 code
13 prompt
14 helpText
15 answerType
16 required
17 section
18 displayOrder
19 optionsSource
20 options {
21 value
22 label
23 displayOrder
24 }
25 displayCondition {
26 questionCode
27 operator
28 values
29 }
30 }
31 }
32 }
33 }
34 }
35 }
36}

위 example에서 contains_color_additives는 intended_use가 cosmetic일 때만 표시됩니다 — 이것이 displayCondition이 작동하는 방식입니다. 전체 branching model과 dynamic(optionsSource) option에 대한 자세한 내용은 작동 방식를 참조하세요.

다음 단계 

GraphQL API ReferenceTypes, inputs, and operations used in this guide

이 페이지가 도움이 되었나요?