자주 묻는 질문(FAQ)

이 섹션에서는 Merchant API의 개발자 등록과 관련된 일반적인 질문을 다룹니다.

일반 등록

등록 절차에 관한 일반적인 질문:

판매자 API를 사용하려면 개발자 등록이 필수인가요?

예. Google에서 서비스 공지사항, 새로운 기능 정보 등 중요한 API 관련 업데이트를 전송할 수 있도록 개발자 연락처 정보를 등록해야 합니다.

Merchant API를 탐색하고 테스트하기만 하려면 등록이 필요 없는 Google OAuth Playground 및 API 탐색기와 같은 도구를 사용하면 됩니다.

얼마나 자주 등록해야 하나요?

등록은 각 Google Cloud 프로젝트에 대해 한 번 설정하는 것입니다. 판매자 계정을 여러 개 사용하는지 여부와 관계없이 등록 작업은 한 번만 실행하면 되며 연결된 Google Cloud 프로젝트 내의 모든 사용자 및 서비스 계정에 적용됩니다.

Google Cloud 프로젝트가 성공적으로 등록되면 unregisterGcp 메서드를 호출하여 명시적으로 삭제하지 않는 한 링크가 활성 상태로 유지됩니다. API 탐색기 또는 OAuth Playground와 같은 공유 Google 소유 프로젝트는 등록할 수 없습니다.

개발자 연락처로 어떤 이메일 주소를 제공해야 하나요?

개인의 회사 이메일 주소를 사용하는 것이 좋습니다. 일반 그룹 별칭을 사용할 수도 있습니다. 서비스 계정 이메일은 사용할 수 없습니다. 커뮤니케이션은 사람 수신자를 대상으로 하기 때문입니다. Google에서 서비스 공지사항, 새로운 기능 정보 등 중요한 API 관련 업데이트를 전송합니다.

이메일 주소가 판매자 센터 계정의 기존 사용자에 속하는 경우 API_DEVELOPER 역할이 자동으로 부여됩니다. 그렇지 않으면 해당 주소로 초대장이 전송됩니다.

개발자 연락처 이메일 주소 필드는 registerGcp 메서드에서 선택사항입니다. 등록 시 이 필드의 값을 제공하지 않으면 판매자 센터 UI에서 또는 accounts.users.create 메서드를 호출하여 API_DEVELOPER 역할이 있는 사용자를 만들어야 합니다.

개발자 연락처 이메일이 Google 계정이어야 하나요?

예. 기존 Google 이외의 이메일을 사용하려면 Google 계정 만들기 가입 절차에서 기존 이메일 사용 옵션을 선택하여 Google 계정과 연결하면 됩니다. 서비스 계정은 이메일을 수신할 수 없으므로 서비스 계정 이메일을 사용할 수 없습니다.

등록 호출에 대한 인증 및 승인을 어떻게 실행하나요?

사용 사례에 따라 등록 호출의 인증 및 승인에 사용할 수 있는 두 가지 고유한 인증 시나리오가 있습니다.

  • OAuth 2.0: 여러 판매자 계정을 관리하는 서드 파티 제공업체 또는 대행사
  • 서비스 계정: 자체 판매자 센터 계정에 액세스

접근성을 위한 대체 텍스트

위의 다이어그램은 등록 호출의 두 가지 인증 및 승인 흐름을 보여줍니다. 다음 중에서 선택할 수 있습니다.

  • Google 계정과 연결된 이메일 주소(예: account@email.com)로 OAuth 사용
  • sa@project.iam.gserviceaccount.com과 같은 서비스 계정 사용

OAuth를 사용하기로 결정한 경우 다음 단계를 따르세요.

  • 이메일의 Google Cloud 프로젝트에서 OAuth 사용자 인증 정보 만들기
  • 승인 이메일 주소가 판매자 센터에 있고 ADMIN 액세스 유형이 있는지 확인합니다.

서비스 계정을 사용하기로 결정한 경우 다음 단계를 따르세요.

  • Google Cloud 프로젝트에 서비스 계정이 있는지 확인합니다.
  • 서비스 계정과 연결된 이메일 주소가 판매자 센터에 있고 ADMIN 액세스 유형이 있는지 확인합니다.

직접 API 호출 또는 클라이언트 라이브러리를 사용하여 인증 ID의 보안 컨텍스트에서 등록 호출을 실행합니다. 개발자 연락처의 이메일 주소(예: developer@email.com)를 제공합니다.

