API 마이그레이션 가이드

v1에서 v2로 마이그레이션

이 API 마이그레이션 가이드는 현재 통합을 업데이트하여 새로운 Gori API v2와 함께 작동하도록 하기 위해 수행해야 하는 작업에 대한 구체적인 세부 정보를 제공하기 위해 작성되었습니다.

📌 중요해요!

이 마이그레이션 가이드는 2024년 6월에 지원 중단되는 Gori API v2와 Gori API v1의 차이점에 대해 설명합니다. 사용자는 가능한 한 빨리 마이그레이션할 것을 강력히 권장합니다. Swagger로 이전된 Gori API v2 문서는 다음 링크에서 참조하세요. https://docs-dev.goricompany.com/api/documentation.

API 인증을 OAuth 2.0으로 업데이트하기

Gori는 보안을 강화하고, 사기를 줄이며, 향상된 API 기능을 제공하기 위해 모든 API에 OAuth 2.0 보안 모델을 구현했습니다. 새로운 보안 프로세스의 일환으로 Gori는 API에 대한 기존 API 키 인증을 더 이상 사용하지 않을 것입니다. 2024년 5월 31일 이후에는 더 이상 API 키를 배포하지 않으며, 모든 API 요청 시 베어러 토큰을 전송하여 OAuth 2.0 보안 모델을 구현해야 하는 모든 API 트랜잭션에 대해 클라이언트를 요구할 것입니다. 향후 서비스 중단을 방지하기 위해 가능한 한 빨리 OAuth 2.0으로 통합을 마이그레이션하시기 바랍니다.

OAUTH 2.0을 사용하여 인증하는 방법에 대한 자세한 지침은 이 가이드의 마지막에 있는 API 인증을 참조하세요.

엔드포인트 URL을 v1에서 v2로 업데이트하기

Gori는 API 요청을 할 수 있는 두 가지 다른 API 환경을 지원합니다. 서로 다른 환경에서는 애플리케이션을 프로덕션 환경으로 이동하기 전에 Gori API 호출을 테스트할 수 있습니다. API의 기본 URL을 사용하여 타겟팅하려는 특정 환경을 지정할 수 있습니다.

다음 표는 Gori API v2에서 사용 가능한 스테이징 및 프로덕션 기반 URL을 보여줍니다.

환경 URL
스테이징
https://staging.api.goricompany.com/v2
프로덕션
https://api.goricompany.com/v2
v1 대신 v2를 사용하려면 다음 예시와 같이 새 v2 엔드포인트를 사용하도록 요청을 업데이트해야 합니다: v1로 배송 엔드포인트 GET 메서드를 호출하려면 다음 URL을 사용합니다:

GET https://api.goricompany.com/v1/shipments

v2의 경우 URL을 다음과 같이 업데이트합니다:

GET https://api.goricompany.com/v2/shipments

필요한 변경 사항 적용

새로운 OAUTH 2.0 인증 방법을 구현하는 것 외에도 아래에 설명된 몇 가지 획기적인 API 변경 사항을 도입했습니다.

📌 참고!

