API를 통한 제품 동기화

표준 제품 동기화

카탈로그가 생성되면 제품을 동기화할 수 있습니다. 아래 예시에서는 제품을 동기화하기 위한 표준 컨텍스트를 간략히 설명합니다.

POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogProducts": [
        {
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 50,
            "price": "19.99",
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty","category:Grocery","brand:Covergirl","Special_Flag:0"
            ]
        }
    ]
}

성공하면 다음 오브젝트가 반환됩니다.

{
    "catalogProducts": [
        {
            "teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 50,
            "price": 19.99,
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg",
                 "name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty",
              	 "category:Grocery",
              	 "brand:Covergirl",
              	 "Special_Flag:0"
            ],
            "groups": [],
            "profit": null
        }
    ]
}

이 컨텍스트에서 그룹 및 수익에 대한 비어 있는 값이나 null 값은 무시할 수 있습니다.

동기화 위치 정보

또한 제품이 놓일 여러 위치에 대한 필터를 동기화할 수도 있습니다. 이는 제품 정보의 저장/위치 수준 최적화에 유용합니다.

POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogProducts": [
        {
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 50,
            "price": "19.99",
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty","category:Grocery","brand:Covergirl","Special_Flag:0","location:123","location:ABC"
            ]
        }
    ]
}

성공하면 다음 오브젝트가 반환됩니다.

{
    "catalogProducts": [
        {
            "teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 50,
            "price": 19.99,
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg",
                 "name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty",
              	 "category:Grocery",
              	 "brand:Covergirl",
              	 "Special_Flag:0",
              	 "location:123",
              	 "location:ABC"
            ],
            "groups": [],
            "profit": null
        }
    ]
}

HFSS 정보 동기화

제품 동기화에서 다음 필터를 전송해야 합니다. hfss:true 또는 hfss:false. 이를 통해 Epsilon Retail Media가 인터페이스를 적절하게 필터링할 수 있습니다.

POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogProducts": [
        {
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 50,
            "price": "19.99",
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "hfss:true","category:Health&Beauty","category:Grocery","brand:Covergirl","Special_Flag:0","location:123","location:ABC"
            ]
        }
    ]
}

📘

HFSS에 대해 더 자세히 알고 싶으십니까?

여기에서 영국 정부 게시 자료를 검토하십시오: https://www.gov.uk/government/publications/restricting-promotions-of-products-high-in-fat-sugar-or-salt-by-location-and-by-volume-price/restricting-promotions-of-products-high-in-fat-sugar-or-salt-by-location-and-by-volume-price-implementation-guidance

여러 제품 동기화

여러 제품을 동기화하는 경우 요청당 최대 100개의 순서를 지정할 수 있습니다.

두 제품의 동기화에 대한 예시 컨텍스트가 아래에 설명되어 있습니다.

POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogProducts": [
        {
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 50,
            "price": "19.99",
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg",
                 "name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty",
              	 "category:Grocery",
              	 "brand:Covergirl",
              	 "Special_Flag:0"
            ],
            "profit": "1.50"
        },
        {
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965738",
            "inventory": 26,
            "price": "8.50",
            "tags": [
                "imageurl:https://your.image.host.com/image.jpg",
                "name:Kelloggs Froot Loops Breakfast Cereal 500g"
            ],
            "filters": [
                "brand:Kelloggs",
                "category:Pantry",
                "category:BreakfastFoods",
                "category:Cereals",
                "Special_Flag:0"
            ],
            "profit": "0.50"
        }
    ]
}

성공하면 다음 오브젝트가 반환됩니다.

{
    "catalogProducts": [
        {
            "gtin": "23556578965543",
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "price": 19.99,
            "teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
            "groups": [],
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg",
                 "name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty",
              	 "category:Grocery",
              	 "brand:Covergirl",
              	 "Special_Flag:0"
            ],
            "inventory": 50,
            "profit": 1.50,
            "tags": [
                "Natural",
                "Lasting",
                "Dry Skin",
                "Beige"
            ]
        },
        {
            "gtin": "23556578965736688",
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "price": 8.50,
            "teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
            "groups": [],
            "tags": [
                "imageurl:https://your.image.host.com/image.jpg",
                "name:Kelloggs Froot Loops Breakfast Cereal 500g"
            ],
            "filters": [
                "brand:Kelloggs",
                "category:Pantry",
                "category:BreakfastFoods",
                "category:Cereals",
                "Special_Flag:0"
            ],
            "inventory": 26,
            "profit": 0.50,
            "tags": [
                "Pantry",
                "BreakfastFoods",
                "Cereals",
                "Kelloggs"
            ]
        }
    ]
}