등록 호출이 성공하면 제공된 개발자 이메일 주소와 API_DEVELOPER 역할이 있는 사용자가 판매자 센터에 존재합니다. DeveloperRegistration 리소스가 응답으로 표시됩니다.

인증 이메일과 개발자 연락처 이메일의 차이점은 무엇인가요?

두 이메일 주소는 Merchant API 생태계 내에서 서로 다른 용도로 사용됩니다.

  • 인증 이메일: 일반적으로 Google 계정 또는 서비스 계정과 연결된 이메일을 ID로 사용하여 다음과 같은 경우 Merchant API에 대한 요청을 승인합니다.
    • 판매자 센터에 있으며 ADMIN 역할을 보유합니다.
    • Merchant API가 사용 설정된 Google Cloud 프로젝트는 API 호출을 승인하는 이메일과 연결된 OAuth 클라이언트 또는 서비스 계정을 호스팅합니다.
  • 개발자 연락처 이메일: 개발자 연락처 이메일도 Google 계정과 연결되어야 하지만, Google에서 보내는 중요한 서비스 공지사항 및 API 업데이트의 기본 연락처로 사용됩니다. 사용자 또는 사용자 그룹에 속할 수 있습니다. 기본적으로 판매자 센터에서 API developer 역할을 부여받습니다.

개발자 연락처 이메일로 받은 초대를 수락해야 하나요?

예. 제공한 개발자 연락처 이메일 수신자는 14일 이내에 초대를 수락해야 합니다. 등록은 초대를 수락한 후에만 완료됩니다. 하지만 이 기간 동안 API 호출은 실행할 수 있습니다.

지정된 시간 내에 초대를 수락하지 않으면 초대 링크가 만료됩니다. 더 이상 판매자 API 호출을 실행할 수 없으며 등록 절차를 다시 시작해야 합니다.

계정 및 프로젝트 관리

계정 및 프로젝트 관리에 관한 일반적인 질문:

여러 판매자 센터 계정을 사용하고 있습니다. Merchant API와 함께 사용할 모든 판매자 센터 계정을 등록해야 하나요?

아니요. 여러 판매자의 계정을 관리하는 서드 파티 개발자 또는 대행사인 경우 각 판매자의 계정이 아닌 자체 기본 판매자 센터 계정으로 Google Cloud 프로젝트를 등록합니다. 이렇게 하면 판매자를 위해 수행하는 모든 API 작업에 대해 개발자를 대리하게 됩니다.

여러 판매자 센터 계정을 사용하고 있습니다. 기본 판매자 센터 계정은 어떻게 선택하나요?

사용할 기본 계정은 비즈니스 유형에 따라 다릅니다.

  • 기존 고급 계정이 있는 마켓: 비즈니스가 마켓으로 운영되고 전체 플랫폼을 나타내는 고급 계정이 이미 있는 경우 이 기존 계정 ID를 기본 판매자 센터 계정으로 사용합니다.
  • 비교 쇼핑 서비스 (CSS): CSS인 경우 고유한 CSS 계정 ID 또는 CSS 그룹 계정 ID를 사용합니다.
  • 대행사, 개발자 및 기타 서드 파티: 여러 판매자 계정을 관리하고 비즈니스를 나타내는 단일 판매자 센터 ID가 없는 서드 파티 비즈니스(예: 대행사 또는 서드 파티 개발자)인 경우 새 기본 판매자 센터 계정을 만들고 고급 계정으로의 전환을 요청해야 합니다.

Google Cloud 프로젝트가 기본 판매자 센터 계정에 등록되면 해당 프로젝트를 사용하여 액세스 권한이 있는 다른 판매자 센터 계정을 개별적으로 등록하지 않고도 관리할 수 있습니다.

여러 Google Cloud 프로젝트를 사용합니다. 각 기기를 등록해야 하나요?

예. 등록 프로세스에서 호출하는 Google Cloud 프로젝트를 연결하므로 API 호출에 사용하는 각 Google Cloud 프로젝트에서 registerGcp 호출을 실행해야 합니다.

단일 Google Cloud 프로젝트는 한 번에 하나의 판매자 센터 계정에만 등록할 수 있습니다. 하지만 하나의 판매자 센터 계정에 여러 Google Cloud 프로젝트를 등록할 수 있습니다. 마찬가지로 동일한 개발자 이메일 주소를 사용하여 여러 Google Cloud 프로젝트 또는 여러 Merchant Center에 걸쳐 여러 등록을 실행할 수 있습니다.

Google Cloud 프로젝트를 여러 판매자 센터 계정에 등록하면 어떻게 되나요?