기존 Gori API 사용과 관련된 필수 변경 사항만 수행하면 됩니다. 미국 영토, 군대 주소, 외교 주소 또는 해외로 배송하는 경우 배송 생성 요청에 새 HS 관세 번호 및 원산지 속성을 포함해야 합니다(https://docs-dev.goricompany.com/api/documentation#/Shipments/createShipment).

1. 새로운 OAUTH 2.0 POST /auth/token 엔드포인트. 새로운 OAUTH 2.0 액세스 토큰 엔드포인트를 사용하여 인증하는 방법에 대한 자세한 지침은 다음 API 인증 섹션을 참조하세요.

2. ship_date라는 새 속성이 POST /shipments 엔드포인트에 추가되었습니다. 이 속성은 USPS 및 FedEx One Rate 배송에 대해 지정해야 합니다. 지정하지 않으면 배송이 생성된 날짜가 기본값으로 사용됩니다.

📌 중요해요!

지정한 날짜는 배송이 생성된 날짜로부터 7일을 넘지 않아야 합니다. 지정한 날짜가 배송 날짜보다 작으면 오류가 반환되고 배송이 생성되지 않습니다.

3. GET /배송/요금, POST /배송 및 POST /return_배송 엔드포인트의 packageType 속성이 package_type으로 변경되었습니다.

4. 요청에 제공된 우편번호 속성에 대한 값이 없는 경우 응답에 반환되는 값은 빈 문자열 대신 null이 됩니다.

5. HS 관세 번호는 세계관세기구에서 개발한 통일 상품 설명 및 코딩 시스템을 기반으로 해야 합니다. 자세한 내용은 다음을 참조하세요: https://hts.usitc.gov/current. HS 관세 번호를 지정하려면 아래와 같이 배송 요청 생성에 hs_tariff_number 속성 및 HTS 코드(6~14자)를 포함합니다:

{"shipment": {"customs": {"items": [ {"hs_tariff_number": "3926.20"} ] } } }

6. 원산지 국가는 ISO에서 정의한 2자리 영문 국가 코드로, 국제 주소에 필수입니다. 참조하세요: https://www.iso.org/obp/ui/#search 에서 전체 코드 목록을 확인하세요. 원산지를 지정하려면 아래와 같이 배송 요청 생성에 country_of_origin 속성 및 ISO Alpha-2 코드(2자)를 포함하세요:

{ "shipment": {"customs": {"items": [ {"country_of_origin" : "US"} ] } } }

7. 이제 오류 응답에 "log_id"라는 새로운 속성이 포함됩니다.

8. POST /shipments 엔드포인트 및 POST /return_shipments 엔드포인트의 참조1 및 참조2 속성이 참조_1 및 참조_2로 변경되었습니다.

테스트

프로덕션 환경으로 이동하기 전에 준비 환경에서 테스트해 보시기 바랍니다. 스테이징 또는 프로덕션에 대한 자격 증명을 제공받지 못한 경우 다음 주소로 지원 티켓을 개설하세요. support@goricompany.com.

도움 받기

문서를 검토한 후에도 여전히 도움이 필요하거나 다른 이유로 연락이 필요한 경우 다음 주소에서 지원 티켓을 열 수 있습니다. support@goricompany.com 에서 지원 티켓을 개설하시면 저희 팀에서 도움을 드릴 것입니다. 모든 이메일에 최대한 신속하게 답변해드리기 위해 노력하고 있습니다.

API 인증

Gori는 각 클라이언트에 대해 클라이언트 ID 및 클라이언트 비밀이라는 고유한 스테이징 및 프로덕션 OAuth 2.0 자격 증명 집합을 생성합니다. 각 인증 요청의 본문에 이러한 자격 증명을 전달하여 OAuth 2.0 서버에서 새 액세스 토큰을 검색합니다. 그런 다음 액세스 토큰을 사용하여 후속 요청에서 API 요청의 인증 역할을 수행합니다. 다음 섹션에서는 이러한 각 단계에 대해 설명합니다.

OAuth 2.0 자격 증명 얻기

다음에 로그인하여 자격 증명에 액세스할 수 있습니다. https://www.shipbae.com 에 로그인하고 아래와 같이 API 키로 이동합니다. support@goricompany.com 로 문의하세요:
ShipBae의 OAuth 2.0 크렌디셜

📌 중요해요!

공개적으로 자격 증명을 사용하거나 공개해서는 안 됩니다.

액세스 토큰 받기

유효한 자격증명 집합이 있으면(OAuth 2.0 자격증명 가져오기 참조) 다음 단계에 따라 인증 요청을 구성하고 만들 수 있습니다:

1. 권한 부여 API 엔드포인트를 지정합니다:

https://staging.api.goricompany.com/auth/token

2. 콘텐츠 유형 헤더를 추가하여 미디어 유형을 JSON으로 설정합니다:

콘텐츠 유형: application/json

3. 마지막으로 curl과 같은 도구를 사용하여 API 요청을 합니다:

curl -location'https://staging.api.goricompany.com/v2/auth/token/'

-헤더 '콘텐츠 유형: 애플리케이션/json'\

-data '{

"client_id": "{your-client-id}",

"client_secret": "{your-client-secret}",

"grant_type": "client_credentials"

}'

4. API 요청이 완료되면 다음 예시와 같이 OAuth 2.0 서버가 새 토큰으로 응답해야 합니다:

'{

"토큰 유형": "무기명",

"expires_in": 43200,

"access_token": "{access_token}"

}'

📌 중요해요!

액세스 토큰은 12시간 동안 유효합니다. 현재 액세스 토큰이 만료되기 전에 권한 부여 API 엔드포인트에서 새 액세스 토큰을 받는 것이 좋습니다.

유효한 액세스 토큰이 있으면 다음 섹션에 설명된 대로 보호된 리소스에 API 요청을 할 수 있습니다.

요청하기

보호된 리소스에 액세스하려면 클라이언트 인증(액세스 토큰 가져오기) 중에 OAuth 2.0 서버에서 반환한 액세스 토큰을 사용해야 합니다. 이 액세스 토큰은 베어러 HTTP 인증 체계(베어러 인증이라고 함)를 사용하는 후속 API 요청에서 "베어러 토큰"으로 사용됩니다. 클라이언트는 보호된 리소스에 요청할 때 이 베어러 토큰을 HTTP 권한 부여 헤더로 보내야 합니다. 다음은 베어러 토큰(액세스 토큰)과 함께 권한 부여 헤더의 형식을 보여줍니다:

