2.1 편성표 관리 API – ESM Trading API

2.1 편성표 관리 API

편성표 등록 : [POST] https://sa.esmplus.com/item/v1/home-shopping/timetable

편성표 수정 : [PUT] https://sa.esmplus.com/item/v1/home-shopping/timetable

편성표 삭제 : [DELETE] https://sa.esmplus.com/item/v1/home-shopping/timetable

편성표 조회 : [POST] https://sa.esmplus.com/item/v1/home-shopping/get-timetable

Description
홈쇼핑 실시간 라이브 편성표를 구성하는 API입니다
실시간 방송상품 및 대체상품 등 라이브 편성표에 구성할 정보를 관리합니다
방송일, 방송시간대, 방송시작시간에 대해 유효성 체크하며, 동일 ProgramID, programType & broadcastProgramType & broadcastProgramDetailType(4개 값이 결합되어 Unique한 값으로 움직임)에 대해서 다른 방송정보가 등록 될 경우, 최신 업데이트 정보 기준으로 서비스 제공합니다
등록 시, 일자별 데이터를 확인하여 제휴사에서 관리 필요합니다
편성표 삭제 시 동일 ProgramID의 모든정보가 일괄 삭제됩니다
Request Description
G마켓 / 옥션 편성표 동시 구성 시 G마켓/옥션 ID의 토큰으로 사용합니다(Type으로 G마켓만 or 옥션만 구성할 경우에도 해당 토큰으로 사용가능합니다)
G마켓 편성표 구성 시 G마켓 ID의 토큰으로 사용합니다
옥션 편성표 구성 시 옥션 ID의 토큰으로 사용합니다
항목항목명필수여부TypeDescription
siteType사이트구분Yint 1. 옥션
2. G마켓
homeShoppingTimeTable > useYn > gmkt(G마켓용)
프로그램고유번호
사용여부
Y Boolean G마켓 프로그램고유번호 사용여부 설정

true : 프로그램고유번호 사용
false : 프로그램고유번호 사용하지 않음
homeShoppingTimeTable > useYn > iac(옥션용)
프로그램고유번호
사용여부
Y Boolean G마켓 프로그램고유번호 사용여부 설정

true : 프로그램고유번호 사용
false : 프로그램고유번호 사용하지 않음
homeShoppingTimeTable > siteGoodsNo > gmkt(G마켓용)
메인 사이트상품번호
Y int 방송 편성표용 메인 G마켓 사이트 상품번호
homeShoppingTimeTable > siteGoodsNo > iac(옥션용)
메인 사이트상품번호
Y int 방송 편성표용 메인 옥션 사이트 상품번호
homeShoppingTimeTable > bundleGoodsYn > gmkt(G마켓용)
묶음상품번호 사용여부
Y Boolean 묶음 상품번호 없을경우 등록해도 Pass 시킴

true : 묶음 상품번호 있음
false : 묶음 상품번호 없음
homeShoppingTimeTable > bundleGoodsYn > iac(옥션용)
묶음상품번호 사용여부
Y Boolean 묶음 상품번호 없을경우 등록해도 Pass 시킴

true : 묶음 상품번호 있음
false : 묶음 상품번호 없음
homeShoppingTimeTable > bundleGoods > gmkt > siteGoodsNo(G마켓용)
묶음 사이트상품번호
Y int 방송 편성표용 묶음 G마켓 사이트 상품번호
번들로 다수의 상품번호 일괄 입력 가능
메인 사이트상품번호는 제외하고 입력
묶음 사이트상품번호 내, 중복된 상품번호 있을 경우에는 성공으로 Skip하여 등록시킴
homeShoppingTimeTable > bundleGoods > gmkt >bundleGoodsUseYn마켓용)
묶음상품번호 노출여부
Y Boolean 묶음상품번호 사용여부 true일 경우, Front 노출여부 Checking함
묶음상품번호 사용여부 false이면서 노출여부 true일 경우 Fail

true : 묶음상품 노출
false : 묶음상품 비노출
homeShoppingTimeTable > bundleGoods > iac > siteGoodsNo(옥션용)
묶음 사이트상품번호
Y int 방송 편성표용 묶음 G마켓 사이트 상품번호
번들로 다수의 상품번호 일괄 입력 가능
메인 사이트상품번호는 제외하고 입력
묶음 사이트상품번호 내, 중복된 상품번호 있을 경우에는 성공으로 Skip하여 등록시킴
homeShoppingTimeTable > bundleGoods > iac > bundleGoodsUseYn(옥션용)
묶음상품번호 노출여부
Y Boolean 묶음상품번호 사용여부 true일 경우, Front 노출여부 Checking함
묶음상품번호 사용여부 false이면서 노출여부 true일 경우 Fail

