오프라인 저장소로

데이터 피드를 사용하면 Order with Google에서 내 레스토랑, 서비스, 메뉴를 이용할 수 있습니다.

이 문서에서는 샌드박스 및 프로덕션 인벤토리를 호스팅하는 방법과 일괄 처리를 사용하여 Google을 통한 주문에서 인벤토리를 업데이트하는 방법을 다룹니다.

데이터 피드 환경

통합 개발에 사용할 수 있는 세 가지 데이터 피드 환경이 있습니다.

피드 환경 설명 오프라인 저장소로
샌드박스 피드 개발을 위한 테스트 환경입니다. 필수
프로덕션 개시하려는 인벤토리의 프로덕션 환경입니다. 필수

데이터 피드 호스팅

Order with Google에서 일괄 수집으로 샌드박스 및 프로덕션 데이터 피드를 처리하려면 사이트맵을 사용하여 Google Cloud Storage, Amazon S3 또는 HTTPS에서 데이터 피드 파일을 호스팅해야 합니다.

샌드박스 환경과 프로덕션 환경의 데이터 피드를 별도로 호스팅하는 것이 좋습니다. 이 접근 방식을 사용하면 변경사항을 프로덕션에 배포하기 전에 샌드박스 피드 환경에서 개발 및 테스트를 실행할 수 있습니다.

예를 들어 Google Cloud Storage를 호스팅 옵션으로 사용하는 경우 다음 경로를 사용할 수 있습니다.

  • 샌드박스 피드: gs://foorestaurant-google-feed-sandbox/
  • 프로덕션 피드: gs://foorestaurant-google-feed-prod/

인벤토리를 호스팅하려면 다음 단계를 따르세요.

  1. 데이터 피드 파일을 생성합니다.
  2. 호스팅 솔루션을 선택합니다.
  3. 데이터 피드를 호스팅합니다.
  4. 데이터 피드 파일이 정기적으로 업데이트되는지 확인합니다. 프로덕션 데이터 피드는 매일 업데이트해야 합니다.

인벤토리 피드를 만드는 방법에 대한 자세한 내용은 Restaurant, Service, Menu 항목에 관한 문서 및 데이터 피드 만들기 섹션을 참고하세요.

데이터 피드 파일 가이드라인

여러 항목을 포함할 수 있는 각 파일은 200MB를 초과할 수 없습니다. 최상위 항목 Restaurant, Service, Menu는 하위 항목과 함께 4MB를 함께 초과해서는 안 됩니다.

호스팅 솔루션 선택

다음 표에는 데이터 피드를 호스팅하는 옵션과 이러한 호스트가 Google을 이용한 주문에서 작동하는 방식이 나와 있습니다.

Amazon S3 Google Cloud Storage 사이트맵과 HTTPS
사용자 인증 정보 및 액세스

Google에 다음 정보를 제공하세요.

  • 액세스 키 ID
  • 보안 비밀 액세스 키
  • 프로덕션 및 샌드박스 S3 디렉터리 및 marker.txt 파일의 경로입니다. 경로는 s3://로 시작해야 합니다.

S3 버킷에는 다음 정보가 포함되어야 합니다.

  • 인벤토리의 피드 파일
  • marker.txt: 가져오기에 사용되는 타임스탬프가 포함되어 있습니다.

marker.txt 파일 예: 2018-12-03T08:30:42.694Z

프로덕션 및 샌드박스 버킷 디렉터리와 marker.txt 파일의 경로를 Google에 제공합니다. 경로는 gs://로 시작해야 합니다.

Google 컨설턴트가 제공하는 서비스 계정을 Google Cloud Storage 버킷의 리더로 추가합니다.

Google Cloud Storage (GCS) 액세스를 관리하는 방법에 대한 자세한 내용은 Google Cloud Platform Console: 버킷 권한 설정을 참조하세요.

GCS 버킷에는 다음 정보가 포함되어야 합니다.

  • 인벤토리의 피드 파일
  • marker.txt: 가져오기에 사용되는 타임스탬프가 포함되어 있습니다.

marker.txt 파일 예: 2018-12-03T08:30:42.694Z