Authorization: Bearer {access_token}

The way to do this using a tool like curl is to use the –header flag, which is used to include an extra header in the request when sending HTTP requests to a server. In our case, –header "Authorization: Bearer {access_token}". For example, to authenticate and retrieve all shipments execute:

curl --location'https://staging.api.goricompany.com/v2/shipments?
page_size=100&page=1&id_after=0&reference_1=12345&created_at_before=2021-07-27'\

--헤더 '수락: 애플리케이션/json'\.

‐‐header 'Authorization: Bearer {access_token)'

Requests with no Authorization header will be rejected with a 401 status code. If this occurs, you need to get a new access token and try the request again

API 迁移指南

从 v1 迁移到 v2

本 API 迁移指南旨在为您提供有关更新当前集成以使⽤新的 Gori API v2 所需执⾏的操作的具体详细信息。

📌 重要的!
本迁移指南记录了 Gori API v2 和将于 2024 年 6 月停⽤的 Gori API v1 之间的差异。
强烈建议⽤⼾尽快迁移。

请参阅已移至 Swagger 的 Gori API v2 ⽂档(⽹址为 https://docs‑dev.goricampany.com/api/documentation )。

将 API 身份验证更新为 OAuth 2.0

Gori 为所有 API 实施了 OAuth 2.0 安全模型,以增强安全性、减少欺诈并提供增强的 API 功能。作为新安全流程的一部分,Gori 将弃⽤我们 API 的现有 API 密钥 身份验证。 Gori 将不再分发 API 密钥,2024 年 5 月 31 ⽇之后与 Gori 的所有 API 交易都将要求客⼾通过在每个 API 请求中发送不记名令牌来实施 OAuth 2.0 安全模型。请确保您的集成已尽快迁移到 OAuth 2.0,以防止未来的服务中断。

有关如何使⽤ OAUTH 2.0 进⾏身份验证的详细说明,请参阅本指南末尾的 API 身份验证。

将端点 URL 从 v1 更新为 v2

Gori 支持两种不同的 API 环境,您可以向其中发出 API 请求。不同的环境允许您在将应⽤程序转移到生产环境之前测试对 Gori API 的调⽤。您可以使⽤ API 的基 本 URL 来定位要定位的特定环境。

下表显示了 Gori API v2 的可⽤暂存和生产基础 URL。
环境 ⽹址
分期
https://api-staging.goricompany.com/v2
生产
https://api.goricompany.com/v2
要使⽤ v2 而不是 v1,您需要更新请求以使⽤新的 v2 端点,如以下示例所示: 要使⽤ v1 调⽤发货端点 GET 方法,您可以使⽤以下 URL:

获取 https://api.goricampany.com/v1/shipments

对于 v2,将 URL 更新为以下内容:

获取 https://api.goricompany.com/v2/shipments

进⾏必要的更改

除了实施新的 OAUTH 2.0 身份验证方法外,我们还对 API 进行了多项重大更改,如下所述。

📌 注意:

您只需进行与您目前使用的 Gori API 相关的必要更改。如果您要将货物运送到美国领土、军事地址、外交地址或国际地址,则需要开始在创建货件请求 https://docs-dev.goricampany.com/api/documentation#/Shipments/createShipment 中包含新的 HS 关税编号和原产国属性。

1. 新的 OAUTH 2.0 POST /auth/token 端点。请参阅以下 API 身份验证部分,了解有关如何使用新的 OAUTH 2.0 访问令牌端点进行身份验证的详细说明。

2. 一个名为 ship_date 的新属性已添加到 POST /shipments 端点。必须为 USPS 和 FedEx 单一费率货件指定此属性。如果未指定,则将使用货件创建日期作为默认值。

📌 重要的!

指定的日期不得晚于货件创建日期后的 7 天。如果指定的日期早于货件日期,则会返回错误,并且不会创建货件。

3. GET /shipments/rates 的 packageType 属性, POST /shipments 和 POST /return_shipments 端点已更改为 package_type。

4. 如果请求中没有提供 zipcode 属性的值,则响应中返回的值将为 null,而不是空字符串。

5. HS 关税编号必须基于世界海关组织制定的《协调商品描述及编码系统》。有关更多信息,请参阅:https://hts.usitc.gov/current。要指定 HS 关税编号,请在创建货件请求中包含 hs_tariff_number 属性和 HTS 代码(6 到 14 个字符),如下所示:

{"shipment": {"customs": {"items": [ {"hs_tariff_number": "3926.20"} ] } } }

6. 원산지는 ISO에서 정의한 2자리 모국 국가 코드이며 국제 주소가 필요합니다. 참고: https://www.iso.org/obp/ui/#search获取完整的代码列表. 원산지를 지정하려면 상품 요청에 country_of_origin 속성과 ISO Alpha-2 코드(2자리)를 포함하세요.

{ "shipment": {"customs": {"items": [ {"country_of_origin ": "US"} ] } } }

7. 오류 응답에는 "로그_ID"라는 새로운 속성이 포함됩니다.

8. POST /배송 단점과 POST /return_배송 단점의 참조1 및 참조2 속성이 참조_1 및 참조2로 변경되었습니다.

테스트

제품 구매 전에 저희의 환경 내에서 테스트를 진행합니다. 등록 또는 제품 데이터를 얻지 못한 경우 다음을 통해 문의하시기 바랍니다.support@goricompany.com 打开支持票证

도움말 찾기

확인 후 도움이 필요하거나 다른 원인으로 인해 연락이 필요한 경우 다음을 통해 연락할 수 있습니다.support@goricompany.com打开支持票证我们团队的员将提供您帮助。我们致⼒为快回复所有电邮件。

API 신원 인증

Gori는 각 고객단말이 고객단말 ID와 고객단말 비밀번호라고 하는 고유한 OAuth 2.0 데이터를 생성하고 생성하도록 지원합니다. 您可以在每个身份验证请求的正⽂中传递这些凭据, OAuth 2.0 서버에서 새 방문 인증서를 검색한 후 API 요청에 대한 본인 인증으로 요청 중사 방문 인증서를 계속 사용할 수 있습니다. 아래에서 각 단계에 대해 설명해 드리겠습니다.

OAuth 2.0 데이터 획득

등록을 통해 소통할 수 있습니다.https://www.shipbae.com인증서를 방문하고 아래 표시된 API 비밀번호로 이동 - 문의하기support@goricompany.com 법적으로 인증서를 사용하는 경우
ShipBae의 OAuth 2.0 크렌디셜

📌 주의!

공개 파트너사에 신청하거나 인증서를 공개할 수 없습니다.

인증 토큰 받기

조직에 유효한 데이터가 있는 경우(OAuth 2.0 인증서를 발급받으세요), 아래 단계에 따라 인증 요청을 작성하고 발급할 수 있습니다.

1. 지정 권한 API 단점:

https://api.goricompany.com/auth/token

2. 콘텐츠 유형 표식을 추가하여 미디어 유형을 JSON으로 설정합니다:

콘텐츠 유형: application/json

3. 마지막으로, 컬 등 도구 출시 API 요청하기

curl -location 'https://api-staging.goricompany.com/v2/auth/token/'

-헤더 '콘텐츠 유형: 애플리케이션/json'\

-data '{

"client_id": "{你的客⼾端id}",

"client_secret": "{你的客⼾端秘密}",

"grant_type": "client_credentials"

}'

