HTTP

Nubison IoT HTTP ν‘œμ€€ κ·œκ²©μž…λ‹ˆλ‹€.

Nubison IoT ν”Œλž«νΌμ— HTTPλ₯Ό 톡해 데이터λ₯Ό μ „μ†‘ν•˜λŠ” λ””λ°”μ΄μŠ€λ₯Ό μ—°κ²°ν•˜κΈ° μœ„ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

μ•„λž˜ 과정을 μ§„ν–‰ν•˜κΈ° 전에, μ‹œμž‘ν•˜κΈ°μ— 적힌 과정듀이 λ°˜λ“œμ‹œ μ„ ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ„œλ²„ μ—°κ²°

Nubison IoT ν”Œλž«νΌμ— HTTP둜 μ—°κ²°ν•˜κΈ° μœ„ν•œ μ •λ³΄μž…λ‹ˆλ‹€.

  • μ„œλ²„ URL: 연동 μ§„ν–‰μ‹œ μ•ˆλ‚΄

λ””λ°”μ΄μŠ€ 둜그인

Nubison IoT ν”Œλž«νΌμ— λ””λ°”μ΄μŠ€λ₯Ό λ‘œκ·ΈμΈν•©λ‹ˆλ‹€.

λ‹€λ₯Έ μš”μ²­μ„ μ§„ν–‰ν•˜κΈ° 전에 λ‘œκ·ΈμΈμ„ λ°˜λ“œμ‹œ μ§„ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

둜그인 μš”μ²­ μ‘λ‹΅μœΌλ‘œ λŒμ•„μ˜€λŠ” μ•‘μ„ΈμŠ€ 토큰을 μ΄μš©ν•˜μ—¬ λ‹€λ₯Έ μš”μ²­λ“€μ„ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ Nubison IoT ν”Œλž«νΌ μ›Ήμ—μ„œ νƒ€μž„λΌμΈμ— β€œν΄λΌμš°λ“œ 접속”이 κΈ°λ‘λ©λ‹ˆλ‹€.

POST /devices/login

[Request]

Content-Type: application/x-www-form-urlencoded

<Header>

key
ν•„μˆ˜ μ—¬λΆ€
μ„€λͺ…

Authorization

O

Basic <${ν΄λΌμ΄μ–ΈνŠΈ ID}:${ν΄λΌμ΄μ–ΈνŠΈ Secret}을 base64 μΈμ½”λ”©ν•œ 슀트링>

ex.

ν΄λΌμ΄μ–ΈνŠΈ ID = AbCdE123, ν΄λΌμ΄μ–ΈνŠΈ Secret = xyzabc123 이라고 ν•˜λ©΄,

Basic AbCdE123:xyzabc123

μ—¬κΈ°μ—μ„œ AbCdE123:xyzabc123λ₯Ό Base64 인코딩

(Basic QmFzaWMgQWJDZEUxMjM6eHl6YWJjMTIz)을 보내주셔야 ν•©λ‹ˆλ‹€.

<Body>

key
required
λΉ„κ³ 

deviceKey

O

λ””λ°”μ΄μŠ€ ν‚€

[Response] Content-Type: application/json

status

message

body

200

OK

{

"AccessToken" : "...."

}

400

Bad Request

{

"code" :"ERROR401",

"message": "authorization header does not exist."

}

{

"code" :"ERROR402",

"message": "deviceKey is missing."

}

{

"code" :"ERROR403",

"message": "client is not valid."

}

405

Not Found

// μ„œλΉ„μŠ€κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 경우

415

Invalid content-type

// content-type must be application/json

λ””λ°”μ΄μŠ€ λ‘œκ·Έμ•„μ›ƒ

NUBISON IoT ν”Œλž«νΌμ—μ„œ λ””λ°”μ΄μŠ€κ°€ λ‘œκ·Έμ•„μ›ƒν•©λ‹ˆλ‹€.

μ‚¬μš©ν–ˆλ˜ 토큰이 λ§μ†Œλ˜λ©°, Nubison IoT ν”Œλž«νΌ μ›Ήμ—μ„œ νƒ€μž„λΌμΈμ— ν΄λΌμš°λ“œ μ ‘μ†ν•΄μ œκ°€ κΈ°λ‘λ©λ‹ˆλ‹€.

POST /devices/logout

[Request]

Content-Type: application/json

<Body>

key
ν•„μˆ˜ μ—¬λΆ€
μ„€λͺ…

accessToken

O

NUBISON IoT ν”Œλž«νΌ 둜그인 μ‹œ μ„œλ²„λ‘œλΆ€ν„° 받은 μ ‘κ·Ό 토큰

