Signal API

Signal API를 사용하는 방법

1. Authentication Token 확인하기

WalkInsights의 모든 API를 사용하기 위해서는 authentication_token이 필요합니다.

authentication_token 을 확인하기 위해서 인증 문서 Step 1을 참고합니다.

WalkInsights의 API를 사용하기 위해서는 emailauthentication_token 두 개를 사용하여야 합니다

2. Signal API 사용하기

http 요청 포맷은 다음과 같습니다.

[headers]
X-User-Email : YOUR_EMAIL
X-User-Token : YOUR_AUTH_TOKEN

[URL]
GET https://dropwizard.walkinsights.com/api/v1/shops/{shop_id}/wifi_signals?parameters

[Parameters]
since
limit

헤더

인증 문서 Step 1 을 참고하여 얻은 email과 authentication_token을 x-user-email, x-user-token의 값으로 하여 http 헤더를 제공하여야 합니다.

파라미터

Path 파라미터인 shop_id의 위치에는 Signal을 가져오고자 하는 매장의 아이디를 넣어주면 됩니다.

한 매장의 Signal 데이터는 그 수가 매우 많으므로 한 번에 모든 레코드를 리턴하는 대신, 일정 수만큼씩 페이지네이션되어 제공됩니다. since와 limit은 기본적으로 각각 페이지네이션의 offset(시작점의 인덱스), limit(한 번에 가져오는 레코드의 수)와 유사한 개념입니다.

since는 RTS라는 특수한 형태의 문자열로 변형된 DateTime으로, 이 DateTime 이후의 Signal 만을 가져오겠다는 의미입니다. 원하는 DateTime(예를 들어 2019년 3월 19일 오후 4시)을 RTS 형태로 변환하는 방법은 DateTime을 RTS로 변환하는 방법을 참조해주세요.

limit이란 페이지네이션으로 한 번에 가져오는 레코드의 개수입니다. limit은 기본값이 20이고, 최댓값이 200인 양의 정수입니다.

3. Signal API 요청 및 응답 예시

탭을 클릭하여 요청과 응답 본문을 확인하실 수 있습니다. Get Wifi Signals 에서 직접 확인해보실 수도 있습니다.

[Headers]
X-User-Email : [email protected]
X-User-Token : uS3r4uTHt0ken

[URL]
GET https://dropwizard.walkinsights.com/api/v1/shops/1234/wifi_signals?since=7fe966fdc67f7e78&limit=4

[Path Parameters]
shop_id=1234

[Query Parameters]
since=7fe966fdc67f7e78
limit=4
{
  "signals": [
    {
      "row_key": "1234:7fe966fdc4143d82",
      "device_id": "f929fbb3e8e0d007c30ca9d08d5e17ea",
      "rssi": -34,
      "square_mac": "a1b2c3d4e5f6",
      "ts": 1552901455548,
      "local": false
    },
    {
      "row_key": "1234:7fe966fdc41afeeb",
      "device_id": "e387c530b9bcc0fd5bd29f094d06f119",
      "rssi": -45,
      "square_mac": "a1b2c3d4e5f7",
      "ts": 1552901455440,
      "local": false
    },
    {
      "row_key": "1234:7fe966fdc41e2c29",
      "device_id": "e711ed57da1cb96139a457f918156ecf",
      "rssi": -26,
      "square_mac": "a1b2c3d4e5f6",
      "ts": 1552901455389,
      "local": true
    },
    {
      "row_key": "1234:7fe966fdc45a8f8c",
      "device_id": "ae9b56677797feea8f1039f3056ba2eb",
      "rssi": -61,
      "square_mac": "a1b2c3d4e5f8",
      "ts": 1552901454423,
      "local": true
    }
  ],
  "since": "7fe966fdc67f7e78"
}

Signal 스키마

이름

자료형

설명

row_key

문자열

<매장 아이디>:<RTS> 로 표현된 row key

device_id

문자열

신호를 발생시킨 디바이스의 MAC 주소

rssi

정수(Integer)

Signal 의 세기를 나타내는 값, 값이 0에 가까울수록 신호의 세기가 크고 가까운 곳에서 수집된 신호임을 나타냄.

square_mac

문자열

신호를 수집한 ZOYI Square의 MAC 주소

ts

정수(Long)

신호가 수집된 순간의 타임스탬프

local

참/거짓(Boolean)

디바이스의 맥 주소가 로컬화되었는지를 나타냄