4. API 요청 후, 다음과 같은 예시처럼 인증 2.0 서버가 새 레이블을 적용합니다.

'{

"토큰 유형": "무기명",

"expires_in": 43200,

"access_token": "{access_token}"

}'

📌 주의!

방문자 권한 유효기간은 12시간이며, 이전 방문자 권한이 만료되기 전에 권한 API 단점을 통해 새 방문자 권한을 얻어야 합니다.

유효한 방문 권한이 있는 경우 아래 설명과 같이 보호 리소스 출력 API 요청을 받을 수 있습니다.

출시 요청

리소스를 보호하려면 OAuth 2.0 서버에서 고객 단의 인증(방문 권한 획득) 기간에 OAuth 2.0 서버에서 반환된 방문 권한이 필요합니다. 방문 권한은
Bearer HTTP 신원 인증 방법(이하 Bearer 신원 인증)의 후속 API 요청 중에 "승격"을 수행합니다. 고객 단에서 보호 대상 리소스 출력을 요청할 때 반드시
HTTP 授权标头에서 이 승격 패드를 전송해야 합니다.

授权:持有者{access_token}

使⽤ curl 等⼯具执⾏此操作的方法是使⽤ ‒header ag,它⽤于在向服务器发送 HTTP 请求时在请求中包含额外的标头。在我们的例⼦中,‒header
“Authorization: Bearer {access_token}”。例如,要验证和检索所有货件,请执⾏:

卷曲 -location 􀀀https://api-staging.goricompany.com/v2/shipments?
page_size=100&page=1&id_after=0&reference_1=12345&created_at_before=2021-07-27'\\.

--헤더 􀀀接受:응용프로그램/json \

‐‐header 􀀀授权:承载 {access_token)

没有授权标头的请求将被拒绝,并显示 401 状态代码。如果发生这种情况,您需要获取新的访问令牌并再次尝试请求

이제 Gori.Ai 사이트를 종료합니다.

Gori.Ai는 타사 사이트에 있는 콘텐츠에 대해 책임을 지지 않습니다.

계속하시겠습니까?