PCC API

PCC 이벤트 알림을 구독하거나 구독을 해제 할 수 있게 해주는 API입니다.

Overview

What is PCC?

PCC (Proactive Customer Care)는 AI (Artificial Intelligence, 인공지능)를 기반으로 가전 기기의 고장을 진단하는 서비스입니다. LG PCC Platform에서 가전 기기의 고장 정보를 인공지능으로 분석하여 고장 상태와 진행 정도를 파악하고, 그에 맞는 대응 방안을 알려줍니다.
파트너는 LG PCC API를 활용하여 이러한 preventive maintenance 기능들을 파트너의 서비스 사용자들에게 제공할 수 있습니다.

 

Basic Concept

아래는 PCC 서비스의 구조를 간략하게 설명하는 그림입니다.

PCC Service concept diagram

LG PCC Platform은 PCC API를 통해 파트너 플랫폼으로 PCC elements를 전달합니다. PCC elements는 파트너 서비스에서 서비스 사용자에게 전달해야 하는 필수 요소입니다.
PCC elements에는 고장 진단, 가전 기기 상태, 유지 관리와 관련된 알림이 필요한 가전 기기를 위한 short message와 full instruction이 포함되어 있습니다.

  • Short message: 가전 기기에 대한 진단 내용 + Full instruction을 확인할 수 있는 링크
  • Full instruction: 진단 내용에 대한 대응 지침 (e.g. 문제 해결 가이드, 유지 관리 가이드)
파트너는 PCC elements를 서비스 사용자에게 전달하는 서비스 구현이 필요합니다.

 

PCC Logic Table

PCC 서비스에서 가전 기기의 상태(진단 내용)를 Logic이라고 합니다. 각 Logic에 대한 자세한 설명과 Logic에 따라 전달되는 PCC elements를 정리한 표를 PCC Logic Table이라고 하며, 이를 파트너에게 제공합니다. PCC Logic Table에 대한 내용은 PCC API > PCC Logic Table 페이지에서 확인하세요.

 

Supported Devices

PCC API는 현재 4종의 가전 기기를 지원합니다.

Washer icon

Refrigerator icon

Dish Washer icon

Oven icon

세탁기

냉장고

식기세척기

오븐

개발 관련 문의사항은 Support > Technical Q&A 페이지에 남겨주세요.

 

Basic Information

Pre-requisites

  • LG 담당자는 LG 멤버십 서비스인 LG EMP(Enterprise Membership Platform)에 미리 정의된 계정을 B2B 파트너에게 발행합니다.

  • B2B 파트너는 LG ThinQ Installer App을 통해 Wi-Fi 기능을 지원하는 에어컨과 같은 가전 기기(LG 가전)를 설치합니다. 

  • B2B 파트너는 PCC API를 통합하기 전에, PCC 이벤트가 전달되는 callback URL을 반드시 등록해야 합니다.

LG EMP에 미리 정의된 계정과 LG ThinQ Installer App에 대한 자세한 내용은 LG 담당자가 별도로 안내할 것입니다.

 

PCC API list
Method Summary
POST {{baseUrl}}/pcc/{device-id}

특정 디바이스에 대해, PCC 이벤트 알림을 구독합니다.

DELETE {{baseUrl}}/pcc/{device-id}

특정 디바이스에 대해, PCC 이벤트 알림 구독을 해제합니다.

GET {{baseUrl}}/pcc

PCC 이벤트 알림을 수신하는 디바이스 목록을 가져옵니다.

PCC Event Subscription

POST {{baseUrl}}/pcc/{device-id}

Description

이 메서드는 특정 디바이스에서 PCC 이벤트 알림을 받기 위한 API입니다.

GET {{baseUrl}}/pcc/{device-id} 

이 메서드 호출이 성공하면, device-id로 지정된 디바이스에 대해, 여러분의 서비스는 해당 디바이스로부터 PCC 이벤트 알림을 구독할 수 있습니다. 자세한 내용은 PCC Callback Contents를 참조하기 바랍니다.

PCC 이벤트가 발생하면, 여러분의 서비스의 callback URL로 전송됩니다. 따라서 PCC API를 통합하기 전에 반드시 callback URL을 등록해야 합니다.

Parameter

Header Parameters

Common Header 페이지를 참고하세요.

Path Parameters

Name

Type

Required

Description

device-id

string

mandatory

ThinQ 플랫폼에 등록된 디바이스 ID

Body Parameters

N/A

 

Result

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

Succeeded

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

Failed

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

 

Example of Request

curl -X POST \
  https:{{baseUrl}}/pcc/{device-id} \
  -H 'authorization: Bearer 3b565aa79ac4abaa37809a8b8350ad2cdfa3643bed579dd' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'postman-token: 913766de-e033-5c24-c150-13a7b98f7756' \
  -H 'x-country-code: KR' \
  -H 'x-message-id: 0123456789012345678912' \
  -H 'x-service-id: 470ae4c534ba143cad86e5c3' \
  -H 'x-service-key: NlWc2UAFvoiIYDw0SCJDoY5xVCNnUyUJeiI'

Example of Response

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

 

PCC Event Unsubscription

DELETE {{baseUrl}}/pcc/{device-id}

Description

