[WebApp] Protocal22-API 사용예제
[WebApp] OwnerKey Api 사용예제
시작하기 전에
이 문서는 Dabory OwnerKey API for WebApp을 사용해 main app과 guest app 개발시 필요한 참고 정보를 안내합니다.
WebApp 사용예제
WebApp 방식의 Owner Key를 통한 Owner 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로 접근
]);