Notification > Notification Hub > API v1.0 사용 가이드 > 플로우
요청
POST /flow/v1.0/flows
Content-Type: application/json
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: {accessToken}
요청 파라미터
이름 | 구분 | 타입 | 필수 | 설명 |
---|---|---|---|---|
appKey | Header | String | Y | 앱키 |
accessToken | Header | String | Y | 인증 토큰 |
요청 본문
{
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": {
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}
}
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
flowName | String | Y | 플로우 이름 |
description | String | N | 플로우 설명 |
messagePurpose | String | Y | 메시지 목적 NORMAL(일반), AD(광고), AUTH(인증) |
steps | Object | Y | 플로우 단계 |
steps.messageChannel | String | Y | 메시지 채널 SMS, RCS, ALIMTALK, FRIENDTALK, EMAIL, PUSH |
steps.templateId | String | Y | 템플릿 아이디 |
steps.nextSteps | Object Array | N | 다음 단계 |
응답 본문
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"flowId": "플로우_아이디"
}
요청 예시
### 플로우 생성
POST {{endpoint}}/flow/v1.0/flows
Content-Type: application/json
X-NC-APP-KEY: {{appKey}}
X-NHN-Authorization: {{authorizationToken}}
{
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": {
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}
}
curl -X POST "${ENDPOINT}/flow/v1.0/flows" \
-H "Content-Type: application/json" \
-H "X-NC-APP-KEY: ${APP_KEY}" \
-H "X-NHN-Authorization: ${ACCESS_TOKEN}" \
-d '{
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": {
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}'
요청
GET /flow/v1.0/flows
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: {accessToken}
요청 파라미터
이름 | 구분 | 타입 | 필수 | 설명 |
---|---|---|---|---|
appKey | Header | String | Y | 앱키 |
accessToken | Header | String | Y | 인증 토큰 |
flowId | Query | String | N | 플로우 아이디 |
flowName | Query | String | N | 플로우 이름, 접두사(Prefix) 검색 가능 |
limit | Query | Integer | N | 페이지당 조회 개수 |
offset | Query | Integer | N | 페이지 오프셋 |
요청 본문
이 API는 요청 본문을 요구하지 않습니다.
응답 본문
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"flows": [
{
"flowId": "플로우_아이디",
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": [
{
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}
]
}
]
}
요청 예시
### 플로우 목록 조회
GET {{endpoint}}/flow/v1.0/flows
Content-Type: application/json
X-NC-APP-KEY: {{appKey}}
X-NHN-Authorization: {{authorizationToken}}
curl -X GET "${ENDPOINT}/flow/v1.0/flows" \
-H "Content-Type: application/json" \
-H "X-NC-APP-KEY: ${APP_KEY}" \
-H "X-NHN-Authorization: ${ACCESS_TOKEN}"
요청
GET /flow/v1.0/flows/{flowId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: {accessToken}
요청 파라미터
이름 | 구분 | 타입 | 필수 | 설명 |
---|---|---|---|---|
appKey | Header | String | Y | 앱키 |
accessToken | Header | String | Y | 인증 토큰 |
flowId | Path | String | Y | 플로우 아이디 |
요청 본문
이 API는 요청 본문을 요구하지 않습니다.
응답 본문
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"flow": {
"flowId": "플로우_아이디",
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": [
{
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}
]
}
}
요청 예시
### 플로우 조회
GET {{endpoint}}/flow/v1.0/flows/{{flowId}}
Content-Type: application/json
X-NC-APP-KEY: {{appKey}}
X-NHN-Authorization: {{authorizationToken}}
curl -X GET "${ENDPOINT}/flow/v1.0/flows/${FLOW_ID}" \
-H "Content-Type: application/json" \
-H "X-NC-APP-KEY: ${APP_KEY}" \
-H "X-NHN-Authorization: ${ACCESS_TOKEN}"
요청
PUT /flow/v1.0/flows/{flowId}
Content-Type: application/json
X-NC-APP-KEY: {{ppKey}
X-NHN-Authorization: {accessToken}
요청 파라미터
이름 | 구분 | 타입 | 필수 | 설명 |
---|---|---|---|---|
appKey | Header | String | Y | 앱키 |
accessToken | Header | String | Y | 인증 토큰 |
flowId | Path | String | Y | 플로우 아이디 |
요청 본문
{
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": {
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}
}
응답 본문
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
}
}
요청 예시
### 플로우 수정
PUT {{endpoint}}/flow/v1.0/flows/{{flowId}}
Content-Type: application/json
X-NC-APP-KEY: {{appKey}}
X-NHN-Authorization: {{authorizationToken}}
{
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": {
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}
}
curl -X PUT "${ENDPOINT}/flow/v1.0/flows/${FLOW_ID}" \
-H "Content-Type: application/json" \
-H "X-NC-APP-KEY: ${APP_KEY}" \
-H "X-NHN-Authorization: ${ACCESS_TOKEN}" \
-d '{
"flowName": "플로우_이름",
"description": "플로우_설명",
"messagePurpose": "NORMAL",
"steps": {
"messageChannel": "EMAIL",
"templateId": "이메일_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "ALIMTALK",
"templateId": "알림톡_템플릿_아이디",
"nextSteps": [
{
"messageChannel": "SMS",
"templateId": "SMS_템플릿_아이디",
"nextSteps": []
}
]
}
]
}'
}
요청
DELETE /flow/v1.0/flows/{flowId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: {accessToken}
요청 파라미터
이름 | 구분 | 타입 | 필수 | 설명 |
---|---|---|---|---|
appKey | Header | String | Y | 앱키 |
accessToken | Header | String | Y | 인증 토큰 |
flowId | Path | String | Y | 플로우 아이디 |
요청 본문
이 API는 요청 본문을 요구하지 않습니다.
응답 본문
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
}
}
요청 예시
### 플로우 삭제
DELETE {{endpoint}}/flow/v1.0/flows/{{flowId}}
Content-Type: application/json
X-NC-APP-KEY: {{appKey}}
X-NHN-Authorization: {{authorizationToken}}
curl -X DELETE "${ENDPOINT}/flow/v1.0/flows/${FLOW_ID}" \
-H "Content-Type: application/json" \
-H "X-NC-APP-KEY: ${APP_KEY}" \
-H "X-NHN-Authorization: ${ACCESS_TOKEN}"