true : 묶음상품 노출
false : 묶음상품 비노출
programId프로그램고유번호 Y string BroadcastTimetableInfo.UseYn > true일 경우 필수
최대 30byte까지 입력 가능

존재하지 않는 프로그램 번호일 경우 신규생성
존재하는 프로그램 번호일 경우 정보갱신
programType프로그램구분Y int 프로그램 구분 설정
1. Broadcasting 일반방송
2 .DailyExpose:기획성 짤방

2번일 경우, 방송일/방송시간대/방송시작시간/방송종료시간
Check하지 않음
broadcastProgramType방송프로그램 구분Y int 프로그램구분 설정
1. Live:정규홈쇼핑상품
2. Alternative:대체상품
broadcastProgramDetailType방송프로그램상세 Y int 프로그램 상세구분 설정 1. LiveItem:라이브 방송용 상품 2 .AlwaysOnItem:상시 방송용 상품 LiveItem :
- 방송 시간대에만 판매 가능 상품
- 방송 이전, 이후 시간대에는 품절처리 되며 편성표 Front 상에서는 방송시간대 외에는 비노출됨.
- 방송 시작 3시간 전까지는 판매가능 상태로 사전 연동 필요, 그렇게 연동하더라도 편성표 비노출 및 상품 url 유입 block 처리하는 Front 로직을 가지고 있음. AlwaysOnItem :
- 방송시간을 포함하여, 이전, 이후 시간대에도 미리 주문, 지난 방송 주문이 가능한 상품
(즉, 상품 코드가 상시 판매가능상태로 열려있는 상품)
broadcastDate방송일자 Y Date 방송편성표용 방송일자 등록
YYYY-MM-DD 형식
broadcastHour방송시간대 Y int 방송 편성표용 시간대 숫자 입력
오후 1시일 경우 13으로 입력
broadcastStartDate방송시작시간 Y DateTime 방송 편성표용 시작시간 입력
방송일자/방송시간대와 일치하는지 Check함
broadcastEndDate방송종료시간 Y DateTime 방송 편성표용 시작시간 입력
방송일자/방송시간대와 일치하는지 Check함
programName프로그램명 Y string 방송 편성표용 프로그램 명
100byte까지 입력
hostName쇼호스트명 Y string 방송 편성표용 쇼호스트명
20byte까지 입력
homeShoppingSubInfo > useYn프로모션 등록여부 Y Boolean 프로모션 정보 등록할지 여부 설정

true : 프로모션 등록
false : 프로모션 등록하지 않음
homeShoppingSubInfo > promotionImageUrl프로모션 이미지 string 방송 편성표용 프로모션 딜카드 이미지URL
homeShoppingSubInfo > promotionText프로모션 문구 string 방송 편성표용 프로모션 메인 문구
homeShoppingSubInfo > promotionSpecText프로모션 스펙문구 string 방송 편성표용 프로모션 스펙 문구
homeShoppingSubInfo > promotionFreeGiftYn사은품 제공가능 여부 Y Boolean 사은품 제공가능 여부

true : 사은품 제공
false : 사은품 미제공
homeShoppingAlternativeUrl > useYnVOD URL 등록여부 Y Boolean VOD URL 등록할지 여부

true : URL 등록
false : URL 미등록
homeShoppingAlternativeUrl > alternativeVodUrlVOD URL string Live / Alternative 모두 VOD URL이 있을 수 있음)
homeShoppingDailyExposeProgram > useYn기획성 짤방 VOD URL 등록여부Y Boolean 기획성 짤방 URL 등록할지 여부

