9.Line biz 상담톡 API

Edit

9.1공통

9.1.1RESPONSE SAMPLE

[성공]

{
    "code": "0",                
    ... // 요청한 데이터
}

[잘못된 요청 또는 에러]

{
    "code": "500",
    "message": "상세 내용"                
}

9.1.2코드 정의

code

설명

0

요청 성공

400

요청 실패

401

유효한 채널 액세스 토큰이 지정되지 않았습니다.

403

리소스에 액세스 할 권한이 없습니다.

404

프로필 정보를 가져올 수 없습니다.

  • 대상 사용자 ID가 없습니다.

  • 사용자가 대상 LINE 공식 계정을 친구로 추가하지 않았습니다.

  • 사용자가 LINE 공식 계정을 친구로 추가 한 후 차단했습니다.

  • 사용자가 프로필 정보 획득에 동의하지 않았습니다.

409

동일한 재시도 키가 있는 API 요청이 이미 수락되었습니다.

415

업로드 된 파일의 미디어 유형이 지원되지 않습니다.

429

요청이 너무 많습니다.

  • 요청 비율 제한을 초과했습니다 .

  • 요청에 대한 동시 작업 수 제한을 초과했습니다 .

  • 월간 메시지 한도를 초과했습니다.

500

내부 서버에 오류가 있습니다.

-404

요청실패

  • 라인 서버 접속 실패

-405

파라미터 오류

-406

파라미터 오류

  • Invalid sender_key

-407

Not found channel_access_token

-508

요청한 데이터 없음.

  • 라인에서 수신한 데이터에서 body data 없음

-600

DB 처리 실패

9.2Webhook settings

9.2.1Webhook endpoint URL 설정

[Request]
POST /channel/webhook/endpoint/set
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

endpoint

text(500)

Y

webhook URL.

  • 유효한 HTTPS URL

  • 500자 이하

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.2.2Webhook endpoint information 조회

캐싱으로 인해 변경 사항이 적용되는 데 최대 1분이 소요될 수 있습니다.

[Request]
GET /channel/webhook/endpoint/info
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

endpoint

text

N

Webhook URL

active

bool

N

Webhook 활성화 여부 값

  • true: Webhook 활성화 상태

  • false: Webhook 비활성화 상태

9.3Message

9.3.1메시지 전송 요청

  • 다음과 같은 LINE 사용자는 메시지를 받지 못할 수 있습니다.

    • LINE 계정을 삭제한 사용자

    • 메시지를 보낸 LINE 공식 계정을 차단한 사용자

    • LINE 공식 계정을 친구로 추가하지 않은 사용자

  • 이러한 사용자에게 메시지를 보내면 상태 코드 0 응답 코드를 반환하지만 사용자는 메시지를 받지 못합니다.

  • Message objects

    • https://developers.line.biz/en/reference/messaging-api/#message-objects

[Request]
POST /message/send
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

user_key

text(100)

Y

Line biz 수신 API 메시지 수신의 사용자 ID 필드값

message_type

text(20)

Y

  • 메시지 타입

    • message : text, image, video, audio, location

    • BS : 봇정보

message

json

(3000byte)

Y/N

보내는 메시지의 내용이 포함된 JSON 개체입니다.

메시지는 한번에 1개만 허용합니다.

(Message objects 내용을 참조하여 작성합니다.)

message_type 이 BS 일 경우에는 필수가 아님

notification_disabled

bool

N

메시지 전송 시 사용자 푸시 알림 여부를 설정합니다.

  • true: 메시지 전송 시 사용자가 푸시 알림을 수신하지 않습니다.

  • false: 메시지 전송 시 사용자는 푸시 알림을 받습니다. (LINE 및/또는 기기에서 푸시 알림을 비활성화하지 않은 경우).


기본값: false

bot_id

text(150)

N

넥서스 시나리오 봇 아이디(콜아이디)

bot_name

text(100)

N

넥서스 시나리오 봇 이름

bot_status

text(20)

N

TIMEOUT: 고객 응답 없음, CONNECT: 상담원 연결, BUSY:대기 상담원 없음.

