For the complete documentation index, see llms.txt. This page is also available as Markdown.

전시 레이아웃 구성안 관리

구성안 목록 조회

get

기능설명

  • 전시위치별 레이아웃 구성안 목록을 조회합니다.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
layoutNmstringOptional

구성안명(부분검색)

shopTypCdstringOptional

전시매장유형(HOME/CATEGORY/BRAND/SLOT)

dispTgtNostringOptional

전시위치키

dispStatCdstringOptional

화면 상태 10 임시저장/20 전시/30 전시 안 함/40 전시 예약

pageIdxnumberOptional

페이지 번호

Example: 1
rowsPerPagenumberOptional

페이지당 개수

Example: 100
Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

errorbooleanOptional

is error

get/v2/display/displayLayoutConfig
GET /api/bo/v2/display/displayLayoutConfig HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": {
    "totalCount": 1,
    "payloads": [
      {
        "siteNo": "text",
        "layoutNo": "text",
        "layoutNm": "text",
        "shopTypCd": "text",
        "dispTgtNo": "text",
        "dpmlNo": "text",
        "dispYn": "text",
        "dispStrDtm": "2026-01-01T00:00:00.000Z",
        "dispEndDtm": "2026-01-01T00:00:00.000Z",
        "dispStatCd": "text",
        "layoutJson": "text",
        "useYn": "text"
      }
    ]
  },
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

구성안 신규 저장

post

기능설명

  • 새 구성안을 만들면서 동작(draft 임시저장 / now 즉시 전시 / reserve 전시 예약)까지 한 번에 처리합니다.


상세설명

  • 구성안번호는 서버에서 채번합니다. 동작이 막히면 400 이고 행이 생기지 않습니다.

  • dryRun=true 면 채번·저장 없이 결과(끝날 구성안·다음 시작·같은 위치 예약·막힌 이유)만 돌려줍니다.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

전시 레이아웃 저장 요청

siteNostringOptional

사이트번호

layoutNmstringOptional

레이아웃명

shopTypCdstringOptional

매장유형코드(DP003)

dispTgtNostringOptional

전시대상번호(DP040/전시카테고리번호/브랜드번호)

dpmlNostringOptional

전시몰번호

layoutDocanyOptional

레이아웃 문서(LayoutDocument) JSON. 생략 시 빈 문서.

actionstringOptional

동작 draft 임시저장/save 변경 사항 저장/now 즉시 전시/reserve 전시 예약/off 전시 내리기/cancel 예약 취소

dispStrDtmstringOptional

예약 일시(reserve). 오프셋이 없으면 KST 로 보고, 분 단위로 자른다

Example: 2026-10-20T10:00
dryRunbooleanOptional

true 면 쓰지 않고 결과만 계산한다(모달 미리보기)

Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

errorbooleanOptional

is error

post/v2/display/displayLayoutConfig
POST /api/bo/v2/display/displayLayoutConfig HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 168

{
  "siteNo": "text",
  "layoutNm": "text",
  "shopTypCd": "text",
  "dispTgtNo": "text",
  "dpmlNo": "text",
  "layoutDoc": null,
  "action": "text",
  "dispStrDtm": "2026-10-20T10:00",
  "dryRun": true
}
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": {
    "config": {
      "siteNo": "text",
      "layoutNo": "text",
      "layoutNm": "text",
      "shopTypCd": "text",
      "dispTgtNo": "text",
      "dpmlNo": "text",
      "dispYn": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "dispStatCd": "text",
      "layoutJson": "text",
      "useYn": "text"
    },
    "canApply": true,
    "blockReason": "text",
    "warning": "text",
    "dispStrDtmError": "text",
    "dispStrDtm": "2026-01-01T00:00:00.000Z",
    "ending": {
      "layoutNo": "text",
      "layoutNm": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "self": true,
      "conflict": true
    },
    "next": {
      "layoutNo": "text",
      "layoutNm": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "self": true,
      "conflict": true
    },
    "conflict": {
      "layoutNo": "text",
      "layoutNm": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "self": true,
      "conflict": true
    },
    "schedule": [
      {
        "layoutNo": "text",
        "layoutNm": "text",
        "dispStrDtm": "2026-01-01T00:00:00.000Z",
        "dispEndDtm": "2026-01-01T00:00:00.000Z",
        "self": true,
        "conflict": true
      }
    ]
  },
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

