BUSINESS SERVER API

BUSINESS SERVER 의 활용 목적 중에 두번째로 Client 의 정보를 가져오고 특정 Action Message Push 하는 기능으로 다음의 3 가지 기본 SERVER API 를 제공합니다.

  • send
  • getGroupList
  • getUserList

SERVER API의 경우 PHP 소스를 기본으로 설명드립니다.

• DPServer 의 선언

PHP 소스의 경우 DPMessage 에서 제공한 dpmessage.php 소스를 서버에 세팅 후에 해당 라이브러리를 include합니다.

include "[경로]/dpmessage.php";

DPMessage의 기본선언은 다음과 같습니다.

$dpmessage = new DPServer('발급받은 PRODUCT KEY');
$dpmessage = new DPServer(productkey);
  • productkey (String) required
    발급받은 Product Key
$dpmessage = new DPServer('TESTCHAT');

• send

Client send 와 마찬가지로 Send Action 은 소속되어 있는 Group 에 해당 메세지를 보내는 행위입니다. 다만 SERVER API 의 경우 특정 그룹으로 JOIN 하는 형태가 아니라 DPMessage 의 instance 에서 직접 그룹명과 액션명을 지정해서 메세지를 PUSH 하게됩니다.

기본선언은 다음과 같습니다.

$dpmessage->send('그룹명', '액션명', '데이터');
$dpmessage->send (groupname, actionname, pushdata);
  • groupname (String) required
    임의의 그룹명
  • actionname (String) required
    임의의 액션명
  • pushdata (String) requried
    전달할 데이터의 내용
$dpmessage->send('chat-group', 'chat-action', 'Hello World!');

• getGroupList

getGroupList 함수는 발급받은 PRODUCTKEY로 현재 OPEN되어 있는 전체 그룹리스트를 반환합니다. 그룹리스트는 그룹명을 키로 CUSTOMER INFO 사용 유무, CLIENT SEND 함수 사용유무를 리스트로 리턴하게 됩니다. PHP의 경우 array형태로 리턴합니다. 각각의 서버 언어마다 리턴하는 format이 상이 할 수 있으니 SERVER API를 참조하시기 바랍니다.

$dpmessage->getGroupList();
$dpmessage->getGroupList();
  • return data (Array)
    그룹명 array
    [‘그룹명’] => {[‘custevent’]:CUSTOMERINFO 사용유무, [‘sendevent’]:CLIENT SEND 사용 유무 }
$grouplist = $dpmessage->getGroupList();
var_dump($grouplist);
// array 형태의 grouplist

• getUserList

getUserList 함수는 CUSTOMER INFO를 사용하는 경우에만 특정 그룹에 속해있는 전체 Client 리스트의 CUSTOMER INFO를 반환합니다. CUSTOMER INFO를 사용하지 않는 경우는 비어있는 리스트를 반환합니다. Client 가 세팅한 CUSTOMER INFO 와 함께 UNIQUE 한 _userid 가 같이 반환됩니다. 또한 CUSTONER INFO 를 세팅하지 않은 경우 _userid 만 리턴하게 됩니다. PHP 의 경우 array 형태로 리턴합니다. 각각의 서버 언어마다 리턴하는 format 이 상이 할 수 있으니 SERVER API 를 참조하시기 바랍니다.

기본선언은 다음과 같습니다.

$dpmessage->getUserList('그룹명');
$dpmessage->getUserList(groupname);
  • groupname (String) required
    임의의 그룹명
  • return data (Array)
    Client 정보 array $userlist[‘test-chat’] -> 각 Client 의 CUSTOMER INFO 배열리턴
$userlist = $dpmessage->getUserList();
var_dump($userlist);
// array 형태의 userlist

• Debug For SERVER API

PHP에 대한 Debug를 가이드합니다. 각각의 서버 언어마다 Debug하는 방법이 상이할 수 있으니 SERVER API를 참조하시기 바랍니다. DPMessage의 SERVER API는 함수하나에 한번 이상의 socket connection 을 가지게 됩니다. 따라서 각 함수의 실행이 끝난 후에 성공, 실패에 대한 return은 실행문 바로 다음에 삽입해야 합니다. getResult 함수를 이용해서 Debug를 할 수 있습니다. getResult 함수는 ‘ERRORCODE’, ‘ERRORDESC’ 를 포함하는 Array형태의 data를 리턴하며 ERRORCODE가 0인 경우는 성공입니다. 그 외의 값에 대한 부분은 에러코드를 참조하시면 됩니다.

기본선언은 다음과 같습니다.

$dpmessage->getResult();
$dpmessage->getResult();
  • return data (Array)
    실행결과 array ‘ERRORCODE’, ‘ERRORDESC’
$dpmessage = new DPServer("TESTCHAT");
var_dump($dpmessage->getResult()); // new DPServer 선언에 대한 Debug
$dpmessage->send('chat-group','chat-action-notice',"Hello World From SERVER");
var_dump($dpmessage->getResult()); // send 실행에 대한 Debug
$groupList = $dpmessage->getGroupList());
var_dump($dpmessage->getResult()); // getGroupList 실행에 대한 Debug