EXPIRE: 고객상담종료

[Parameter] - message (text message)

-

타입

필수

설명

message

-

-

-



type

text

Y

"text"


text

text

Y

메시지 텍스트

{
    "sender_key": "1656168303",
    "user_key": "Uae87c693e2897ccc4c7654acd04f9259",
    "message_type": "message",
    "message": {
        "type": "text",
        "text": "Hello!"
    }
}
[Parameter] - message (image message)

-

타입

필수

설명

message

-

-

-



type

text

Y

"image"


originalContentUrl

text

Y

이미지 URL (Max character limit: 2000)

HTTPS over TLS 1.2 or later

JPEG or PNG

Max image size: No limits

Max file size: 10 MB


previewImageUrl

text

Y

미리보기 이미지 URL (Max character limit: 2000)

HTTPS over TLS 1.2 or later

JPEG or PNG

Max image size: No limits

Max file size: 1 MB

{
    "sender_key": "1656168303",
    "user_key": "Uae87c693e2897ccc4c7654acd04f9259",
    "message_type": "message",
    "message": {
        "type": "image",
        "originalContentUrl": "https://example.com/original.jpg",
        "previewImageUrl": "https://example.com/preview.jpg"
    }
}
[Parameter] - message (video message)

-

타입

필수

설명

message

-

-

-



type

text

Y

"video"


originalContentUrl

text

Y

동영상 파일 URL (Max character limit: 2000)

HTTPS over TLS 1.2 or later

mp4

Max file size: 200 MB


previewImageUrl

text

Y

미리보기 이미지 URL (Max character limit: 2000)

HTTPS over TLS 1.2 or later

JPEG or PNG

Max file size: 1 MB

{
    "sender_key": "1656168303",
    "user_key": "Uae87c693e2897ccc4c7654acd04f9259",
    "message_type": "message",
    "message": {
        "type": "video",
        "originalContentUrl": "https://example.com/original.mp4",
        "previewImageUrl": "https://example.com/preview.jpg"
    }
}
[Parameter] - message (audio message)

-

타입

필수

설명

message

-

-

-



type

text

Y

"audio"


originalContentUrl

text

Y

오디오 파일 URL (Max character limit: 2000)

HTTPS over TLS 1.2 or later

m4a

Max file size: 200 MB


Messaging API에서는 M4A 파일만 지원됩니다.


duration

text

Y

오디오 파일 길이(milliseconds)

{
    "sender_key": "1656168303",
    "user_key": "Uae87c693e2897ccc4c7654acd04f9259",
    "message_type": "message",
    "message": {
        "type": "audio",
        "originalContentUrl": "https://example.com/original.m4a",
        "duration": 60000
    }
}
[Parameter] - message (location message)

-

타입

필수

설명

message

-

-

-



type

text

Y

"location"


title

text

Y

제목

Max character limit: 100


address

text

Y

주소

Max character limit: 100


latitude

double

Y

위도


longitude

double

Y

경도