true : URL 등록
false : URL 미등록
homeShoppingDailyExposeProgram > dailyExposeUrl기획성 짤방 VOD URLstring
JSON_등록/수정JSON_삭제JSON_조회Sample Code_등록/수정Sample Code_삭제Sample Code_조회
{
  "siteType": 0,
  "homeShoppingTimeTable": {
    "siteGoodsNo": {
      "gmkt": "string",
      "iac": "string"
    },
    "bundleGoodsYn": {
      "gmkt": true,
      "iac": true
    },
    "bundleGoods": {
      "gmkt": [
        {
          "siteGoodsNo": "string",
          "bundleGoodsUseYn": true
        }
      ],
      "iac": [
        {
          "siteGoodsNo": "string",
          "bundleGoodsUseYn": true
        }
      ]
    },
    "programId": "string",
    "programType": 0,
    "broadcastProgramType": 0,
    "broadcastProgramDetailType": 0,
    "broadcastDate": "2019-05-03T01:58:10.414Z",
    "broadcastHour": 0,
    "broadcastStartDate": "2019-05-03T01:58:10.414Z",
    "broadcastEndDate": "2019-05-03T01:58:10.414Z",
    "programName": "string",
    "hostName": "string"
  },
  "homeShoppingSubInfo": {
    "useYn": true,
    "promotionImageUrl": "string",
    "promotionText": "string",
    "promotionSpecText": "string",
    "promotionFreeGiftYn": true
  },
  "homeShoppingAlternativeUrl": {
    "useYn": true,
    "alternativeVodUrl": "string"
  },
  "homeShoppingDailyExposeProgram": {
    "useYn": true,
    "dailyExposeUrl": "string"
  }
}
{
  "siteType": 0,
  "programId": "string"
}
{
  "broadcastDate": "2019-05-03",
  "programId": "string"
}
{
  "siteType": 0,
  "homeShoppingTimeTable": {
    "useYn": {
      "gmkt": true,
      "iac": true
    },
    "siteGoodsNo": {
      "gmkt": "1590111313 ",
      "iac": "B664011990  "
    },
    "bundleGoodsYn": {
      "gmkt": true,
      "iac": true
    },
    "bundleGoods": {
      "gmkt": [
        {
          "siteGoodsNo": "1590749753 ",
          "bundleGoodsUseYn": true
        }
      ],
      "iac": [
        {
          "siteGoodsNo": "B663993767 ",
          "bundleGoodsUseYn": true
        }
      ]
    },
    "programId": "프로그램ID",
    "programType": 1,
    "broadcastProgramType": 1,
    "broadcastProgramDetailType": 1,
    "broadcastDate": "2019-08-19",
    "broadcastHour": 12,
    "broadcastStartDate": "2019-08-19T12:00:43.703Z",
    "broadcastEndDate": "2019-08-19T12:50:43.703Z",
    "programName": "프로그램명",
    "hostName": "호스트명"
  },
  "homeShoppingSubInfo": {
    "useYn": true,
    "promotionImageUrl": "http://image-dev.auction.co.kr/Itemimage/be/6c/49/be6c49be6.jpg",
    "promotionText": "프로모션명",
    "promotionSpecText": "프로모션 상세스펙",
    "promotionFreeGiftYn": true
  },
  "homeShoppingAlternativeUrl": {
    "useYn": false,
    "alternativeVodUrl": ""
  },
  "homeShoppingDailyExposeProgram": {
    "useYn": false,
    "dailyExposeUrl": ""
  }
}
{
  "siteType": 0,
  "programId": "프로그램ID"
}
{
  "broadcastDate": "2019-05-03",
  "programId": ""
}

Response Description
항목항목명TypeDescription
getHomeShoppingList > useYn프로그램고유번호
사용여부
Boolean 프로그램고유번호 사용여부 설정

true : 프로그램고유번호 사용
false : 프로그램고유번호 사용하지 않음
getHomeShoppingList > siteGoodsNo메인 사이트상품번호int 방송 편성표용 메인 사이트 상품번호
getHomeShoppingList > bundleGoodsYn묶음상품번호 사용여부Boolean 묶음 상품번호 없을경우 등록해도 Pass 시킴

true : 묶음 상품번호 있음
false : 묶음 상품번호 없음
getHomeShoppingList > bundleGoods > siteGoodsNo묶음 사이트상품번호int 방송 편성표용 묶음 사이트 상품번호
번들로 다수의 상품번호 일괄 입력 가능
메인 사이트상품번호는 제외하고 입력
묶음 사이트상품번호 내, 중복된 상품번호 있을 경우에는 성공으로 Skip하여 등록시킴
getHomeShoppingList > bundleGoods > bundleGoodsUseYn묶음상품번호 노출여부Boolean 묶음상품번호 사용여부 true일 경우, Front 노출여부 Checking함
묶음상품번호 사용여부 false이면서 노출여부 true일 경우 Fail

true : 묶음상품 노출
false : 묶음상품 비노출
getHomeShoppingList > programId프로그램고유번호 string BroadcastTimetableInfo.UseYn > true일 경우 필수
최대 30byte까지 입력 가능