이 메서드는 대상 디바이스에서 PCC 이벤트 알림을 받는 것을 해제하기 위한 API입니다. 

이 메서드를 사용하면 여러분의 서비스에서 디바이스의 PCC 이벤트 알림 구독을 취소할 수 있습니다.

DELETE {{baseUrl}}/pcc/{device-id}

이 메서드 호출이 성공하면 device-id로 지정되는 디바이스에 대해, 여러분의 서비스는 해당 디바이스에서 PCC 이벤트 알림을 수신하지 않게 됩니다. POST /pcc/{device-id}를 사용하여 PCC 이벤트 알림 구독을 요청할 때까지 해당 디바이스로부터 이벤트 알림을 받을 수 없습니다.

 

Parameter

Header Parameters

Common Header 페이지를 참고하세요.

Path Parameters

Name

Type

Required

Description

device-id

string

mandatory

ThinQ 플랫폼에서 발급한 디바이스 ID

Body Parameters

N/A

 

Result

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

Succeeded

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

Failed

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

 

Example of Request

curl -X DELETE \
  https:{{baseUrl}}/pcc/{device-id} \
  -H 'authorization: Bearer 3b565aa79ac4abaa37809a8b8350ad2cdfa3643bed579dd' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'postman-token: 913766de-e033-5c24-c150-13a7b98f7756' \
  -H 'x-country-code: KR' \
  -H 'x-message-id: 0123456789012345678912' \
  -H 'x-service-id: 470ae4c534ba143cad86e5c3' \
  -H 'x-service-key: NlWc2UAFvoiIYDw0SCJDoY5xVCNnUyUJeiI'

Example of Response

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

 

Device List under Subscription

GET {{baseUrl}}/pcc

Description

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

  • PCC Event Subscription (POST /pcc/{device-id}) API로 이벤트 알림 구독을 신청하면 해당 디바이스가 목록에 포함됩니다.

  • PCC Event Unsubscription (DELETE /pcc/{device-id}) API로 이벤트 알림 구독을 취소하면 해당 디바이스가 목록에서 삭제됩니다.

GET {{baseUrl}}/pcc

이 메서드 호출이 성공하면 PCC 이벤트 알림을 구독 중인 사용자의 디바이스 목록이 반환됩니다. 

 

Parameter

Header Parameters

Common Header 페이지를 참고하세요.

Path Parameters

N/A

Body Parameters

N/A

 

Result

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

Succeeded

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

Failed

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

 

Example of Request

curl -X GET \
  https:{{baseUrl}}/pcc/ \
  -H 'authorization: Bearer 3b565aa79ac4abaa37809a8b8350ad2cdfa3643bed579dd' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'postman-token: 913766de-e033-5c24-c150-13a7b98f7756' \
  -H 'x-country-code: KR' \
  -H 'x-message-id: 0123456789012345678912' \
  -H 'x-service-id: 470ae4c534ba143cad86e5c3' \
  -H 'x-service-key: NlWc2UAFvoiIYDw0SCJDoY5xVCNnUyUJeiI'

Example of Response

{
  "messageId": "AFvLxlWNTbGN0kLLmYqUJQ",
  "timestamp": "2020-08-21T09:10:38.414928",
  "response": [
    {
      "deviceId": "7121f083d9df33c29483843fe4181663508e36cd733db8b868269c11a2512a10"
    },
    {
      "deviceId": "ff6389951a25dd411bfa5d86636c85909650514c35f55ef25a03c75d6d4dc6f9"
    }
  ]
}

 

PCC Callback Contents

ThinQ 플랫폼에서 PCC 서비스가 ThinQ 플랫폼에 연결된 디바이스에서 비정상적인 상황을 감지하면 PCC 이벤트가 발생되며, 비주기적으로 발생합니다.

PCC 이벤트의 유형은 다음과 같이 분류됩니다.

  • Installation

  • Misuse

  • Malfunction

  • Maintenance

  • Part Inquiry 

지원하는 디바이스와 특정 진단 로직(서비스)은 추가로 업데이트 될 예정입니다.

Name

Type

Description

messageId

string

LG ThinQ 플랫폼에서 요청한 정보를 추적하기 위한 값입니다. 특정 API의 흐름을 추적하고 에러의 원인을 찾는데 사용됩니다.

timestamp

string

이벤트가 배포된 시간을 의미합니다. ISO 8601 형식을 따릅니다.

  • 형식: YYYY-MM-DDTHH:MM:SS.mmmmmm

event

object

다음을 포함하는 오브젝트

 

pushType

enum

알림 유형으로 PCC_EVENT를 사용합니다.

 

deviceId

string

디바이스를 식별할 수 있는 ID입니다.

 

deviceType

string

디바이스의 유형입니다. Common Data Type > Device Type 페이지를 참고하세요.

 

diagnosisType

enum (string)

미리 정의된 진단 유형입니다. 특정 진단을 식별하는데 사용됩니다.

 

contentUrl

string

현재 문제를 해결하거나 고치는 방법에 대한 지침을 제공하는 콘텐츠 URL입니다.

 

diagnosisTimestamp

string

LG ThinQ 플랫폼에서 진단이 수행된 시간입니다. ISO 8601 형식을 따릅니다.

  • 형식: YYYY-MM-DDTHH:MM:SS.mmmmmm