Google에 다음 정보를 제공하세요.

  • 기본 인증의 사용자 인증 정보입니다.
  • 프로덕션 및 샌드박스 사이트맵 경로의 경로입니다. 경로는 https://로 시작해야 합니다.
  • 프로토콜: HTTP가 아닌 HTTPS를 통해 피드 파일을 제공해야 합니다.
  • 보안: 기본 인증을 통해 호스팅된 피드 파일을 보호하는 것이 좋습니다.
가져올 파일을 Google이 파악하는 방법 버킷에 있는 모든 파일의 디렉터리 목록입니다. 버킷에 있는 모든 파일의 디렉터리 목록입니다. 사이트맵에 나열된 파일의 개별 URL.
Google에서 파일을 가져올 준비가 되었는지 확인하는 방법 데이터 피드 생성을 완료한 후 marker.txt 파일을 최신 타임스탬프로 업데이트합니다. 데이터 피드 생성을 완료한 후 marker.txt 파일을 최신 타임스탬프로 업데이트합니다. 데이터 피드 생성을 완료하면 sitemap.xml의 응답 헤더 last-modified를 최신 타임스탬프로 업데이트합니다.
파일 한도

최대 파일 수: 100,000개

Amazon S3 버킷에 있는 총 파일 수가 100,000개 미만이어야 합니다.

최대 파일 수: 100,000개

Google Cloud Storage 버킷에 있는 총 파일 수가 100,000개 미만이어야 합니다.

최대 파일 수: 100,000개

사이트맵 XML 파일 내의 파일 경로 수는 100,000개 미만이어야 합니다.

일괄 수집을 위한 데이터 피드 연결

피드를 호스팅한 다음 파트너 포털에서 프로젝트에 연결해야 합니다. 프로덕션 피드의 초기 구성은 온보딩 작업 페이지에서 실행됩니다. 나중에 프로덕션 및 샌드박스 피드 구성은 관리 역할이 있는 포털 사용자가 언제든지 구성 > 피드 페이지에서 업데이트할 수 있습니다. 샌드박스 환경은 개발 및 테스트 목적으로 사용되고, 프로덕션 피드는 사용자에게 표시됩니다.

Amazon S3로 데이터 피드를 호스팅하는 경우

  1. 파트너 포털에서 구성 > 피드로 이동합니다.
  2. 수정을 클릭하고 피드 업데이트 양식을 작성합니다.

    • 피드 게재 방법: Amazon S3으로 설정합니다.
    • 마커 파일: marker.txt 파일의 URL을 입력합니다.
    • 데이터 파일: 데이터 피드가 포함된 S3 버킷의 URL을 제공합니다.
    • 액세스 ID: S3 리소스에서 읽을 권한이 있는 IAM 액세스 키 ID를 입력합니다.
    • 액세스 키: S3 리소스에서 읽을 권한이 있는 IAM 보안 비밀 액세스 키를 입력합니다.
  3. 제출을 클릭합니다.
  4. 1~2시간 후 일괄 처리가 피드 파일을 가져오는지 확인합니다.

Google Cloud Storage로 데이터 피드를 호스팅하는 경우

  1. 파트너 포털에서 구성 > 피드로 이동합니다.
  2. 수정을 클릭하고 피드 업데이트 양식을 작성합니다.

    • 피드 제공 방법: Google Cloud Storage로 설정합니다.
    • 마커 파일: marker.txt 파일의 URL을 입력합니다.
    • 데이터 파일: 데이터 피드가 포함된 GCS 버킷의 URL을 제공합니다.
  3. 제출을 클릭합니다.
  4. GCS 버킷에 액세스할 서비스 계정이 생성됩니다. 온보딩 작업은 완료 후 구성 > 피드에서 확인할 수 있습니다. 이 서비스 계정에는 '스토리지 기존 객체 리더' 역할이 필요합니다. 이 역할은 Google Cloud Console의 IAM 페이지에서 서비스 계정에 부여할 수 있습니다.
  5. 1~2시간 후 일괄 처리가 피드 파일을 가져오는지 확인합니다.