제품 재고 업데이트

제품의 재고를 업데이트하려면 제품을 Epsilon Retail Media와 재동기화해야 합니다. 동기화 시 제품의 재고를 0으로 지정합니다. 아래 예시를 참조하십시오.

POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogProducts": [
        {
            "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
            "gtin": "23556578965543",
            "inventory": 0,
            "price": "19.99",
            "tags": [
                 "imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
            ],
            "filters": [
                 "category:Health&Beauty","category:Grocery","brand:Covergirl","Special_Flag:0"
            ]
        }
    ]
}

제품 이미지 업데이트

Epsilon은 일관된 성능을 보장하고 이미지 서버에 대한 요청을 줄이기 위해 이미지 URL을 캐시합니다. URL을 변경하지 않고 이미지를 업데이트하면 Epsilon에서 명시적으로 새로 고침을 트리거해야 합니다. 이렇게 하려면 다음을 수행하십시오.

  • 제품에서 기존 image_url을 제거합니다.
  • 업데이트가 완료되면 동일한 image_url을 다시 전송합니다.

또는 이미지 서버에서 지원하는 경우 기존 URL에 쿼리 문자열(예: 버전 또는 타임스탬프)을 추가하여 강제로 새로 고침할 수 있습니다. 이렇게 하면 Epsilon이 이미지를 다시 로드합니다.

📘

이미지는 UI에서만 사용됩니다.

제품 이미지는 광고 응답에 표시되지 않습니다. 이미지 업데이트는 캐시 새로 고침이 진행되는 동안 Epsilon UI에서 제품광고가 표시되는 방식에만 영향을 미칩니다.

제품 검색

카탈로그에 제품을 포함하고 나면 나중에 현재 정보를 검색하고 싶을 수도 있습니다.

이를 위해 다음 URL 형식을 사용하여 GET http 요청을 만들 수 있습니다. v1/catalog-products/catalogId/<PRODUCT_CODE>. 엔드포인트는 요청당 하나의 제품 코드를 허용할 수 있습니다. 플레이스홀더 요청은 아래와 같습니다.

GET $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>

해당 제품 코드에 대해 Epsilon Retail Media 시스템에서 수집된 최신 정보를 수신해야 합니다. 아래는 예시입니다

📘

Epsilon Retail Media 시스템에서는 제품 업데이트가 즉시 반영되지 않으며 제품 업데이트가 완전히 반영되기까지 다소 시간이 소요될 수 있습니다. 검색 시 제품 정보가 즉시 업데이트되지 않더라도 걱정하지 마십시오.

제품 삭제

제품 광고가 더 이상 필요하지 않을 때 카탈로그에서 제품 광고를 삭제하려면 다음 형식을 사용하여 DELETE HTTP 요청을 보내십시오.

요청 매개 변수

엔드포인트는 요청당 하나의 제품 광고 코드를 허용하며 이 코드는 일반적으로 GTIN ID입니다.

DELETE $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>

판매자 ID로 제품 광고 삭제하기

제품 광고에 판매자 ID가 포함되어 있는 경우 제품 광고 삭제 시 이를 쿼리 매개 변수로 지정해야 합니다.

DELETE $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE>?sellerId=abc123> HTTP/1.1 
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>

처리 시간

제품 광고가 삭제 완료되는 데 30분에서 1시간 정도 소요될 수 있습니다.

📘

중요

제품의 재고가 없는 경우에는 제품을 삭제하는 대신 재고를 0으로 설정합니다. 제품을 삭제하면 광고주가 Epsilon Retail Media 플랫폼에서 해당 제품을 선택할 수 있는 기능이 삭제되며 추후 재입고 되는 경우에도 사용할 수 없습니다.

오류 처리

"제품광고을 찾을 수 없음" 오류가 표시되는 경우 해당 제품 광고가 Epsilon Retail Media 시스템에 수집되지 않은 것일 수 있습니다.