Notification API

여러분의 서비스가 디바이스로부터 푸쉬 메시지를 구독/구독해제 하기 위한 API입니다.

기본 정보

Base URL

서버 형상

URL 비고
QA (DEV)

https://{region}-qa-ext.lgthinq.com 

region

  • KIC : Asia
  • EIC : Europe
  • AIC : North/South America
OP

https://{region}-ext.lgthinq.com 

API List

Method Summary
GET /push 사용자가 푸쉬 알림을 구독 중인 디바이스 목록을 가져옵니다.
POST /push/{device-id} 특정 디바이스에 대해, 디바이스의 푸쉬 알림을 구독합니다. 
DELETE /push/{device-id} 특정 디바이스에 대해, 디바이스의 푸쉬 알림 구독을 해제합니다. 

푸쉬 알림 목록 조회

GET /push

Description

이 메서드는 여러분의 서비스를 이용하는 사용자가 푸쉬 알림을 구독 중인 디바이스 목록을 조회하기 위한 API입니다.

GET {Base_URL}/push

이 메서드 호출이 성공하면 사용자가 푸쉬 알림을 구독 중인 디바이스의 목록이 반환됩니다. 이 목록에 디바이스를 추가하거나 삭제하는 방법은 다음과 같습니다.

  • 알림 구독 메서드(POST /push/{device-id})로 알림 구독을 신청하면 해당 디바이스가 목록에 포함됩니다.
  • 알림 해제 메서드(DELETE /push/{device-id})로 알림 구독을 해제하면 해당 디바이스가 목록에서 삭제됩니다.  

Parameter

Header Parameters

헤더 파라미터로 공통 헤더를 사용합니다.

Body Parameters

None

 

Result

이 메서드의 호출 결과는 다음과 같이 2가지 경우(성공, 실패)가 있습니다.

성공

성공한 경우, 사용자가 푸쉬 알림을 구독 중인 디바이스의 목록이 반환됩니다. 만일 구독 중인 디바이스가 없다면 비어있는 값이 반환됩니다.

실패

실패한 경우, Common Response에 정의된 응답 규약에 따라 에러 코드와 에러 메시지가 반환됩니다.

 

Example of Request

[GET] {{ENDPOINT_URL}}/push
 
## Header
{
    “Authorization”: "Bearer 3b565aa79ac4abaa37809a8b8b745499bd05bb3ef0ed75fe350ad2c696b4b956bddfa35e76c26a12ab33c643bed579dd",
    “x-country-code”: "KR",
    “x-message-id”: "0123456789012345678912",
    “x-service-id”: "470ae4c534ba143cad86e5c3",
    “x-service-key”: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXJ2aWNlSWQiOiI0NzBhZTRjNTM0YmExNDNjYWQ4NmU1YzMiLCJ0b2tlblNlZWQiOiI1Zjc2MWQwMDU2YmE4NWJkIiwidGltZSI6MTUxNjM0MTkzMn0.aznAEnUItCWc2UAFvoiIYDw0SCJDoY5xVCNnUyUJeiI",
    “content-type”: "application/json"
}

Example of Response

{
    “messageId”: “c2d362a0-dd0f-11e6-a7c7-abfb76e3e664”,
    “timestamp”: “1284101485”,
    “response”: "[{
            "deviceId": "0A36FC52-6281-4954-86D5-616A58CEA2C6"
        }]"
}

 

푸쉬 알림 구독

POST /push/{device-id}

Description

이 메서드는 여러분의 서비스가 디바이스로부터 푸쉬 알림을 받기 위한 API입니다.

POST {Base_URL}/push/{device-id}

이 메서드 호출이 성공하면, device-id로 지정된 디바이스에 대해, 여러분의 서비스는 해당 디바이스로부터 디바이스 동작 완료 (예: 세탁 완료)/ 부품 교체 (예: 필터 교체)에 대한 푸쉬 알림을 구독할 수 있습니다.

푸쉬 알림에 대한 상세 설명은 푸쉬 메시지 정의 를 참조하기 바랍니다.

디바이스로부터 푸쉬 알림이 발송하면 LG ThinQ 플랫폼은 여러분의 서비스의 callback URL로 푸쉬 메시지를 전달해줍니다. 여러분은 위의 푸쉬 알림 상황 중, 디바이스의 동작 완료 혹은 부품 교체에 대한 메시지가 발생하면 사용자에게 이 메시지가 전달되도록 처리해야 합니다.

 