이미 다른 판매자 센터 계정에 등록된 Google Cloud 프로젝트를 등록하려고 하면 ALREADY_REGISTERED 오류가 발생합니다.

개발자 등록 API 호출을 인증하려면 어떻게 해야 하나요?

Merchant API의 개발자 등록 API 호출을 인증하려면 Google Cloud 프로젝트를 통해 관리되는 사용자 인증 정보를 사용합니다. 인증을 실행하는 ID에는 두 가지 기본 옵션이 있습니다.

  • OAuth 2.0을 사용하는 Gmail과 같은 Google 계정: 이 방법은 Google Cloud 프로젝트 내에서 생성된 OAuth 2.0 클라이언트 사용자 인증 정보를 사용합니다. API 호출은 사용자가 로그인하는 특정 Google 계정을 대신하여 승인됩니다.
  • 서비스 계정: 이 방법은 애플리케이션을 위해 설계된 특별한 유형의 Google 계정인 Google Cloud 서비스 계정을 사용합니다. 서비스 계정의 사용자 인증 정보도 Google Cloud 프로젝트 내에서 관리됩니다.

개발자 등록이 성공하려면 인증 ID (Google 계정 또는 서비스 계정)가 판매자 센터에서 다음 기준을 충족해야 합니다.

  • 판매자 센터에 사용자로 존재: 인증하는 Google 계정 또는 서비스 계정과 연결된 이메일 주소가 등록하려는 판매자 센터 계정에 사용자로 추가되어 있어야 합니다.
  • 관리자 역할 필요: 이 사용자에게는 해당 판매자 센터 계정 내에서 ADMIN 역할이 할당되어 있어야 합니다.

API를 호출할 때는 다음 사항을 고려하세요.

  • 직접 API 호출을 사용하는 경우 Authorization 헤더에서 유효한 액세스 토큰을 가져와 제공해야 합니다. 이 토큰은 Google 계정의 OAuth 2.0 흐름 또는 서비스 계정의 서버 간 인증 흐름에 의해 생성됩니다.
  • Google에서 제공하는 클라이언트 라이브러리는 일반적으로 구성의 일부로 액세스 토큰을 획득하고 새로고침하는 복잡한 작업을 처리합니다.

인증하는 사용자가 개발자 연락처 사용자와 다를 수 있습니다. 자세한 내용은 인증 이메일과 개발자 연락처 이메일의 차이점은 무엇인가요?를 참고하세요.

액세스 토큰은 얼마나 자주 새로고침해야 하나요?

서비스 계정과 OAuth 2.0의 액세스 토큰은 일반적으로 1시간 후에 만료됩니다. 하지만 새 토큰을 가져오는 메커니즘은 사용하는 인증 방법에 따라 다릅니다.

  • 서비스 계정은 비공개 키 또는 환경 사용자 인증 정보를 사용하여 필요할 때마다 새 액세스 토큰을 만듭니다.
  • OAuth 2.0 흐름은 refresh_token을 사용하여 Google OAuth2 토큰 엔드포인트를 호출하여 1시간짜리 새 액세스 토큰을 수신합니다.

이 순환을 자동으로 처리하여 애플리케이션에 다운타임이 발생하지 않도록 하는 공식 Google 인증 라이브러리를 사용하는 것이 좋습니다.

사용자 및 역할

사용자 및 역할에 관한 일반적인 질문:

개발자 이메일 계정이 판매자 센터에 이미 있어야 하나요?

아니요. 등록 이메일 계정이 아직 판매자 센터에 없는 경우 Merchant API는 지정된 이메일로 판매자 센터에 계정을 생성하며 상태는 '대기 중'입니다. 개발자 이메일 주소가 판매자 센터 계정의 기존 사용자에 속하는 경우 API_DEVELOPER 역할이 자동으로 부여됩니다.

개발자 연락처 이메일에 판매자 센터의 관리자 권한이 있어야 하나요?

아니요. 개발자 연락처 이메일과 연결된 판매자 센터 사용자는 중요한 알림을 수신하는 데 필요한 API_DEVELOPER 역할을 기본적으로 부여받습니다. 하지만 판매자 센터 내에서 최소한의 권한만 있습니다. 이 사용자가 다른 API 호출을 수행하거나 판매자 센터 UI에서 설정을 관리하도록 허용하려면 STANDARD 또는 ADMIN와 같은 추가 역할을 부여해야 합니다. 판매자 센터 역할에 대한 자세한 내용은 액세스 유형을 참고하세요.

