표준 API 직접 연동

표준 API 직접 연동은 고객사의 상품 정보를 API를 통해 genser로 데이터를 직접 전송하는 방식입니다.
genser의 직접 연동 API는 데이터의 확장성과 상호운용성을 위해 다음과 같은 글로벌 기술 표준을 준수합니다.
JSON-LD & Schema.org: 데이터에 의미를 부여하는 구조화된 데이터 포맷을 사용하여, Vertex AI가 상품의 맥락을 완벽하게 이해하도록 돕습니다.
CloudEvents: 모든 상품 정보 변경을 '이벤트'로 취급하여, 시스템 간의 신뢰성 있는 데이터 교환을 보장합니다.
연동 준비하기 (Prepare)
API를 호출하기 위해 필요한 기본 정보입니다.
API Endpoint:
https://api.genser.app/collectors/productsMethod:
POSTContent-Type:
application/json(또는application/ld+json)Service Key: genser 어드민 [설정] 메뉴에서 발급받은
apiKey
데이터 반영 시점 안내
API로 전송된 데이터는 즉시 검색 결과에 노출되지 않으며, 해당 국가의 현지 시간으로 매일 오전 00:15am에 실행되는 일괄 처리(Batch) 작업을 통해 검색 엔진에 반영됩니다.
상품 데이터 전송하기 (Send Data)
신규 상품을 등록하거나, 기존 상품 정보(가격, 재고 등)가 변경되었을 때 아래 형식으로 데이터를 전송합니다. JSON-LD 및 CloudEvents 표준 규격을 따릅니다.
요청 본문 (Request Body)
상품 수집 API를 호출할 때 본문(Body)에 포함해야 하는 최상위 필드입니다. 상세 상품 정보는 @graph 객체에 담아 전송합니다.
@context
String
권장
JSON-LD 데이터의 기준 사전 정의 (값: https://schema.org/)
specversion
String
권장
CloudEvents 스펙 버전 (값: 1.0)
id
String
권장
요청 건당 고유 식별자 (UUID 등)
type
String
권장
이벤트 유형 (예: create_product)
agent
Object
필수
데이터를 전송하는 주체(시스템) 식별값
@graph
Object
필수
실제 상품 정보가 포함된 Product 객체 리스트
리소스 객체 (Resource Objects)
@type
String
필수
객체 타입 정의 (값: Product)
sku
String
필수
회사 내부에서 상품을 구분할 때 쓰는 관리 코드 (예: A001-Red)
name
String
필수
고객에게 보여지는 실제 상품의 이름
category
Object
필수
사이트에 진열되는 카테고리 분류 (예: 의류 > 남성 > 티셔츠)
└ @type
String
필수
객체 타입 정의 (값: CategoryCode)
└ name
String
필수
카테고리 명칭 (예: 스니커즈, 아우터)
└ code
String
권장
카테고리 분류 코드
brand
Object
필수
이 상품을 만든 브랜드 정보
└ @type
String
선택
객체 타입 정의 (값: Brand)
└ id
String
필수
브랜드 아이디
└ name
Object
필수
브랜드 이름, 브랜드 이름 표기 언어 코드(예: ko)
description
Object
필수
상품 설명, 언어 코드, 상품 설명 부가 정보 등
offers
Object
필수
가격 및 재고 정보 객체
└ @type
String
선택
객체 타입 정의 (값: Offer)
└ sku
String
필수
판매용 SKU
└ gtin
String
필수
전 세계적으로 통용되는 상품 고유 번호 (예: 880으로 시작하는 바코드, EAN/UPC)
└ mpn
String
필수
제조사에서 부여한 부품 번호나 모델명
└ price
Number
필수
고객이 실제로 결제하게 될 최종 판매 금액
└ priceCurrency
String
필수
결제 통화 기준 (한국은 KRW, 미국은 USD 등)
└ availability
String
필수
지금 구매가 가능한지 여부 ( 값: InStock, OutOfStock, PreOrder)
└ availabilityStarts
Date
필수
상품 판매가 시작되는 날짜와 시간 (2025-11-28T10:00:00Z)
└ availabilityEnds
Date
필수
상품 판매를 마감하는 날짜와 시간 (2025-11-28T10:00:00Z)
└ shippingDetails
Object
선택
배송 정보
└ image
Object
필수
상품 이미지
additionalProperty
Array
선택
관세청 신고를 위한 HS Code나 친환경 태그 등 특수한 추가 정보
└ @type
String
선택
정보가 어떤 형태인지 정의 (값: PropertyValue)
└ propertyID
String
선택
정보 이름표 (ID)
html: 웹용 HTML 설명seo_title: 검색 노출용 제목hsCode: 통관용 관세 코드sustainabilityTags: 친환경 태그
└ value
String
선택
이름표에 해당하는 실제 내용 (예: 이름표가 hsCode라면, 값은 851762)
다국어 정보 연동 (Multi-language Support)
단일 요청으로 여러 언어의 상품 정보를 동시에 등록할 수 있습니다. 글로벌 판매를 위해 상품명, 브랜드, 카테고리 등 텍스트 정보에 다국어 값을 설정하려면, 해당 필드를 JSON 배열(Array)로 변경하고 언어 코드(@language)를 구분하여 입력해 주세요.
기본 원칙
단일 언어: Object 형식
{ "@value": "...", "@language": "ko" }다국어: Array 형식
[ { "ko" 데이터 }, { "en" 데이터 } ]
지원 필드:
name,brand.name,category.name,positiveNotes,material,url등주의사항:
description필드는inLanguage속성을 사용하여 구분합니다.
응답 확인하기 (Check Response)
API 호출 후 HTTP 상태 코드를 확인하여 전송 성공 여부를 판단합니다.
상태 코드 (HTTP Status Codes)
가장 먼저 확인해야 할 응답 상태 코드입니다.
200 OK
성공
성공입니다. 다음날 00:15am 배치를 통해 반영됩니다.
400 Bad Request
요청 형식 오류
JSON 문법이 틀렸거나, 필수 값(sku, name 등)이 누락되었는지 확인하세요.
401 Unauthorized
인증 실패
Header의 apiKey 값이 정확한지, 공백은 없는지 확인하세요.
500 Internal Error
서버 오류
일시적인 장애일 수 있습니다. 잠시 후 재시도(Retry) 로직을 실행하세요.
Last updated
Was this helpful?