존재하지 않는 프로그램 번호일 경우 신규생성
존재하는 프로그램 번호일 경우 정보갱신
getHomeShoppingList > programType방송프로그램 구분 int 프로그램구분 설정
1. Live:정규홈쇼핑상품
2. Alternative:대체상품
getHomeShoppingList > broadcastProgramType프로그램구분 int 프로그램 구분 설정
1. Broadcasting 일반방송
2 .DailyExpose:기획성 짤방 2번일 경우, 방송일/방송시간대/방송시작시간/방송종료시간
Check하지 않음
getHomeShoppingList > broadcastProgramDetailType방송프로그램상세 int 프로그램 상세구분 설정 1. LiveItem:라이브 방송용 상품 2 .AlwaysOnItem:상시 방송용 상품 LiveItem :
- 방송 시간대에만 판매 가능 상품
- 방송 이전, 이후 시간대에는 품절처리 되며 편성표 Front 상에서는 방송시간대 외에는 비노출됨.
- 방송 시작 3시간 전까지는 판매가능 상태로 사전 연동 필요, 그렇게 연동하더라도 편성표 비노출 및 상품 url 유입 block 처리하는 Front 로직을 가지고 있음. AlwaysOnItem :
- 방송시간을 포함하여, 이전, 이후 시간대에도 미리 주문, 지난 방송 주문이 가능한 상품
(즉, 상품 코드가 상시 판매가능상태로 열려있는 상품)
getHomeShoppingList > broadcastDate방송일자 Date 방송편성표용 방송일자 등록
YYYY-MM-DD 형식
getHomeShoppingList > broadcastHour방송시간대 int 방송 편성표용 시간대 숫자 입력
오후 1시일 경우 13으로 입력
getHomeShoppingList > broadcastStartDate방송시작시간 DateTime 방송 편성표용 시작시간 입력
방송일자/방송시간대와 일치하는지 Check함
getHomeShoppingList > broadcastEndDate방송종료시간 DateTime 방송 편성표용 시작시간 입력
방송일자/방송시간대와 일치하는지 Check함
getHomeShoppingList > programName프로그램명 string 방송 편성표용 프로그램 명
100byte까지 입력
getHomeShoppingList > hostName쇼호스트명 string 방송 편성표용 쇼호스트명
20byte까지 입력
getHomeShoppingList > homeShoppingSubInfo > useYn프로모션 등록여부 Boolean 프로모션 정보 등록할지 여부 설정

true : 프로모션 등록
false : 프로모션 등록하지 않음
getHomeShoppingList > homeShoppingSubInfo > promotionImageUrl프로모션 이미지 string 방송 편성표용 프로모션 딜카드 이미지URL
getHomeShoppingList > homeShoppingSubInfo > promotionText프로모션 문구 string 방송 편성표용 프로모션 메인 문구
getHomeShoppingList > homeShoppingSubInfo > promotionSpecText프로모션 스펙문구 string 방송 편성표용 프로모션 스펙 문구
getHomeShoppingList > homeShoppingSubInfo > promotionFreeGiftYn사은품 제공가능 여부 Boolean 사은품 제공가능 여부

true : 사은품 제공
false : 사은품 미제공
getHomeShoppingList > homeShoppingAlternativeUrl > useYnVOD URL 등록여부 Boolean VOD URL 등록할지 여부

true : URL 등록
false : URL 미등록
getHomeShoppingList > homeShoppingAlternativeUrl > alternativeVodUrlVOD URL string Live / Alternative 모두 VOD URL이 있을 수 있음)
getHomeShoppingList > homeShoppingDailyExposeProgram > useYn기획성 짤방 VOD URL 등록여부Boolean 기획성 짤방 URL 등록할지 여부