Parameter

Header Parameters

헤더 파라미터로 공통 헤더를 사용합니다.

Body Parameters

None

 

Result

이 메서드의 호출 결과는 다음과 같이 2가지 경우(성공, 실패)가 있습니다.

성공

성공한 경우, 비어있는 값을 반환합니다.

실패

실패한 경우, Common Response에 정의된 응답 규약에 따라 에러 코드와 에러 메시지가 반환됩니다.

 

Example of Request

[POST] {{ENDPOINT_URL}}/push/{device-id}
 
## Header
{
    “Authorization”: "Bearer 3b565aa79ac4abaa37809a8b8b745499bd05bb3ef0ed75fe350ad2c696b4b956bddfa35e76c26a12ab33c643bed579dd",
    “x-country-code”: "KR",
    “x-message-id”: "0123456789012345678912",
    “x-service-id”: "470ae4c534ba143cad86e5c3",
    “x-service-key”: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXJ2aWNlSWQiOiI0NzBhZTRjNTM0YmExNDNjYWQ4NmU1YzMiLCJ0b2tlblNlZWQiOiI1Zjc2MWQwMDU2YmE4NWJkIiwidGltZSI6MTUxNjM0MTkzMn0.aznAEnUItCWc2UAFvoiIYDw0SCJDoY5xVCNnUyUJeiI",
    “content-type”: "application/json"
}

Example of Response

{
    “messageId”: “c2d362a0-dd0f-11e6-a7c7-abfb76e3e664”,
    “timestamp”: “1284101485”,
    “response”: {}
}

 

푸쉬 알림 해제

DELETE /push/{device-id}

Description

이 메서드는 여러분의 서비스가 디바이스로부터 푸쉬 알림을 받는 것을 해제하기 위한 API입니다. 

DELETE {Base_URL}/push/{device-id}

이 메서드 호출이 성공하면 device-id로 지정되는 디바이스에 대해, 여러분의 서비스는 해당 디바이스의 푸쉬 알림에 대한 메시지를 수신하지 않게 됩니다. 다시 알림 구독을 요청할 때까지 해당 디바이스로부터 푸쉬 알림 메시지를 받을 수 없습니다.

 

Parameter

Header Parameters

헤더 파라미터로 공통 헤더를 사용합니다.

Body Parameters

None

 

Result

이 메서드의 호출 결과는 다음과 같이 2가지 경우(성공, 실패)가 있습니다.

성공

성공한 경우, 비어있는 값을 반환합니다.

실패

실패한 경우, Common Response에 정의된 응답 규약에 따라 에러 코드와 에러 메시지가 반환됩니다.

 

Example of Request

[DELETE] {{ENDPOINT_URL}}/push/{device-id}
 
## Header
{
    “Authorization”: "Bearer 3b565aa79ac4abaa37809a8b8b745499bd05bb3ef0ed75fe350ad2c696b4b956bddfa35e76c26a12ab33c643bed579dd",
    “x-country-code”: "KR",
    “x-message-id”: "0123456789012345678912",
    “x-service-id”: "470ae4c534ba143cad86e5c3",
    “x-service-key”: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXJ2aWNlSWQiOiI0NzBhZTRjNTM0YmExNDNjYWQ4NmU1YzMiLCJ0b2tlblNlZWQiOiI1Zjc2MWQwMDU2YmE4NWJkIiwidGltZSI6MTUxNjM0MTkzMn0.aznAEnUItCWc2UAFvoiIYDw0SCJDoY5xVCNnUyUJeiI",
    “content-type”: "application/json"
}  

Example of Response

{
    “messageId”: “c2d362a0-dd0f-11e6-a7c7-abfb76e3e664”,
    “timestamp”: “1284101485”,
    “response”: {}
}

 

푸쉬 메시지 정의

푸쉬 메시지는 다음 4가지 상황을 알리기 위해, 디바이스가 비주기적으로 발생시키는 메시지입니다. 

  • 디바이스 등록
  • 디바이스 삭제
  • 디바이스 닉네임 변경 
  • 디바이스 동작 완료 (예: 세탁 완료)/ 부품 교체 (예: 필터 교체)

디바이스 등록/ 삭제/ 닉네임 변경 푸쉬 메시지

  • 디바이스 목록 조회를 한 번이라도 한 사용자는 (GET /devices가 호출된 경우는) 기본적으로 구독 설정됩니다.

