복사성공!
1
[POST] https://biz-api.sktnugu.com/api/v2/enrolledUser/user/{userApiToken}/announcement?callBack={callback}
등록된 Biz 사용자가 Biz API 수신 및 제휴사 계정 인증을 한 경우, 계정 인증을 통해 생성된 토큰을 바탕으로 개인에게 특화된 Announcement 메세지를 사용자의 디바이스에 발송 할 수 있습니다.
기존의 Biz 사용자별 Announcement 전송 V1
은 Response 의 응답 시간이 경우에 따라 길게 소요될 수가 있어서, V2버전의 경우 요청에 대한 응답을 미리 준 후 비동기로 요청을 처리하며, 처리된 결과는 문서에 정의된 callback
을 통해 전달 받을수 있도록 변경/개선 되었습니다.
1
[POST] https://biz-api.sktnugu.com/api/v2/enrolledUser/user/{userApiToken}/announcement?callBack={callback}
body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"playServiceId": "XXX",
"tts": {
"text": "발송 내용",
"speed": "100",
"pause1": "600",
"pause2": "300"
},
"display": {
"type": "imageText2",
"title": "타이틀",
"header": "헤더",
"body": "본문",
"footer": "부가설명",
"image": "http://imageUrl",
"grammarGuide": [
"발화문1",
"발화문2"
]
}
}
이름 | 유형 | 속성 | 필수 | 설명 |
---|---|---|---|---|
Publisher-Token | Header | string | Y | 퍼블리셔가 보유한 토큰 |
userApiToken | path | string | Y | 발송할 사용자의 API 토큰 |
callBack | query param | string | 처리결과를 받을 URL(80/443포트만 허용) 미입력시 전송되지 않는다. |
|
playServiceId | body | string | Y | 발송 대상 play 대상 play의 합성음, TTS Domain을 기준으로 SKML을 생성 |
tts | body | object | TTS를 구성하는 객체 | |
tts.text | body | string | Y | 발화문장 발화문장, Display 객체 중 반드시 1개 이상은 존재해야 한다. |
tts.speed | body | string | 발화속도 85, 90… 120까지의 5단위 값 기본값은 100 |
|
tts.pause1 | body | string | 문장 사이 묵음 구간 길이 300, 400… 900까지의 100단위 값 기본값은 600 |
|
tts.pause2 | body | string | 100, 200… 500까지의 100단위 값 기본값은 300 |
|
display | body | object | Y | Display 객체 발화문장, Display 객체 중 반드시 1개 이상은 존재해야 한다. |
display.type | body | string | Y | 사용할 Display Template FullText1, ImageText2중 하나 |
display.title | body | string | Y | 화면 타이틀 |
display.header | body | string | Y | 본문 제목 |
display.body | body | string | Y | 본문 내용 |
display.footer | body | string | 본문 부가 설명 | |
display.image | body | string | 이미지 ImageText Type에서 이미지가 없을 경우, 디폴트 이미지 노출 |
|
display.grammarGuide | body | array of string | 가이드 발화문 |
HTTP Status | errorCode | 설명 |
---|---|---|
200 | 정상 요청 | |
403 | 퍼블리셔 API Token이 유효하지 않거나, 유효하지 않은 자원에 접근할 경우 리턴 | |
404 | 발송 요청한 사용자가 존재하지 않을 때 응답값 | |
400 | V1ANN001 | body 값을 파싱할 수 없음 |
400 | V1ANN002 | playServiceId 없음 |
400 | V1ANN101 | tts 객체가 모두 존재하지 않음 |
400 | V1ANN102 | tts.text 없음 |
400 | V1ANN103 | tts.speed 값이 잘못됨 |
400 | V1ANN104 | tts.pause1 값이 잘못됨 |
400 | V1ANN105 | tts.pause2 값이 잘못됨 |
400 | V1ANN201 | display.type 값이 잘못됨 |
400 | V1ANN202 | display.title 값이 없음 |
400 | V1ANN203 | display.header 값이 없음 |
400 | V1ANN204 | display.body 값이 없음 |
400 | V1ANN301 | 허용되지 않는 playServiceId |
1
2
3
4
5
6
7
8
9
10
11
{
"id": "XXX",
"name": "XXX",
"email": "XXX",
"resultCode": "OK",
"deviceResults": [
{
"code": "XXX"
}
]
}
이름 | 속성 | 설명 |
---|---|---|
id | string | 발송 대상 Biz 사용자 ID |
name | string | 발송 대상 Biz 사용자 이름 |
string | 발송 대상 Biz 사용자 이메일 | |
resultCode | enum | 발송 결과 OK : 발송 대상 기기 모두 성공 SOME_OK : 발송 대상 기기 일부 성공 FAIL : 발송 대상 기기 모두 실패 NOT_AGREE : API 수신 거부 NO_DEVICE : API 수신 허용 기기 없음 |
deviceResults | array of object | 기기별 응답값 |
deviceResults[].code | enum | 기기별 발송 결과 OK : 발송 성공 NOT_CONNECTED : 사용자에 연결되지 않은 기기 TIMEOUT : 기기와의 연결 실패 CONNECT_ERROR : 기기가 꺼져 있거나, 네트워크에 문제가 있음 NOT_SUPPORTED : 지원하지 않는 기기 ERROR : 알 수 없는 에러(개발팀 문의 필요) |