deviceKey

O

λ””λ°”μ΄μŠ€ ν‚€

μ˜ˆμ‹œ

[Response] Content-Type: application/json

status

message

body

200

OK

// μ„œλ²„μ—μ„œ 둜그인 μ‹œ λ°œκΈ‰ν•œ access token을 μ‚­μ œν•©λ‹ˆλ‹€.

400

Bad Request

{

"code" :"ERROR402",

"message": "deviceKey is missing."

}

{

"code" :"ERROR404",

"message": "accessToken is missing."

}

401

Unauthorized

// accessToken is not valid.

405

Not Found

service is not found. or device is not registered.

415

Invalid content-type

// content-type must be application/json

데이터 전솑

Nubison IoT ν”Œλž«νΌμ— λ””λ°”μ΄μŠ€ 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.

POST /devices/data

[Request] Content-Type: application/json

<Body>

key
ν•„μˆ˜ μ—¬λΆ€
λΉ„κ³ 

accessToken

O

둜그인 μ‹œ μ„œλ²„λ‘œλΆ€ν„° 받은 μ ‘κ·Ό 토큰

deviceKey

O

λ””λ°”μ΄μŠ€ ν‚€

data

O

λ””λ°”μ΄μŠ€ 데이터

[Response] Content-Type: application/json

status

message

body

201

Created

400

Bad Request

{

"code" :"ERROR402",

"message": "deviceKey is missing."

}

{

"code" :"ERROR404",

"message": "accessToken is missing."

}

{

"code" :"ERROR406",

"message": "data is missing."

}

401

Unauthorized

// accessToken is not valid.

415

Invalid content-type

// content-type must be application/json

μžλ™ λ“œλΌμ΄λ²„ 이용 μ‹œ κΈ°λ³Έ νŽ˜μ΄λ‘œλ“œ 규격

Nubison IoT ν”Œλž«νΌμ—μ„œ μžλ™ μƒμ„±λœ λ“œλΌμ΄λ²„λ₯Ό μ΄μš©ν•˜λŠ” 경우 Body의 data 값을 λ‹€μŒκ³Ό 같이 λ³΄λ‚΄μ£Όμ‹œλ©΄ λ””λ°”μ΄μŠ€κ°€ 보낸 데이터λ₯Ό Nubison IoT ν”Œλž«νΌμ— μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μžλ™λ“œλΌμ΄λ²„λ₯Ό μ΄μš©ν•˜μ‹œλŠ” 경우 λ‹€μŒκ³Ό 같이 데이터λ₯Ό κ΅¬μ„±ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

  • request body json κ°’ μ€‘μ—μ„œ, "data" key ν•˜μœ„μ—, "μœ λ‹›λ²ˆν˜Έ"λ₯Ό key둜 ν•˜κ³  "μœ λ‹› κ°’"을 value 둜 ν•˜λŠ” json 객체λ₯Ό κ΅¬μ„±ν•˜μ—¬ 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€. (μžλ™ μƒμ„±λœ λ“œλΌμ΄λ²„λ₯Ό μ΄μš©ν•˜λŠ” 경우, λ””λ°”μ΄μŠ€κ°€ 보낸 데이터λ₯Ό Nubison IoT ν”Œλž«νΌ μ„œλ²„μ—μ„œ μœ λ‹›λ²ˆν˜Έ κΈ°μ€€μœΌλ‘œ 데이터λ₯Ό κ΅¬λΆ„ν•˜μ—¬ ν•΄λ‹Ή μœ λ‹› 번호의 κ°’μœΌλ‘œ 데이터λ₯Ό μ €μž₯ν•˜κ²Œ λ©λ‹ˆλ‹€.)

  • 숫자, μœ„μΉ˜ λ°μ΄ν„°λŠ” 숫자 포맷으둜,

  • 문자 λ°μ΄ν„°λŠ” 문자 포맷으둜,

  • 숫자 λ°°μ—΄ λ°μ΄ν„°λŠ” 숫자 λ°°μ—΄ 포맷으둜,

  • 문자 λ°°μ—΄ λ°μ΄ν„°λŠ” 문자 λ°°μ—΄ 포맷으둜,

  • μ΄λ―Έμ§€λŠ” base64둜 μΈμ½”λ”©ν•œ 슀트링

데이터λ₯Ό λ‹€μŒκ³Ό 같이 보낸닀면

νŽ˜μ΄λ‘œλ“œλ₯Ό λ‹€μŒκ³Ό 같이 κ΅¬μ„±ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

Last updated

Was this helpful?