{
    "sender_key": "1656168303",
    "user_key": "Uae87c693e2897ccc4c7654acd04f9259",
    "message_type": "message",
    "message": {
        "type": "location",
        "title": "my location",
        "address": "1-6-1 Yotsuya, Shinjuku-ku, Tokyo, 160-0004, Japan", 
        "latitude": 35.687574,
        "longitude": 139.72922
    }
}
[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.3.2메시지 전송 건수 조회

이 작업으로 검색된 메시지 수에는 LINE 공식 계정 관리자가 보낸 메시지 수는 포함되지 않습니다.

[Request]
GET /message/delivery
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

date

text(8)

Y

조회 일자

  • Format: yyyyMMdd (Example: 20191231)

  • Timezone: UTC+9

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

status

text

N

counting process 의 상태값 입니다. 다음 값 중 하나가 반환됩니다.

  • "ready" : 메시지 개수를 알 수 있습니다.

  • "unready" : "date"에 지정된 날짜에 대한 메시지 counting process가 아직 완료되지 않았습니다. 이 경우 나중에 요청을 다시 시도하세요. 집계 프로세스는 다음 날 이내에 완료됩니다.

  • "out_of_service" : "date"에 지정된 날짜가 counting system의 작동이 시작된 2018년 3월 31일 이전입니다.

success

int

N

"date"에 지정된 날짜에 보낸 메시지 수입니다.

"status" 값이 "ready"인 경우에만 메시지 수가 조회됩니다.

9.3.3장문 메시지 가져오기

"Line biz 수신 API" 항목 중 "메시지 수신" API의 "is_message_attachment" 값이 true 일 경우 사용합니다.

[Request]
GET /message/attachment
[Parameter]

타입

필수

설명

serial_number

text(50)

Y

메시지 고유 ID

9.3.4첨부파일 다운로드

  • LINE 서버에서 삭제 전에 미리 저장한 첨부파일을 다운로드 합니다.

    • 저장된 파일이 없을 경우 LINE 서버에서 직접 다운로드 합니다.


  • 다음 사항에 해당하는 파일 다운로드 기능을 제공합니다.

    • 메시지 수신 시 첨부된 파일(이미지, 비디오, 오디오 및 파일)

[Request]
GET /file/download
[Parameter]

타입

필수

설명

serial_number

text(300)

Y

메시지 수신 이벤트 serial number

9.4LINE 사용자 프로필

9.4.1LINE 사용자 프로필 조회

LINE 시스템으로부터 사용자 프로필을 조회합니다.


LINE 공식 계정을 차단한 사용자의 프로필 정보는 가져올 수 없습니다.

[Request]
GET /profile
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

user_key

text(100)

Y

Line biz 수신 API 메시지 수신의 사용자 ID 필드값

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

display_name

text

N

사용자 display name

user_key

text

N

사용자 ID

language

text

N

사용자 언어

  • BCP 47 태그를 사용합니다.

    • https://www.rfc-editor.org/info/bcp47

  • Sample

    • 영어의 경우 "en"을 반환

  • 제약사항

    • 다음과 같은 경우에만 해당 필드가 반환됩니다.

      • 일본에서 생성된 LINE 계정이면서, LINE 버전 8.0.0 이상의 개인 정보 보호 정책에 동의한 경우.

      • 대만, 태국 또는 인도네시아에서 생성된 LINE 계정이면서, LINE 버전 8.9.0 이상의 개인 정보 보호 정책에 동의한 경우.

picture_url

text

N

사용자 Profile image URL.

  • 사용자에게 Profile image가 없는 경우 응답에 포함되지 않습니다.

status_message

text

N

사용자 상태 메시지.

  • 사용자에게 상태 메시지가 없는 경우 응답에 포함되지 않습니다.

9.5사용자 인증 정보

9.5.1사용자 인증 정보 설정

사용자 인증 정보를 설정합니다.

[Request]
POST /user/auth/set
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

user_key

text(100)

Y

Line biz 수신 API 메시지 수신의 사용자 ID 필드값

tel_number

text(20)

Y

고객사 관리 - 사용자 전화번호

user_name

text(100)

N

고객사 관리 - 사용자 이름

user_id

text(100)

N

고객사 관리 - 사용자 ID

agree_type

int

N

사용자 인증 구분

0: 지속인증(기본값), 1: 1회성 인증

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.5.2사용자 인증 정보 조회

사용자 인증 정보를 조회합니다.

[Request]
GET /user/auth
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

user_key

text(100)

Y

Line biz 수신 API 메시지 수신의 사용자 ID 필드값

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

sender_key

text

N

LINE Channel ID

user_key

text

N

LINE 사용자 ID

tel_number

text

N

고객사 관리 - 사용자 전화번호

user_name

text

N

고객사 관리 - 사용자 이름

user_id

text

N

고객사 관리 - 사용자 ID

agree_type

int

N

사용자 인증 구분

0: 지속인증(기본값), 1: 1회성 인증

reg_date

text

N

등록 일자

mod_date

text

N

수정 일자

9.5.3사용자 인증 정보 삭제

사용자 인증 정보를 조회합니다.

[Request]
POST /user/auth/del
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

LINE Channel ID

user_key

text(100)

Y

Line biz 수신 API 메시지 수신의 사용자 ID 필드값

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.6Admin

9.6.1Provider 정보 설정

  • Line Developer( https://developers.line.biz/en/ )에 등록된 Provider 정보를 설정합니다.

  • Provider는 여러 개의 Channel을 가질 수 있습니다.

  • provider id 값을 기준으로 insert, update 처리를 제공합니다.

[Request]
POST /admin/provider/set
[Parameter]

타입

필수

설명

provider_id

text(40)

Y

Provider ID

name

text(100)

Y

Provider Name

memo

text(100)

Y

메모

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.6.2Provider 정보 조회

Provider 정보를 조회합니다.

[Request]
GET /admin/provider
[Parameter]

타입

필수

설명

provider_id

text(40)

Y

Provider ID

전체 요청 시 "all"

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

data

json

N

Provider List

[Response] - data

-

타입

필수

설명

data


array

-

Provider List


provider_id

text

Y

Provider ID


name

text

Y

Provider Name


memo

text

N

메모

9.6.3Provider 정보 삭제

Provider 정보를 삭제합니다.

[Request]
POST /admin/provider/del
[Parameter]

타입

필수

설명

provider_id

text(40)

Y

Provider ID

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.6.4Channel 정보 설정

  • Line Developer( https://developers.line.biz/en/ )에 등록된 Channel 정보를 설정합니다.

  • channel id 값을 기준으로 insert, update 처리를 제공합니다.

[Request]
POST /admin/channel/set
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

Channel ID

name

text(100)

Y

Channel Name

provider_id

text(40)

Y

Provider ID - 하나의 Provider가 여러 개의 Channel을 소유

secret

text(40)

Y

메시지 검증용 key -수신시 사용

access_token

text(200)

Y

access_token- 발신시 사용

bot_basic_id

text(40)

Y

bot id

is_use

bool

N

해당 channel의 webhook 수신 사용 설정


true: 사용, false: 미사용

기본값: false

memo

text(100)

N

메모

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.6.5Channel 정보 조회

Provider 정보를 조회합니다.

[Request]
GET /admin/channel
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

Channel ID

전체 요청 시 "all"

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

data

json

N

Channel List

[Response] - data

-

타입

필수

설명

data

-

array

-

Channel List


sender_key

text

Y

Channel ID


name

text

Y

Channel Name


provider_id

text

Y

Provider ID - 하나의 Provider가 여러 개의 Channel을 소유


secret

text

Y

메시지 검증용 key -수신시 사용


access_token

text

Y

access_token- 발신시 사용


bot_basic_id

text

Y

bot id


is_use

bool

Y

true: 사용, false: 미사용


memo

text

Y

메모

9.6.6Channel 정보 삭제

Channel 정보를 삭제합니다.

[Request]
POST /admin/channel/del
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

Channel ID

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.6.7Domain 정보 설정

  • 메시지를 전달할 서버의 URL 정보를 설정합니다. (domain + port)

    • ex) https://nexus.net:443

[Request]
POST /admin/domain/set
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

Channel ID

domain

text(500)

Y

JEDAI 서버의 Domain

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

9.6.8Domain 정보 조회

Domain 정보를 조회합니다.

[Request]
GET /admin/domain
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

Channel ID

전체 요청 시 "all"

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)

data

json

N

Domain List

[Response] - data

-

타입

필수

설명

data

-

array

-

Domain List


sender_key

text

Y

Channel ID


domain

text

Y

Domain


reg_date

text

Y

등록일자


mod_date

text

Y

수정일자

9.6.9Domain 정보 삭제

Domain 정보를 삭제합니다.

[Request]
POST /admin/domain/del
[Parameter]

타입

필수

설명

sender_key

text(40)

Y

Channel ID

[Response]

타입

필수

설명

code

text

Y

처리 결과 코드(0은 정상 / 나머지는 오류)

message

text

N

오류 메시지(오류시 존재하는 값)