구성안 목록 삭제

delete

기능설명

  • 선택한 구성안들을 논리 삭제(USE_YN='N')합니다.


상세설명

  • 임시저장·전시 안 함만 삭제 가능하며, 전시·전시 예약은 거부합니다.

  • 한 건이라도 삭제할 수 없으면 전체를 롤백합니다.

  • 필수 값 목록

    • 구성안번호 목록

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Bodystring[]
string[]Optional
Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

payloadanyOptional

payload

errorbooleanOptional

is error

delete/v2/display/displayLayoutConfig
DELETE /api/bo/v2/display/displayLayoutConfig HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 8

[
  "text"
]
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": null,
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

구성안 상세 조회

get

기능설명

  • 구성안의 기본정보 + LayoutDocument 를 조회합니다.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
layoutNostringRequired

구성안번호

Example: 10000001
Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

errorbooleanOptional

is error

get/v2/display/displayLayoutConfig/{layoutNo}
GET /api/bo/v2/display/displayLayoutConfig/{layoutNo} HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": {
    "siteNo": "text",
    "layoutNo": "text",
    "layoutNm": "text",
    "shopTypCd": "text",
    "dispTgtNo": "text",
    "dpmlNo": "text",
    "dispYn": "text",
    "dispStrDtm": "2026-01-01T00:00:00.000Z",
    "dispEndDtm": "2026-01-01T00:00:00.000Z",
    "dispStatCd": "text",
    "layoutJson": "text",
    "useYn": "text"
  },
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

구성안 저장

post

기능설명

  • 기본정보·LayoutDocument 저장과 동작을 한 트랜잭션으로 처리합니다. 상태는 저장하지 않고 전시여부·전시기간만 바꿉니다.


상세설명

  • draft(임시저장)·save(변경 사항 저장): 내용만 저장합니다.

  • now(즉시 전시): 지금(초 단위)부터 전시. 떠 있던 구성안은 그 시각에 끝납니다.

  • reserve(전시 예약): dispStrDtm(분 단위, KST)부터 전시. 예약이면 일시를 바꿉니다. 같은 위치 같은 일시는 막습니다.

  • off(전시 내리기): 전시여부 N. cancel(예약 취소): 전시 안 함이 됩니다.

  • 기본정보·문서를 비우면 상태만 바꿉니다(같은 위치 다른 구성안의 예약 일시 변경·취소).

  • 어느 동작이든 같은 위치의 전시·예약 종료일을 다음 시작일로 다시 맞춥니다(기간 [시작, 종료)).

  • dryRun=true 면 쓰지 않고 결과만 돌려줍니다.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
layoutNostringRequired

구성안번호

Example: 10000001
Body

전시 레이아웃 저장 요청

siteNostringOptional

사이트번호

layoutNmstringOptional

레이아웃명

shopTypCdstringOptional

매장유형코드(DP003)

dispTgtNostringOptional

전시대상번호(DP040/전시카테고리번호/브랜드번호)

dpmlNostringOptional

전시몰번호

layoutDocanyOptional

레이아웃 문서(LayoutDocument) JSON. 생략 시 빈 문서.

actionstringOptional

동작 draft 임시저장/save 변경 사항 저장/now 즉시 전시/reserve 전시 예약/off 전시 내리기/cancel 예약 취소

dispStrDtmstringOptional

예약 일시(reserve). 오프셋이 없으면 KST 로 보고, 분 단위로 자른다

Example: 2026-10-20T10:00
dryRunbooleanOptional

true 면 쓰지 않고 결과만 계산한다(모달 미리보기)

Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

errorbooleanOptional

is error

post/v2/display/displayLayoutConfig/{layoutNo}
POST /api/bo/v2/display/displayLayoutConfig/{layoutNo} HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 168

