[WebApp] Protocal22-API 사용예제
[WebApp] Protocal22-API 사용예제
시작하기 전에
이 문서는 Dabory OwnerKey API for WebApp을 사용해 main app과 guest app 개발시 필요한 참고 정보를 안내합니다.
WebApp 사용예제
PHP Laravel을 통한 WebApp 방식의 Owner Key를 통한 Owner Protocol22-API의 호출방식은 다음과 같습니다.
1. env 파일에 환경변수 저장
# [protocol22]
OWNER_APP_NAME=OWNER APP의 NAME (자유롭게 지정)
GUEST_APP_OWNER_KEY=해당 APP에서 발급받은 OwnerKey 입력
GUEST_APP_OWNER_URL=Owner의 URL 입력
OWNER_APP_NAME2=OWNER APP의 NAME (자유롭게 지정)
GUEST_APP_OWNER_KEY2=해당 APP에서 발급받은 OwnerKey 입력
GUEST_APP_OWNER_URL2=Owner의 URL 입력
2. callOwnerApi() 함수를 통해 Owner APP에 등록된 API 서버로 요청합니다.
public function callOwnerApi($request)
{
preg_match('/\d+/', $request['type'], $matches);
$index = isset($matches[0]) ? (int) $matches[0] : null;
if ($index !== null) {
$apiUrl = session("OwnerGateToken.guest")[$index]['frontUrl'] ?? null;
$gateToken = session("OwnerGateToken.guest")[$index]['gateToken'] ?? null;
}
$request['url'] = $apiUrl . '/' .$request['url'];
$request['headers'] = ['GateToken' => $gateToken];
return $this->callApi($request);
}
$officeInfo = $this->callApiService->callOwnerApi([
'url' => 'remote-signup-setup-get', // api 서버에 요청할 api url
'data' => [ // 요청할 data
'SetupCode' => 'passwd-policy',
'BrandCode' => 'member',
],
'type' => 'guest[1]' // env에 저장했던 owner app이 배열로 session에 저장되기 때문에 index로 접근
]);