Skip to main content

[WebApp] Protocal22-API 사용예제

[WebApp] Protocal22-API 사용예제

시작하기 전에

이 문서는 Dabory OwnerKey API for WebApp을 사용해 main app과 guest app 개발시 필요한 참고 정보를 안내합니다.

 WebApp 사용예제

PHP Laravel을 통한 WebApp 방식의 Owner Key를 통한 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로 접근
]);