'API 개발자' 역할에는 어떤 권한이 있나요?

API Developer 역할은 Merchant Center에서 권한이 최소인 역할입니다. 개발자 연락처 이메일을 사용하여 판매자 API 호출을 승인하려는 경우 사용자가 API 호출을 실행할 수 있도록 ADMIN 또는 STANDARD 권한을 추가하는 것이 좋습니다.

API를 호출하는 각 개발자 사용자 또는 서비스 계정을 등록해야 하나요?

아니요. 개발자 등록은 개별 사용자 또는 서비스 계정이 아닌 API 호출에 사용되는 Google Cloud 프로젝트에 연결됩니다. Google Cloud 프로젝트가 기본 판매자 센터 계정에 등록되면 연결된 Google Cloud 프로젝트를 통해 관리되는 모든 ID를 사용하여 OAuth 사용자 인증 정보 또는 서비스 계정을 통해 판매자 API 호출을 승인할 수 있습니다. 단, 해당 ID가 판매자 센터에 있고 ADMIN 역할이 할당되어 있어야 합니다.

초기 등록 후 개발자 연락처 이메일을 변경하려면 어떻게 해야 하나요?

연락처를 관리하거나 변경하려면 표준 accounts.users 서비스를 사용하거나 판매자 센터 UI의 '액세스 및 서비스' 페이지에서 API Developer 역할이 있는 사용자를 추가하거나 삭제하세요.

마지막 'API 개발자' 사용자가 판매자 센터 계정에서 삭제되면 어떻게 되나요?

즉각적인 서비스 중단을 방지하기 위해 30일의 유예 기간이 적용됩니다. 이 기간 동안 다음 사항이 적용됩니다.

  • 관리자는 이메일을 통해 3개의 필수 서비스 공지를 받게 됩니다 (일반적으로 차단되기 약 30일, 17일, 4일 전).
  • API 호출은 계속 정상적으로 작동합니다.
  • 유예 기간이 만료되기 전에 새 API Developer가 추가되지 않으면 연결된 Google Cloud 프로젝트의 API 호출이 AUTH_GCP_NOT_REGISTERED 오류와 함께 차단됩니다.

30일의 유예 기간이 끝나면 연결된 Google Cloud 프로젝트의 API 호출이 차단되고 유효한 개발자 연락처가 복원될 때까지 AUTH_GCP_NOT_REGISTERED 오류가 표시됩니다.

개발자 등록이 완료된 판매자 센터 ID가 삭제되면 어떻게 되나요?

통합이 활성 상태인 동안 개발자 등록에 사용된 판매자 센터 계정을 삭제하지 마세요. 이 계정을 삭제하면 통합이 즉시 중단되며 연결된 Google Cloud 프로젝트에서 더 이상 API 호출을 실행할 수 없습니다.

해당 판매자 센터 계정을 삭제해야 하는 경우 먼저 unregisterGcp 메서드를 호출하여 링크를 안전하게 삭제한 후 판매자 센터 ID를 삭제해야 합니다. Merchant API를 계속 사용하려면 현재 ID를 등록 해제한 직후 다른 판매자 센터 ID로 등록해야 합니다. 그런 다음 판매자 센터 ID를 삭제합니다.

특수 사용 사례

특수 사용 사례에 관한 일반적인 질문:

여러 판매자 계정을 관리하는 대행사 또는 서드 파티 개발자입니다. 이 문제를 설정하는 가장 좋은 방법은 무엇인가요?

서드 파티 개발자와 대행사는 자체 기본 판매자 센터 계정을 유지하고 모든 Google Cloud 프로젝트를 중앙 집중식 단일 계정에 등록해야 합니다. 각 판매자 계정에 Google Cloud 프로젝트를 등록하지 마세요.

Google App Scripts의 등록은 어떻게 작동하나요?

App Scripts는 일반적으로 기본 Google Cloud 프로젝트에서 실행됩니다. 이 기본 Google Cloud ID를 판매자 센터 계정에 등록해야 합니다. Google Cloud ID는 API에 의해 자동으로 획득되므로 매개변수로 제공할 필요가 없습니다.

판매자 센터 ID가 특정 Google Cloud 프로젝트 ID에 등록되어 있는지 확인할 수 있나요?

예. getAccountForGcpRegistration 메서드를 사용하여 특정 Google Cloud 프로젝트에 등록된 판매자 센터 ID를 확인할 수 있습니다. 판매자 센터 계정에서 Google Cloud 프로젝트 링크를 삭제하려면 unregisterGcp 메서드를 사용하세요.