{
  "siteNo": "text",
  "layoutNm": "text",
  "shopTypCd": "text",
  "dispTgtNo": "text",
  "dpmlNo": "text",
  "layoutDoc": null,
  "action": "text",
  "dispStrDtm": "2026-10-20T10:00",
  "dryRun": true
}
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": {
    "config": {
      "siteNo": "text",
      "layoutNo": "text",
      "layoutNm": "text",
      "shopTypCd": "text",
      "dispTgtNo": "text",
      "dpmlNo": "text",
      "dispYn": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "dispStatCd": "text",
      "layoutJson": "text",
      "useYn": "text"
    },
    "canApply": true,
    "blockReason": "text",
    "warning": "text",
    "dispStrDtmError": "text",
    "dispStrDtm": "2026-01-01T00:00:00.000Z",
    "ending": {
      "layoutNo": "text",
      "layoutNm": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "self": true,
      "conflict": true
    },
    "next": {
      "layoutNo": "text",
      "layoutNm": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "self": true,
      "conflict": true
    },
    "conflict": {
      "layoutNo": "text",
      "layoutNm": "text",
      "dispStrDtm": "2026-01-01T00:00:00.000Z",
      "dispEndDtm": "2026-01-01T00:00:00.000Z",
      "self": true,
      "conflict": true
    },
    "schedule": [
      {
        "layoutNo": "text",
        "layoutNm": "text",
        "dispStrDtm": "2026-01-01T00:00:00.000Z",
        "dispEndDtm": "2026-01-01T00:00:00.000Z",
        "self": true,
        "conflict": true
      }
    ]
  },
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

콘텐츠 이미지 업로드

post

기능설명

  • 전시 구성안 콘텐츠(배너/이미지) 이미지를 S3(display) 경로에 업로드하고 접근 URL 을 반환합니다.


상세설명

  • 여러 파일을 한 번에 업로드할 수 있으며, 빌더는 필드(PC/MO)당 1장씩 호출합니다.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
filesstring · binary[]Optional
Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

errorbooleanOptional

is error

post/v2/display/displayLayoutConfig/uploadImage
POST /api/bo/v2/display/displayLayoutConfig/uploadImage HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "files": [
    "binary"
  ]
}
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": [
    {
      "fileNm": "text",
      "filePath": "text"
    }
  ],
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

전시 구성안 미리보기 세션 생성

post

편집 중인 레이아웃 문서로 미리보기 세션을 만든다(api-display 전달).

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
Other propertiesanyOptional
Responses
200

OK

*/*
Other propertiesanyOptional
post/v2/display/displayLayoutConfig/preview/
POST /api/bo/v2/display/displayLayoutConfig/preview/ HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

전시 구성안 미리보기 세션 생성

post

편집 중인 레이아웃 문서로 미리보기 세션을 만든다(api-display 전달).

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
Other propertiesanyOptional
Responses
200

OK

*/*
Other propertiesanyOptional
post/v2/display/displayLayoutConfig/preview
POST /api/bo/v2/display/displayLayoutConfig/preview HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

구성안 상품 요약 조회

get

기능설명

  • 상품번호 목록으로 상품명과 대표이미지를 한 번에 조회합니다.


상세설명

  • 구성안(layout_json)은 상품번호만 저장합니다. 이름·이미지는 상품 쪽에서 바뀌므로 구성안에 베껴 두지 않고 화면이 그릴 때 번호로 받아 갑니다.

  • 대표이미지가 없는 상품도 이름과 함께 내려갑니다.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
goodsNoListstring[]Required

상품번호 목록

Example: 11962125,10903910
Responses
200

OK

*/*
timestampstring · date-timeOptional

result time

codestringOptional

result code

messagestringOptional

result message

isProcessbooleanOptional

process check

errorbooleanOptional

is error

get/v2/display/displayLayoutConfig/goodsSummaries
GET /api/bo/v2/display/displayLayoutConfig/goodsSummaries?goodsNoList=text HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "timestamp": "2026-01-01T00:00:00.000Z",
  "code": "text",
  "message": "text",
  "isProcess": true,
  "payload": [
    {
      "goodsNo": "text",
      "goodsNm": "text",
      "repImgPathNm": "text"
    }
  ],
  "error": true,
  "errors": [
    {
      "field": "text",
      "message": "text"
    }
  ]
}

마지막 업데이트