FriendTalk APIs
- Print
- PDF
FriendTalk APIs
- Print
- PDF
Article summary
Did you find this summary helpful?
Thank you for your feedback
Basic information
API URL
https://sens.apigw.ntruss.com/friendtalk/v2
Go to SENS FriendTalk API Swagger
API Header
Item | Mandatory | Description |
---|---|---|
Content-Type | Mandatory | Specifies the request Body Content Type as application/json (POST) |
x-ncp-apigw-timestamp | Mandatory | Time elapsed in milliseconds since January 1, 1970, 00:00:00 UTC The request is considered invalid if the time difference compared to the API Gateway server is more than 5 minutes |
x-ncp-iam-access-key | Mandatory | Access Key ID issued by the portal or Sub Account |
x-ncp-apigw-signature-v2 | Mandatory | Signature of the body in the above example encrypted with a SecretKey mapped to Access Key ID HmacSHA256 is used as the HMAC encryption algorithm. |
Go to NAVER Cloud Platform authentication key and signature creation guide
Messages
Send messages
Sends a message.
Request URL
POST https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/messages
Content-Type: application/json; charset=utf-8
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
Headers
Request Body
{
"plusFriendId":"string",
"messages":[
{
"isAd":"string",
"countryCode":"string",
"to":"string",
"content":"string",
"buttons":[
{
"type":"string",
"name":"string",
"linkMobile":"string",
"linkPc":"string",
"schemeIos":"string",
"schemeAndroid":"string"
}
],
"image":{
"imageId":"string",
"imageLink":"string"
},
"useSmsFailover": "boolean",
"failoverConfig": {
"type": "string",
"from": "string",
"subject": "string",
"content": "string"
}
}
],
"reserveTime": "yyyy-MM-dd HH:mm",
"reserveTimeZone": "string"
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
plusFriendId | Mandatory | String | Name of KakaoTalk Channel ((formerly) Plus Friend ID) | |
messages | Mandatory | Object | Message information | See items below (messages.XXX): Up to 100 |
messages.isAd | Optional | Boolean | Ad message status | default: true If sending as an ad message (isAd: true), When operating SMS Failover, you must comply with the obligation to mark the transmission of advertisement messages. |
messages.countryCode | Optional | String | Recipient's country code | default: 82 |
messages.to | Mandatory | String | Recipient's number | |
messages.content | Mandatory | String | FriendTalk message content | |
messages.buttons | Optional | Array of Object | FriendTalk message button | See Button information |
messages.buttons.type | Mandatory | String | Button type | See the following template button information. |
messages.buttons.name | Mandatory | String | Button name | See the following template button information. |
messages.image | Optional | Object | Image information | See Upload image |
messages.image.imageId | Mandatory | String | ID of uploaded image | |
messages.image.imageLink | Mandatory | String | Image link | |
messages.useSmsFailover | Optional | Boolean | SMS Failover use status | Available only on KakaoTalk Channels where Failover is set. Default: follows the Failover settings of KakaoTalk Channel. |
messages.failoverConfig | Optional | Object | Failover settings | See the following items: |
messages.failoverConfig.type | Optional | String | Failover SMS message type | SMS or LMS Default: automatically applied according to the content length (SMS if 90 bytes or less, LMS if it exceeds 90 bytes) |
messages.failoverConfig.from | Optional | String | Failover SMS caller ID | Default: caller ID selected when setting up Failover Failover does not work when using an unauthorized caller ID. |
messages.failoverConfig.subject | Optional | String | Failover SMS title | Used when operating in LMS type Default: KakaoTalk Channel name |
messages.failoverConfig.content | Optional | String | Failover SMS content | Default: FriendTalk message content (excluding button) |
reserveTime | Optional | String | Reserved date and time | Reserved date and time for message delivery (yyyy-MM-dd HH:mm) |
reserveTimeZone | Optional | String | Time zone of reserved date and time | Time zone of reserved date and time (default: Asia/Seoul) * List of supported time zones * Use the TZ database name value |
- If you are using the Mandatory field in the request Body, blanks are not allowed. (Only in the case of addition)
- SMS Failover operates when the Biz Message reception result code shows not successful. For codes with the prefix "B," SMS replacement cannot be sent through the Failover function.
Status | Error text | Desc |
---|---|---|
0000 | - | Normal delivery |
3022 | NoSendAvailableTimeException | Outside the time for sending messages (FriendTalk/marketing messages can be sent from 08:00 to 20:50.) |
Bxxx | See the Biz Message reception result code below | See the Biz Message reception result code below |
- When sending advertising messages, you can use the 080 call block service of the configured SMS service in SMS Failover.
- SMS Failover will fail if the 080 call block service is not available for the configured SMS service.
- If you use
failoverConfig.content
without specifying it separately, the advertisement marking is automatically inserted during SMS Failover.[Advertisement]{message content} Free call block number 08012345678
- If you specify
failoverConfig.content
separately, you do not need to insert advertisement marking. When sending an ad message, you must add it yourself. - If sending SMS messages that do not comply with the advertisement marking obligation, an explanation may be required later.
- When sending a wide image, you can send text + link button (1 pc) + image.
- If adding more than 2 buttons, message delivery fails. (Invalid parameter request)
- Texts are limited to 76 characters.
Button information
Type | Name | Mandatory item |
---|---|---|
WL | Web link | linkMobile, linkPc (URL starting with http:// or https://) |
AL | App link | schemeIos, schemeAndroid |
BK | Bot keyword | |
MD | Send message | |
AC | Add Channel |
Response bodies
{
"requestId":"string",
"requestTime":"string",
"statusCode":"string",
"statusName":"string",
"messages":[
{
"messageId":"string",
"countryCode":"string",
"to":"string",
"content":"string",
"requestStatusCode":"string",
"requestStatusName":"string",
"requestStatusDesc":"string",
"useSmsFailover":"boolean"
}
]
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
requestId | Mandatory | String | Delivery request ID | |
requestTime | Mandatory | DateTime | Delivery request time | yyyy-MM-dd'T'HH:mm:ss.SSS |
statusCode | Mandatory | String | Request status code | 202 - Success Others - Failed * Follows the HTTP Status specifications. |
statusName | Mandatory | String | Request status name | success - Success processing - Being processed reserved - Being reserved fail - Failed |
messages.messageId | Mandatory | String | Message ID | |
messages.countryCode | Optional | String | Recipient's country code | default: 82 |
messages.to | Mandatory | String | Recipient's number | |
messages.content | Mandatory | String | FriendTalk message content | |
messages.requestStatusCode | Mandatory | String | Delivery request status code | A000 - Success Other codes - Failed (reason for failure specified in the Desc category) |
messages.requestStatusName | Mandatory | String | Delivery request status name | success - Success fail - Failed |
messages.requestStatusDesc | Mandatory | String | Delivery request status content | |
messages.useSmsFailover | Mandatory | Boolean | SMS Failover use status |
Response status
HTTP Status | Desc |
---|---|
202 | Accepted (delivery request completed) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Search for message delivery request
Search for the message delivery request.
Request URL
GET https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/messages?requestId=
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
Parameters
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
requestId | Mandatory | String | Request ID | Delivery request ID |
plusFriendId | Mandatory | String | Kakao Channel | Registered Channel name |
requestStartTime | Mandatory | String | Start time of search | yyyy-MM-dd'T'HH:mm:ss |
requestEndTime | Mandatory | String | End time of search | yyyy-MM-dd'T'HH:mm:ss |
completeStartTime | Mandatory | String | Start time to complete delivery | yyyy-MM-dd'T'HH:mm:ss |
completeEndTime | Mandatory | String | End time to complete delivery | yyyy-MM-dd'T'HH:mm:ss |
messageId | Optional | String | Message ID | |
requestStatusName | Optional | String | Request status | success, fail |
messageStatusName | Optional | String | Request status | success, processing, fail |
to | Optional | String | Message received number | Numbers without hyphens (-) |
pageIndex | Optional | Integer | Page number | default: 0 |
pageSize | Optional | Integer | Page size | default: 20, max: 100 When viewing including requestId, default: 100 |
Note
- History of delivering messages can only be viewed within the last 30 days.
- Either requestId or requestStartTime + requestEndTime or completeStartTime + completeEndTime is required.
- requestStartTime + requestEndTime and completeStartTime + completeEndTime cannot be used simultaneously.
- The query range from requestStartTime to requestEndTime is limited to a maximum of 31 days.
- The query range from completeStartTime to completeEndTime is limited to a maximum of 24 hours.
- If requestId is not included in the query conditions, plusFriendId is required.
Headers
Request Body
N/A
Response bodies
{
"requestId": "string",
"statusCode": "string",
"statusName": "string",
"messages": [
{
"requestTime": "string",
"messageId": "string",
"countryCode": "string",
"to": "string",
"content": "string",
"plusFriendId": "string",
"completeTime": "string",
"requestStatusCode": "string",
"requestStatusName": "string",
"requestStatusDesc": "string",
"messageStatusCode": "string",
"messageStatusName": "string",
"messageStatusDesc": "string",
"isWide": "boolean",
"isAd": "boolean",
"useSmsFailover": "boolean",
"failover": {
"smsServiceId": "string",
"requestId": "string",
"messageId": "string",
"requestStatusCode": "string",
"requestStatusName": "string",
"requestStatusDesc": "string",
"messageStatus": "string",
"messageStatusCode": "string",
"messageStatusName": "string",
"messageStatusDesc": "string"
}
}
],
"pageSize": "integer",
"pageIndex": "integer",
"itemCount": "integer",
"hasMore": "boolean"
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
requestId | Optional | String | Delivery request ID | Only exposed when you query with requestId |
statusCode | Mandatory | String | Request status code | 202 - Success Others - Failed * Follows the HTTP Status specifications. |
statusName | Mandatory | String | Request status name | success - Success processing - Being delivered reserved - Being reserved fail - Failed |
messages.requestTime | Mandatory | DateTime | Delivery request time | yyyy-MM-dd'T'HH:mm:ss.SSS |
messages.messageId | Mandatory | String | Message ID | |
messages.countryCode | Optional | String | Recipient's country code | default: 82 |
messages.to | Mandatory | String | Recipient's number | |
messages.content | Mandatory | String | FriendTalk message content | |
messages.plusFriendId | Mandatory | String | Name of KakaoTalk Channel ((formerly) Plus Friend ID) | |
messages.completeTime | Optional | DateTime | Delivery reporting (processing completion) time | yyyy-MM-dd'T'HH:mm:ss |
messages.requestStatusCode | Mandatory | String | Delivery request status code | A000 - Success Other codes - Failed (reason for failure specified in the Desc category) |
messages.requestStatusName | Mandatory | String | Delivery request status name | success - Success fail - Failed |
messages.requestStatusDesc | Mandatory | String | Delivery request status content | |
messages.messageStatusCode | Mandatory | String | Delivery result status code | 0000 - Success Other codes - Failed (reason for failure specified in the Desc category) |
messages.messageStatusName | Mandatory | String | Delivery result status name | success - Success processing - Being processed * Being processed in the message delivery server after successful sending request * Fail to search messageCode, messageDesc fail - Failed |
messages.messageStatusDesc | Mandatory | String | Delivery result status description | |
messages.isWide | Mandatory | Boolean | Wide status | |
messages.isAd | Mandatory | Boolean | Ad message status | |
messages.useSmsFailover | Mandatory | Boolean | SMS Failover use status | |
messages.failover | Optional | Object | SMS Failover | |
messages.failover.smsServiceId | Optional | String | SMS Failover service ID | |
messages.failover.requestId | Optional | String | SMS Failover delivery request ID | |
messages.failover.messageId | Optional | String | SMS Failover delivery message ID | |
messages.failover.requestStatusCode | Optional | String | SMS Failover delivery request status code | See the Errors table. |
messages.failover.requestStatusName | Optional | String | SMS Failover delivery request status name | success - Success fail - Failed |
messages.failover.requestStatusDesc | Optional | String | SMS Failover delivery request status content | |
messages.failover.messageStatus | Optional | String | SMS Failover delivery request status | READY: ready PROCESSING: being processed COMPLETED: processing completed |
messages.failover.messageStatusCode | Optional | String | SMS Failover delivery device received status result code | See the Errors table. |
messages.failover.messageStatusName | Optional | String | SMS Failover delivery device received result name | |
messages.failover.messageStatusDesc | Optional | String | SMS Failover delivery device received content | |
pageSize | Mandatory | Integer | Page size | |
pageIndex | Mandatory | Integer | Page index (starting from 0) | |
itemCount | Mandatory | Integer | The number of messages within the viewed page | |
hasMore | Mandatory | Boolean | Indicates whether there is a next page |
Response status
HTTP Status | Desc |
---|---|
200 | OK (successfully searched) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Search for message delivery result
Search for the message delivery result.
Request URL
GET https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/messages/{messageId}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
messageId | Mandatory | String | Message ID | Message identifier that is returned when the message is sent |
Headers
Request Body
N/A
Response bodies
{
"messageId":"string",
"requestId":"string",
"requestTime":"string",
"completeTime":"string",
"plusFriendId":"string",
"countryCode":"string",
"to":"string",
"content":"string",
"requestStatusCode":"string",
"requestStatusName":"string",
"requestStatusDesc":"string",
"messageStatusCode":"string",
"messageStatusName":"string",
"messageStatusDesc":"string",
"isWide":"boolean",
"isAd":"boolean",
"imageId":"string",
"imageName":"string",
"imageUrl":"string",
"imageLink":"string",
"useSmsFailover":"boolean",
"failover": {
"smsServiceId":"string",
"requestId":"string",
"requestStatusCode":"string",
"requestStatusName":"string",
"requestStatusDesc":"string",
"messageId":"string",
"messageStatus":"string",
"messageStatusCode":"string",
"messageStatusName":"string",
"messageStatusDesc":"string"
}
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
messageId | Mandatory | String | Message ID | |
requestId | Mandatory | String | Delivery request ID | |
requestTime | Mandatory | DateTime | Delivery request time | yyyy-MM-dd'T'HH:mm:ss.SSS |
completeTime | Optional | DateTime | Delivery reporting (processing completion) time | yyyy-MM-dd'T'HH:mm:ss |
plusFriendId | Mandatory | String | Name of KakaoTalk Channel ((formerly) Plus Friend ID) | |
templateCode | Mandatory | String | Template code | |
countryCode | Optional | String | Recipient's country code | default: 82 |
to | Mandatory | String | Recipient's number | |
content | Mandatory | String | FriendTalk message content | |
requestStatusCode | Mandatory | String | Delivery request status code | A000 - Success Other codes - Failed (reason for failure specified in the Desc category) |
requestStatusName | Mandatory | String | Delivery request status name | success - Success fail - Failed |
requestStatusDesc | Mandatory | String | Delivery request status content | |
messageStatusCode | Mandatory | String | Delivery result status code | 0000 - Success Other codes - Failed (reason for failure specified in the Desc category) |
messageStatusName | Mandatory | String | Delivery result status name | success - Success processing - Being processed * Being processed in the message delivery server after successful sending request * Fail to search messageCode, messageDesc fail - Failed |
messageStatusDesc | Mandatory | String | Delivery result status description | |
isWide | Mandatory | Boolean | Wide status | |
isAd | Mandatory | Boolean | Ad message status | |
imageId | Optional | String | Image ID | |
imageName | Optional | String | Image name | |
imageUrl | Optional | String | Image URL | |
imageLink | Optional | String | Image link | |
useSmsFailover | Mandatory | Boolean | SMS Failover use status | |
failover | Optional | Object | SMS Failover use status | |
failover.smsServiceId | Optional | String | SMS Failover service ID | |
failover.requestId | Optional | String | SMS Failover delivery request ID | |
failover.requestStatusCode | Optional | String | SMS Failover delivery request status code | See the Errors table. |
failover.requestStatusName | Optional | String | SMS Failover delivery request status name | success - Success fail - Failed |
failover.requestStatusDesc | Optional | String | SMS Failover delivery request status content | |
failover.messageId | Optional | String | SMS Failover delivery message ID | |
failover.messageStatus | Optional | String | SMS Failover delivery request status | READY: ready PROCESSING: being processed COMPLETED: processing completed |
failover.messageStatusCode | Optional | String | SMS Failover delivery device received status result code | See the Errors table. |
failover.messageStatusName | Optional | String | SMS Failover delivery device received result name | |
failover.messageStatusDesc | Optional | String | SMS Failover delivery device received content |
Failover request status code
requestStatusCode | Desc |
---|---|
0 | Succeeded |
E4000 | Failover setting is not valid. |
E4001 | Failover settings information is omitted. |
E4002 | Failover SMS service is not configured. |
E4003 | Failover SMS type (SMS, LMS) is not configured. |
E4004 | Failover SMS caller ID is not configured. |
E4005 | Failover SMS title is not configured. |
E4006 | Failover SMS content is not set. |
E4007 | Failover SMS recipient number is not set. |
E4008 | Failover SMS service is not available. |
E4009 | Failover SMS caller ID is not authenticated. |
E4010 | Failover SMS free 080 unsubscribing service is not available. |
E4999 | Failover settings parsing error (need to contact Customer Support) |
E5000 | Internal error (need to contact Customer Support) |
Response status
HTTP Status | Desc |
---|---|
200 | OK (successfully searched) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Reserved message
Search for reserved message status
Search for the reservation status of message delivery.
GET https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/reservations/{reserveId}/reserve-status
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
reserveId | Mandatory | String | Reserved message ID | Message identifier that is returned when searching for the reserved delivery requests (requestId) |
Headers
Request Body
N/A
Response bodies
{
"reserveId": "string",
"reserveTimeZone": "string",
"reserveTime": "string",
"reserveStatus": "string"
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
reserveId | Mandatory | String | Reserved message ID | Message identifier that is returned when searching for the reserved delivery requests (requestId) |
reserveTime | Mandatory | String | Reserved date and time | Reserved date and time for message delivery (yyyy-MM-dd HH:mm) |
reserveTimeZone | Mandatory | String | Time zone of reserved date and time | Time zone of reserved date and time (default: Asia/Seoul) * List of supported time zones * Use the TZ database name value |
reserveStatus | Mandatory | String | Reserved status | READY - Waiting to be sent PROCESSING - Requesting to send CANCELED - Delivery canceled FAIL - Delivery request failed DONE - Successful delivery request STALE - Delivery request failed (timeout) |
Response status
HTTP Status | Desc |
---|---|
200 | OK (successfully searched) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Cancel reserved message
Cancel the reserved message delivery.
DELETE https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/reservations/{reserveId}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
reserveId | Mandatory | String | Reserved message ID | Message identifier that is returned when searching for the reserved delivery requests (requestId) |
Headers
Request Body
N/A
Response bodies
N/A
Response status
HTTP Status | Desc |
---|---|
204 | No Content (successfully deleted) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
KakaoTalk Channel
Search Channel
Search KakaoTalk Channels.
GET https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/channels
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
Parameters
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
pageSize | Optional | Integer | Page size | Default: 100 (Only numbers between 1 and 100 can be entered.) |
pageIndex | Optional | Integer | Page index | default: 0 |
Headers
Request Body
N/A
Response bodies
[
{
"createTime": "string",
"updateTime": "string",
"serviceId": "string",
"channelId": "string",
"channelName": "string",
"channelStatus": "string",
"useSmsFailover": "boolean"
}
]
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
createTime | Mandatory | String | Created time | format: LocalDateTime |
updateTime | Optional | String | Edited time | format: LocalDateTime |
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
channelId | Mandatory | String | KakaoTalk Channel ID | |
channelName | Mandatory | String | KakaoTalk Channel name | |
channelStatus | Mandatory | String | KakaoTalk Channel status | - Normal: ACTIVE - Deleted: DELETED - Being deleted permanently: DELETING_PERMANENTLY - Deleted permanently: PERMANENTLY_DELETED - Blocked: BLOCKED - Deletion pending: PENDING_DELETE |
useSmsFailover | Mandatory | Boolean | Use status of alternative SMS delivery |
Response status
HTTP Status | Desc |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
429 | Too Many Requests |
500 | Internal Server Error |
Image
Upload image
This uploads the image to be used for sending FriendTalk.
Images are stored for 1 year, after which they are automatically deleted and cannot be used.
Request URL
POST https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/images
Content-Type: multipart/form-data; boundary=a29b1180-70f5-42f7-afbe-0d68a15f2370
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
Headers
Request Parameter
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
plusFriendId | Mandatory | String | Name of KakaoTalk Channel ((formerly) Plus Friend ID) | |
imageFile | Mandatory | File | Image files | - Common * jpg and png only * Under 500 KB - General * Recommended size: 720 px x 720 px * Only JPG and PNG files with a width of 500 px or more and a widthheight ratio of at least 2:1 not exceeding 3:4 can be uploaded. - Wide Size limit: 800 px x 600 px * Only width * height ratio of 4:3 can be uploaded |
isWide | Optional | Boolean | Wide image status | When uploading a wide image, it is sent as a wide FriendTalk message * defealt: false |
Response bodies
{
"imageId":"string",
"imageName":"string",
"imageUrl":"string",
"isWide":"boolean",
"createTime":"string"
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
imageId | Mandatory | Strng | Image ID | |
imageName | Mandatory | String | Image file name | |
imageUrl | Mandatory | String | Image URL | |
isWide | Mandatory | Boolean | Wide status | |
createTime | Mandatory | DateTime | Image uploading time |
Response status
HTTP Status | Desc |
---|---|
200 | OK (successfully uploaded) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
View image list
This searches the list of uploaded images.
Request URL
GET https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/images
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
Headers
Parameters
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
pageIndex | Optional | Integer | Page index | default: 0 |
pageSize | Optional | Integer | Page size | Default: 20 (Only numbers between 1 and 100 can be entered.) |
Request Body
N/A
Response bodies
{
"items": [
{
"imageId": "string",
"imageName": "string",
"imageUrl": "string",
"isWide": "boolean",
"createTime": "string"
}
],
"pageIndex": "integer",
"pageSize": "integer",
"itemCount": "integer",
"totalCount": "integer"
}
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
items | Mandatory | Array of Object | List of image data | See Image data |
pageIndex | Mandatory | Integer | Page index | |
pageSize | Mandatory | Integer | Page size | |
itemCount | Mandatory | Integer | Number of searched items | |
totalCount | Mandatory | Integer | Total count |
Response status
HTTP Status | Desc |
---|---|
200 | OK (successfully searched) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
View single image
This searches single uploaded image.
Request URL
GET https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/images/{imageId}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
imageId | Mandatory | String | Image ID | ID of uploaded image |
Headers
Request Body
N/A
Response bodies
{
"imageId":"string",
"imageName":"string",
"imageUrl":"string",
"isWide":"boolean",
"createTime":"string"
}
Image data
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
imageId | Mandatory | Strng | Image ID | |
imageName | Mandatory | String | Image file name | |
imageUrl | Mandatory | String | Image URL | |
isWide | Mandatory | Boolean | Wide status | |
createTime | Mandatory | DateTime | Image uploading time |
Response status
HTTP Status | Desc |
---|---|
200 | OK (successfully searched) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Delete image
This deletes uploaded images.
Request URL
DELETE https://sens.apigw.ntruss.com/friendtalk/v2/services/{serviceId}/images/{imageId}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
Item | Mandatory | Type | Description | Remarks |
---|---|---|---|---|
serviceId | Mandatory | String | Service ID | Service ID issued when registering the project |
imageId | Mandatory | String | Image ID | ID of uploaded image |
Headers
Request Body
N/A
Response bodies
N/A
Response status
HTTP Status | Desc |
---|---|
204 | No Content (successfully deleted) |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Errors
Biz Message reception result code
Status | Error text | Desc |
---|---|---|
0000 | - | Normal delivery |
1001 | NoJsonBody | Request Body is not in JSON format. |
1002 | InvalidHubPartnerKey | Invalid partner key |
1003 | InvalidSenderKey | Outgoing profile key is invalid. |
1004 | NoValueJsonElement | Name not found in Request Body (JSON) |
1005 | SenderNotFound | Outgoing profile not found |
1006 | DeletedSender | Deleted outgoing profile |
1007 | StoppedSender | Blocked outgoing profile |
1011 | ContractNotFound | Contract information not found |
1012 | InvalidUserKeyException | Invalid formatted user key request |
1013 | InvalidAppLink | Invalid app connection |
1014 | InvalidBizNum | Invalid business registration number |
1015 | TalkUserIdNotFonud | Invalid app user id request |
1016 | BizNumNotEqual | Mismatched business registration number |
1020 | InvalidReceiveUserException | No valid user identifier value |
1021 | BlockedProfile | Blocked KakaoTalk Channel (check in KakaoTalk Channel operation tool.) |
1022 | DeactivatedProfile | Closed KakaoTalk Channel (check in KakaoTalk Channel operation tool.) |
1023 | DeletedProfile | Deleted KakaoTalk Channel (check in KakaoTalk Channel operation tool.) |
1024 | DeletingProfile | Deletion-pending KakaoTalk Channel (check from the KakaoTalk Channel operation tool) |
1025 | SpammedProfile | Message-blocked KakaoTalk Channel (check from the KakaoTalk Channel operation tool) |
1030 | InvalidParameterException | Invalid parameter request |
1033 | - | Template type and message type mismatch |
2003 | FailedToSendMessageByNoFriendshipException | Message transmission failed (if KakaoTalk Channel is not added in the test server) |
2004 | FailedToMatchTemplateException | Error when checking template match (Kakao internal error) |
2006 | FailedToMatchSerialNumberPrefixPattern | Serial number format mismatch |
3000 | UnexceptedExcetpion | An unexpected error occurred. |
3005 | AckTimeoutException | A message was sent, but the read receipt was not confirmed (success uncertain). |
3006 | FailedToSendMessageException | Message transmission failed due to Kakao's internal system error. |
3008 | InvalidPhoneNumberException | Phone number error |
3010 | JsonParsseExcetpion | JSON parsing error |
3011 | MessageNotFoundException | Message does not exist. |
3012 | SerialNumberDuplicatedException | Message serial number is duplicated. (A unique value must be assigned for the message serial number.) |
3013 | MessageEmptyException | Blank message |
3014 | MessageLengthOverLimitException | Message length limit error (text type exceeds 1000 characters, image type exceeds 400 characters.) |
3015 | TemplateNotFoundException | Template not found |
3016 | NoMatchedTemplateException | Message content does not match the template. |
3018 | NoSendAvailableException | Message could not be sent. |
3020 | SeenInfoNotFoundException | Message verification information not found |
3022 | NoSendAvailableTimeException | Outside the time for sending messages (FriendTalk/marketing messages can be sent from 08:00 to 20:50) |
3024 | MessageInvaildImageException | The image contained in the message cannot be sent. |
3025 | ExceedMaxVariableLengthException | Variable character limit exceeded |
3026 | Button chat_extra(event)-InvalidExtra(EventName)Exception '([A-Za-z0-9_]{1,50})' | Consultation/bot conversion button extra, event character limit exceeded |
3027 | NoMatchedTemplateButtonException | Button content does not match the template. |
3028 | NoMatchedTemplateTitleException | Message highlighting title does not match the template. |
3029 | ExceedMaxTitleLengthException | Message highlighting title length limit exceeded (50 characters) |
3031 | - | Text type mismatch |
4000 | ResponseHistoryNotFoundException | Message delivery result not found |
4001 | UnKnownMessageStatusError | Unknown message status |
7011 | - | Serial number pattern error |
7014 | - | Message valid timeout error |
8512 | - | Recipient type not found |
8514 | - | request_id not found |
8520 | - | Product type not supported error |
8521 | - | Message type not supported error |
8522 | - | Test type not supported error |
8523 | - | Response method not supported error |
8530 | - | Recipient list size error |
8999 | - | Internal server error |
9998 | The service is not currently provided. | The admin is checking a problem that occurred in the system. |
9999 | Admin is checking an unknown problem that occurred in the system. | Admin is checking a problem in the system |
B000 | Prepare to relay failed | Preparation for transmission to relay company failed |
B001 | Request to relay failed | Transmission to relay company failed |
B002 | Filtering for request to relay failed | Filtered due to invalid request |
B003 | Invalid phone number format | Invalid calling number format |
B004 | Quota Exceed | Over quota |
B005 | Message processing timeout exceed | Difference between message request time and processing time exceeds acceptable range |
B400 | Invalid Request | Message format error |
B999 | Unexpected server error | Unexpected error |
Was this article helpful?