서버 API


개요 및 주의사항

  • 채팅을 사용하는 웹상이 아닌 다른 환경에서 채팅방에 명령 또는 액션을 취하기 위해 개발되었습니다.
  • 보안을 위해 사용자의 브라우저에서 직접 API를 호출하는것은 권장하지 않습니다. 브라우저에서 요청을 바로 보내는것을 막기 위해 API 요청시 User-Agent 헤더를 uchat_api_client_vx로 설정하셔야 합니다.
  • API 토큰은 채팅방 설정 페이지에서 확인 가능합니다.
  • 현재 APIᅟ는 플러그인에 메세지를 전달하기만 가능합니다.

주의

유챗은 접속자의 브라우저에서 API를 직접 호출하는것을 권장하지 않습니다. 이는 API 토큰유출 및 유출로 인한 악용이 심히 우려되기 때문입니다.

이러한 문제를 막고자, API를 호출할때 User-Agent를 uchat_api_client_vx로 설정하셔야 합니다.
*일반 브라우저에서는 User-Agent조작을 지원하지 않습니다. User-Agent 설정을 통해 브라우저에서 직접 API를 호출하는것을 막는것이 목적입니다.

요청 미리보기

curl -X POST "https://api.uchat.io/plugin/youtube" \
	-A “uchat_api_client_v1” \
	-H "X-UCHAT-API-ROOM: test1" \
	-H "X-UCHAT-API-TOKEN: c2547eb745079dac9320b638f5e225cf" \
	--data '[123456789123]'

해당 요청은 test1이라는 채팅방에 설치되어 있는 youtube플러그인에 데이터를 보내는 예제입니다.

여기서 확인하셔야 할것은,

  • API 요청 주소는 타입(plugin)/구분값(youtube)로 구성된다는 것,
  • User-Agent를 uchat_api_client_vAPI 버전명으로 설정했다는것 (-A “uchat_api_client_v1”)
  • 헤더에 X-UCHAT-API-ROOM를 넣어서 서버 API의 대상 서버를 선택할 수 있다는것, (-H "X-UCHAT-API-ROOM: test1")
  • 헤더에 X-UCHAT-API-TOKEN을 넣어서 API 토큰을 보낸다는것 입니다.

 

지원 메소드 v1

아래의 메서드들은 서버 API 버전1에서만 사용 가능합니다.

/plugin

특정 플러그인에게 데이터를 송/수신 할 수 있습니다.

/plugin/{플러그인 ID}

POST
 

특정 플러그인에게 데이터를 전송합니다.
POST내용을 플러그인에게 전달합니다. 전송할 데이터는 배열로 감싸진 ([]으로 감싸진) JSON이어야 합니다.

HTTP 요청 예시

POST /plugin/[PLUGIN_ID] HTTP/1.1
User-Agent: uchat_api_client_v1
X-UCHAT-API-ROOM: test1
X-UCHAT-API-TOKEN: c2547eb745079dac9320b638f5e225cf

[{123456789}, {'test': '1234'}]
	

POST /plugin/youtube HTTP/1.1
User-Agent: uchat_api_client_v1
X-UCHAT-API-ROOM: test1
X-UCHAT-API-TOKEN: c2547eb745079dac9320b638f5e225cf

[123456789123]