디바이스 동작 완료/부품 교체 푸쉬 메시지

  • 푸쉬 알림 구독 API (POST /push/{device-id})를 호출하여 별도로 구독 설정을 해야 사용자에 알림이 전달됩니다.

디바이스 등록

Name

Type

Description

push

object

Push 콜백 메시지 

 

pushType

enum

DEVICE_REGISTERED

 

serviceId

string

서비스 아이디

 

deviceId

string

디바이스 식별자

 

userNumber

string

디바이스 사용자 식별자

 

modelName

string

모델 이름

 

deviceType

enum

디바이스 타입

 

alias

string

디바이스 닉네임

Example

{
  "messageId": "c2d362a0-dd0f-11e6-a7c7-abfb76e3e664",
  "timestamp": "2017-12-29T00:53:00.017513"

  "push": {
    "pushType": "DEVICE_REGISTERED",
    "serviceId": "2d4b2b6fa6af2b51b36d0038",
    "deviceId": "87e78580-7117-11d3-a99e-30a9de10016f",
    "userNumber": "KR1812273049127",
    "modelName": "FH0D7DDNK0_WIFI",
    "deviceType": "DEVICE_WASHER",
    "alias": "t10_test"
  }
}

 

디바이스 삭제

Name

Type

Description

push

object

Push 콜백 메시지

 

pushType

enum

DEVICE_UNREGISTERED

 

serviceId

string

서비스 아이디

 

deviceId

string

디바이스 식별자

 

userNumber

string

디바이스 사용자 식별자

 

deviceType

string

디바이스 타입

 

alias

string

디바이스 닉네임

Example

{
  "messageId": "c2d362a0-dd0f-11e6-a7c7-abfb76e3e664",
  "timestamp": "2017-12-29T00:53:00.017513"

  "push": {
    "pushType": "DEVICE_UNREGISTERED",
    "serviceId": "2d4b2b6fa6af2b51b36d0038",
    "deviceId": "87e78580-7117-11d3-a99e-30a9de10016f",
    "userNumber": "KR1812273049127",
    "deviceType": "DEVICE_WASHER",
    "alias": "t10_test"
  }
}

 

디바이스 닉네임 변경

Name

Type

Description

push

object

Push 콜백 메시지

 

pushType

enum

DEVICE_ALIAS_CHANGED

 

serviceId

string

서비스 아이디

 

deviceId

string

디바이스 식별자

 

userNumber

string

디바이스 사용자 식별자

 

alias

string

변경된 디바이스 닉네임

Example

{
    "messageId": "c2d362a0-dd0f-11e6-a7c7-abfb76e3e664",
    "timestamp": "2017-12-29T00:53:00.017513"
    "push": {
        "pushType": "DEVICE_ALIAS_CHANGED",
        "serviceId": "2d4b2b6fa6af2b51b36d0038",
        "deviceId": "87e78580-7117-11d3-a99e-30a9de10016f",
        "userNumber": "ABCDE"
        "alias": "MyDishWasher"
    }
} 

 

디바이스 동작 완료

Name

Type

Description

push

object

Push에 대한 정보를 포함하는 오브젝트

 

pushType

enum

DEVICE_PUSH

 

serviceId

string

서비스 아이디

 

deviceId

string

디바이스 식별자

 

pushCode

string

디바이스 동작 완료 메시지 (예: 세탁기-세탁 완료, 공기청정기-필터 교체)

 

deviceType

enum

디바이스 타입

 

userList

List

디바이스 푸쉬를 등록한 사용자 리스트

Example

{
  "messageId": "5o5MOYXCR0qb05Sa-f0kpg",
  "timestamp": "2019-06-20T01:05:21.811029",
  "push": 
  {
    "pushType": "DEVICE_PUSH",
    "serviceId": "6b2011e7ff026e984215522d",
    "deviceId": "HW1 - 69 C3EDD9 - 1993 - 4442 - B139 - 794 CA5997ECA", 
    "pushCode": "WASHING_IS_COMPLETE",
    "deviceType": "DEVICE_WASHER",
    "userList": ["KR1910213944934"]
  }
} 
  1. pushType에 사용 가능한 값은 Common Data Type > Push Type 에 정의되어 있습니다.
  2. pushCode에 사용 가능한 값은 가전 유형 별로 Device Profile 페이지의 Notification (Push Message) 항목에 정의되어 있습니다.