Introduction

InBody WebAPI는 LookinBodyWeb과 관련된 API를 제공합니다.
본 문서는 LookinBodyWeb의 다양한 기능을 HTTP 요청으로 활용할 수 있는 REST API에 대해 설명하며, API 가 제공하는 기능별 상세 설명을 포함합니다.

앞으로 제공될 상세기능에 대한 설명을 참고하거나 해당 기능을 실행해 보기 전에, 아래의 기본 내용을 참고해 보시기를 권장합니다.


REST API에 대해 빠른 참조를 원하시면 아래를 참고하세요.


개발환경구성

REST API는 HTTP 요청을 보낼 수 있는 환경이라면 어디서든 이용할 수 있습니다. 다음은 REST API를 활용할 수 있는 환경의 예 입니다.

  • 모바일/PC 웹 환경에서 Javascript를 활용
  • 다양한 환경(C#, ASP.NET, JAVA등)의 웹 서버에서 활용
  • iOS, Android등 다양한 모바일 환경에서 활용


InBody Web API 활용

LookinBodyWeb 계정을 이용하여 사이트 로그인 후 AcessKey > [발급] 버튼을 통해 접근 KEY를 생성합니다.
HTTP Rquest Header에 발급받은 키를 전송합니다.

Account: [-LBWeb 계정-]
API-KEY: [-발급받은 Key-]

연결테스트 는 다음과 같이 합니다.

URL:https://{webapi주소}/user/test

Request
POST / HTTP/1.1
Host: [-- url --]
Account: [-- LBWeb 계정 --]
API-KEY: [-- 발급받은 Key --]
Content-Type: application/json
ContentLength: [-- 길이 --]
Host에 URL을 입력해주시고, Account에 본인의 LBWeb 계정을 입력하세요. 또 본 페이지 API-KEY 메뉴에서 발급받은 접근키를 API-KEY 에 넣어 Header에 포함시켜주세요.
(Key를 Header에 포함 하지 않을시 권한(401)코드를 리턴합니다.)

Response
Http/1.1     200 OK
Content-Type: application/json;charset=UTF-8
{
          "success"
}

파라미터 UserID vs UserToken

Web API는 인바디 장비에서 데이터를 볼 수 있는 권한을 허용한다. 인바디 데이터에 접근하기 위해, Web API는 UserID(ID) 와 UserToken(phone)의 두 검색 파라미터를 사용한다.

UserID(iD): 로컬 파라미터로, 로그인한 계정이 속해있는 특정한 로컬 데이터만 검색할 수 있다.
UserToken(Phone): 글로벌 파라미터로, 연결된 모든 로케이션의 데이터를 검색할 수 있다.

예를들어 UserID를 사용해 데이터를 검색할 때, 연결된 계정의 로케이션 데이터만을 볼 수 있다. 만약 연결된 또다른 로케이션의 데이터를 접근하길 원할경우, UserToken을 사용해야한다.


Example Code

Below is a snippet of code utilizing the InBody WebAPI

Example Code: Javascript w/ jQuery
				
				$.ajax({
     type: 'POST',
     url: 'https://apikr.lookinbody.com/Function',
     contentType: 'application/json',
     data: JSON.stringify({ '[RequestDataKey]':'[RequestDatavalue]' }),
     headers: {
          'Account':'[AccountName]',
          'API-KEY':'[API-KEY]'
     },
     success: function (response) {
          $('#Element1').text(response[0].[ResponseDataKey1]);
          $('#Element2').text(response[0].[ResponseDataKey2]);
          $('#Element3').text(response[0].[ResponseDataKey3]);
          [...];      },
     error: function (error) {
          //Do something in case of error
     }
});