apiType

ICE의 API 유형은 다음과 같이 구분한다.

service

  • FrontOffice에서 사용하는 API

  • Path : svc

{{protocol}}://{{hostname}}:{{port}}/svc/{{apiCategory}}/{{api}}?_siteId=dxp

  • _siteId 항상 필수

  • 자동 생성 API 사용 불가능. 설정 API 만 사용 가능.

  • 인증 : Customer의 세션을 사용한다.

GET {{protocol}}://{{hostname}}:{{port}}/auth/svc/jwt?_siteId=dxp

 

admin

  • Admin 사용자용 BackOffice를 위한 API

  • Path : adm

{{protocol}}://{{hostname}}:{{port}}/adm/{{nodeType}}/{{event}}

  • 인증 : 반드시 로그인된 Admin 사용자만 사용 가능

 

manager

  • Manger 사용자용 BackOffice를 위한 API

  • Path : mng

  • 인증 : 반드시 로그인된 Manager 사용자만 사용 가능

 

external

  • 외부 또는 레거시 시스템과 연동을 위해서 사용하는 API

  • Path : ext

  • 인증 : API 키를 통해서 인증

 

internal

  • ICE 내부 서비스간 연동을 위해서 사용하는 API

  • Path : int

  • 인증 : 클러스터에 등록된 서버들만 통신 가능

 

open

  • 오픈 API에 사용

  • Path : api

  • 자동 생성 API 사용 불가능. 설정 API 만 사용 가능.

  • 인증 : API Key를 이용한 인증 사용, 요구사항에 따라서 인증 방식 확장이 가능(OAuth 등)

{     "timestamp": "2020-10-20T02:45:39.969+0000",     "status": 400,     "error": "Bad Request",     "message": "Required String parameter 'apiKey' is not present",     "path": "/api/testEvent/list" }
{     "result": "200",     "resultMessage": "SUCCESS",     "totalCount": 0,     "totalTypeCount": 0,     "resultCount": 0,     "items": [] }

 

 

apiType은 apiCategoryapi 에 각각 설정 가능하다.

 

  • apiCategory 설정되어있고 api에 설정 안되어있으면 하위 api 는 apiCategory의 apiType을 따른다.

  • apiCategory와 하위 api에 서로다른 apiType이 설정되어 있는 경우 api 는 자신의 apiType을 따른다.

 

{ "typeId": "apiCategory", "id": "product", "categoryName": "product API", "dateFormat": "yyyy-MM-dd HH:mm:ss", "fileUrlFormat": { "default": "{{:getEnvValue('core.cluster.api-url-prefix')}}" }, "commonParameters": [ ], "commonResponse": [ ] }