HTTPS로 데이터 피드를 호스팅하는 경우

  1. 파트너 포털에서 구성 > 피드로 이동합니다.
  2. 수정을 클릭하고 피드 업데이트 양식을 작성합니다.

    • 피드 제공 방법: HTTPS로 설정합니다.
    • 사이트맵 파일: sitemap.xml 파일의 URL을 제공합니다.
    • 사용자 이름: HTTPS 서버에 액세스하려면 사용자 이름 사용자 인증 정보를 입력합니다.
    • 비밀번호: HTTPS 서버에 액세스할 비밀번호를 입력합니다.
  3. 제출을 클릭합니다.
  4. 1~2시간 후 일괄 처리가 피드 파일을 가져오는지 확인합니다.

경로 예

다음 표에는 각 호스팅 옵션의 경로 예시가 포함되어 있습니다.

Amazon S3 Google Cloud Storage 사이트맵과 HTTPS
경로 s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
마커 파일 s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt 해당 사항 없음

HTTPS 호스팅용 사이트맵

사이트맵을 정의할 때는 다음 가이드라인을 따르세요.

  • 사이트맵의 링크는 파일 자체를 가리켜야 합니다.
  • 자체 도메인 이름 대신 클라우드 제공업체에 대한 참조가 사이트맵에 포함된 경우 https://www.yourcloudprovider.com/your_id과 같은 URL의 시작 부분이 안정적이고 일괄 작업에 고유해야 합니다.
  • 부분 데이터 업로드의 경우와 같이 부분 사이트맵을 업로드하지 않도록 주의하세요. 이렇게 하면 Google에서 사이트맵의 파일만 처리하여 인벤토리 수준이 떨어지고 피드 처리가 차단될 수 있습니다.
  • 사이트맵에서 참조되는 파일의 경로가 변경되지 않는지 확인합니다. 예를 들어 지금 사이트맵 https://www.yourcloudprovider.com/your_id/10000.json를 참조하지 않지만 내일 https://www.yourcloudprovider.com/your_id/20000.json를 참조하도록 하세요.
사이트맵의 예

데이터 피드 파일을 제공하는 sitemap.xml 파일의 예는 다음과 같습니다.

예 1: 판매자별로 그룹화된 항목 (권장)

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

예 2: 유형별로 그룹화된 항목

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/menu.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/service.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

데이터 피드 업데이트

데이터 피드가 연결되면 Google에서 1시간마다 업데이트를 확인하지만 marker.txt 또는 sitemap.xml 파일이 수정된 경우에만 모든 데이터 피드를 수집합니다. 오래된 인벤토리를 방지하기 위해 데이터 피드를 하루에 한 번 업데이트하는 것이 좋습니다.

데이터 피드가 수정되었고 일괄 수집 준비가 되었음을 지정하려면 marker.txt 파일의 last-modified 객체 메타데이터 필드 (GCP 및 S3의 경우) 또는 sitemap.xml 파일의 last-modified 응답 헤더를 업데이트합니다. Google에서는 이 값을 사용하여 데이터 피드의 최신 상태를 확인합니다.

일괄 피드를 처리하는 동안

  • 현재 OwG 인벤토리에 존재하지 않고 오류가 없는 새로운 항목이 삽입됩니다.
  • 인벤토리에 이미 존재하는 항목에 처리 오류가 없고 현재 항목보다 dateModified가 최신이거나 dateModified가 없는 경우 피드 처리 시작 시간이 현재 항목보다 최신인 것입니다. 그렇지 않으면 비활성으로 표시됩니다.
  • 처리 중인 일괄 피드에 더 이상 포함되지 않는 이전 피드에 속했던 항목은 삭제됩니다. 단, 피드에 파일 수준 오류가 없어야 합니다.

타임스탬프 또는 last-modified 응답 헤더는 모든 데이터 피드 파일이 생성되고 업데이트된 후에만 업데이트되어야 합니다. 데이터 피드를 업데이트하는 일괄 작업이 하루에 한 번만 실행되도록 제한합니다. 또는 각 일괄 작업 사이에 3시간 이상의 간격이 있어야 합니다. 이 단계를 수행하지 않으면 Google에서 비활성 파일을 가져올 수 있습니다.