true : URL 등록
false : URL 미등록
getHomeShoppingList > homeShoppingDailyExposeProgram > dailyExposeUrl기획성 짤방 VOD URLstring
resultCode결과코드int실패 시 내려가는 정보
message메시지string실패 시 내려가는 정보
data데이터object실패 시 내려가는 정보
JSON_Success_등록/수정/삭제JSON_Success_조회JSON_FailSample Code_Success_등록/수정/삭제Sample Code_Success_조회Sample Code_Fail
{
  "programId": "string"
}
{
  "getHomeShoppingList": [
    {
      "useYn": true,
      "siteGoodsNo": "string",
      "programId": "string",
      "programType": 0,
      "broadcastProgramType": 0,
      "broadcastProgramDetailType": 0,
      "broadcastDate": "2019-05-03T01:58:10.533Z",
      "broadcastHour": 0,
      "broadcastStartDate": "2019-05-03T01:58:10.533Z",
      "broadcastEndDate": "2019-05-03T01:58:10.533Z",
      "programName": "string",
      "hostName": "string",
      "bundleGoodsYn": true,
      "bundleGoods": [
        {
          "siteGoodsNo": "string",
          "bundleGoodsUseYn": true
        }
      ],
      "homeShoppingSubInfo": {
        "useYn": true,
        "promotionImageUrl": "string",
        "promotionText": "string",
        "promotionSpecText": "string",
        "promotionFreeGiftYn": true
      },
      "homeShoppingAlternativeUrl": {
        "useYn": true,
        "alternativeVodUrl": "string"
      },
      "homeShoppingDailyExposeProgram": {
        "useYn": true,
        "dailyExposeUrl": "string"
      }
    }
  ]
}
{
   "ResultCode": 0,
   "Message": "string",
   "Data": {}
}
{
  "programId": "프로그램ID명"
}
{
    "getHomeShoppingList": [
        {
            "useYn": true,
            "siteGoodsNo": "1590771113",
            "programId": "프로그램ID",
            "programType": 1,
            "broadcastProgramType": 1,
            "broadcastProgramDetailType": 1,
            "broadcastDate": "2019-08-19T00:00:00+09:00",
            "broadcastHour": 12,
            "broadcastStartDate": "2019-08-19T12:00:43.703+09:00",
            "broadcastEndDate": "2019-08-19T12:50:43.703+09:00",
            "programName": "프로그램명",
            "hostName": "호스트이름",
            "bundleGoodsYn": true,
            "bundleGoods": [
                {
                    "siteGoodsNo": "1590741153",
                    "bundleGoodsUseYn": true
                }
            ],
            "homeShoppingSubInfo": {
                "useYn": true,
                "promotionImageUrl": "http://image-dev.auction.co.kr/Itemimage/be/6c/49/be6c49be6.jpg",
                "promotionText": "프로모션 문구",
                "promotionSpecText": "프로모션 상세스펙 문구",
                "promotionFreeGiftYn": true
            },
            "homeShoppingAlternativeUrl": {
                "useYn": false,
                "alternativeVodUrl": ""
            },
            "homeShoppingDailyExposeProgram": {
                "useYn": false,
                "dailyExposeUrl": ""
            }
        }
    ]
}
{
    "ResultCode": 1000,
    "Message": "편성표 정보가 존재하지 않습니다.",
    "Data": {}
}
Error Code
결과코드메시지원인
1000 존재하지 않거나 잘못된 상품번호가 있습니다.확인 후 연동해주세요. {잘못된 상품번호} 메인 상품번호 or 묶음 상품번호 중 판매자 ID 내, 존재하지 않는 상품번호 있을 경우
1000 중복된 상품번호가 있습니다. {중복된 상품번호} 메인 상품번호인 상품번호가 묶음 상품번호 리스트에 있을 경우
1000 필수로 입력되지 않은 정보가 있습니다. {필수 Entitiy명} 연동 필수인데, 필수로 입력되지 않은 경우
1000 프로그램명이 100byte를 초과하였습니다.프로그램명 100byte초과 시
1000 쇼호스트명이 20byte를 초과하였습니다.쇼호스트명 20byte초과 시
1000 프로그램고유번호가 30byte를 초과하였습니다.프로그램고유번호 30byte초과 시
1000 묶음 상품번호가 N개를 초과하였습니다.묶음 상품번호 N개 초과 시(DB확인 필요)
1000 방송시작시간이 방송일자/방송시간대와 일치하지 않습니다. 확인 후 연동해주세요.방송시작시간 방송일자/방송시간대와 일치하지 않을 경우
1000 방송종료시간이 방송일자/방송시간대와 일치하지 않습니다. 확인 후 연동해주세요.방송종료시간 방송일자/방송시간대와 일치하지 않을 경우
1000 방송시작시간은 방송종료시간과 일치하거나 초과하여 지정될 수 없습니다. 확인 후 연동해주세요.방송시작시간이 방송종료시간보다 미래일 경우
1000 프로모션이미지URL을 확인해주세요.프로모션이미지 URL이 http:// or https://로 완전하지 않은 URL일 경우
1000 G마켓ID를 인증에서 확인해주세요.옥션셀러ID만 토큰에 말린 상태에서 G마켓상품번호 입력 시도 시
1000 옥션ID를 인증에서 확인해주세요.G마켓셀러ID만 토큰에 말린 상태에서 옥션상품번호 입력 시도 시
1000 메인 사이트상품번호를 확인해주세요.G마켓/옥션셀러ID 모두 토큰에 말린상태에서 메인 사이트 상품번호 입력 없을 경우