---
title: "Integration with Third-Party Access Control Server"
slug: "integration-with-third-party-access-control-server"
status: "update"
updated: 2026-08-18T07:23:02Z
published: 2026-08-18T07:23:02Z
canonical: "knowledge.akuvox.com/integration-with-third-party-access-control-server"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge.akuvox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration with Third-Party Access Control Server

This feature allows Akuvox devices to forward access credentials (such as QR codes, cards, or PIN codes) to a third-party server for verification instead of performing local authentication.

**Typical Use Cases**:

- Centralized access control managed by a third-party platform.
- Custom security logic implemented on external servers.

**How It Works**:

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/Gemini_Generated_Image_20jac420jac420ja.png)

## Supported Models

This feature is supported on the following models:

| Model | Firmware Version(or higher) | Model | Firmware Version(or higher) |
| --- | --- | --- | --- |
| A01/A02 | 101.30.10.128 | A05V2 | 205.30.10.157 |
| A08* | 108.30.11.122 | E18 | 18.30.11.27 |
| E16V2 | 216.30.12.32 | X915V2 | 2915.30.10.728 |
| X916 | 916.30.10.353 | R29 | 29.30.10.727 |
| S535 | 535.30.11.13 | S539 | 539.30.10.428 |
| X912 | 912.30.12.209 | S538 | 538.30.10.705 |
| E16V3 | 416.30.11.206 |  |  |

> [!NOTE]
> Note
> 
> * On A08, **Authorization Mode** and **Multi-factor Authentication Request Mode** (see below) require firmware 108.30.11.228 or later. All other functionality described in this article is available from 108.30.11.122.

## Before You Start

Make sure you have:

- The HTTP API provided by the third-party server.
- Device ID assigned by the third-party system.
- Authentication method planned (QR code, card, PIN, or multi-factor).

## Configuration Overview

Two integration modes are supported:

**General Integration**

- Used for **QR code authentication only**.
- The device sends a predefined HTTP request containing QR code data.

**Customized Integration**

- Used for **multiple authentication methods**.
- Supports QR code, card, PIN, and multi-factor authentication.
- Allows flexible data formatting for server-side processing.

## Configuration Steps

Take A08 as an example.

1. Use the device IP to log in to its web interface. The initial username and password are **admin**.
2. Go to **Access Control > Relay > Third Party Integration**.
3. Select the integration type.

- **General**: Transmit the QR code-linked HTTP URL in Akuvox’s method.
- **Customize**: Transmit access credential data in a customized method.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/Screenshot 2026-04-10 145414.png)

### Option A: General Integration(QR Code Only)

**When to Use:**

- Only QR code authentication is required.
- The server verifies QR codes via HTTP requests.

1. Enter the HTTP command provided by the third-party service provider.

**Example Format**:

*http://192.168.31.123:8090/api/visitor/scan?codeKey={QRCode}&deviceId={DeviceID}*
2. Enter the device ID provided by the third-party server.
3. Select the **Authorization Mode**. Configure the **Username** and **Password** used for authentication when **Basic** or **Digest** mode is selected.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-F9LC0OWK.png)

1. Submit the setting.

#### Server Response Format

After receiving the request, the third-party server must return a **valid JSON response** indicating whether access is granted.

The device determines the result based on specific fields in the response.

**Supported Success Parameter**:

- "isvalid": true
- "isvalid": 1
- "validation_result": "1"

**Supported Failed Parameter**:

- "isvalid": false
- "isvalid": 0
- "validation_result": "0"

#### Response Timeout

The device waits for a response from the third-party server within a limited time.

- **Timeout: 3 seconds**

If no valid response is received within this time:

- The request will be considered **failed.**
- Access will be **denied automatically.**

#### Result

- When a QR code is scanned:
  - `{QRCode}` is replaced with the actual QR content.
  - `{DeviceID}` identifies the device.
- The server verifies the request.
- The device opens the door if verification is successful.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-AQVTW9CX.png)

Received URL Example

### Option B: Customized Integration

**When to Use**:

- Multiple authentication methods are required.
- Custom verification logic is implemented on the server.

**Supported Credentials:**

- QR code
- RF card
- PIN
- Multi-factor authentication

Before configuring the integration, specify which **Authentication Mode** is used by the device.

Select the authentication mode on the **Access Control > Relay > Access Authentication Mode** interface.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-HI41VU7C.png)

#### Scenario 1: Any Method Mode

In this mode, any selected credential can trigger verification.

1. Select the access method(s) to be verified by the third-party server.
2. Select the **Authorization Mode**. Configure the **Username** and **Password** used for authentication when **Basic** or **Digest** mode is selected.
3. Enter the HTTP command provided by the third-party service provider.

**Example format**:

*http://192.168.31.123:8090/api/visitor/scan?codeKey={QRCode}/{Card}/{Pin}&deviceId={DeviceID}.*
4. Enter the device ID provided by the third-party server.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-05I3TGS5.png)

1. Submit the setting.

> [!WARNING]
> Tip
> 
> Specific models(X916, S535, R29, A05V2, E18, and E16V2) support the **Prompt on LCD** feature.
> 
> - Select **Default** to adopt the Akuvox door phone’s door-opening prompt.
> - Select **Return Value** to use the return value from the third-party server as the prompt.

#### Server Response Format

After receiving the request, the third-party server must return a **valid response** indicating whether access is granted.

The device determines the result based on specific fields in the response.

**Supported Success Parameter**:

- "isvalid": true
- "isvalid": 1
- "validation_result": "1"

**Supported Failed Parameter**:

- "isvalid": false
- "isvalid": 0
- "validation_result": "0"

#### Response Timeout

The device waits for a response from the third-party server within a limited time.

- **Timeout: 3 seconds**

If no valid response is received within this time:

- The request will be considered **failed.**
- Access will be **denied automatically.**

#### Result

- The device sends the credential used (QR, card, or PIN).
- The corresponding variable is replaced in the URL.
- The server verifies the credential and returns the result.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-JON6PLTJ.png)

Received URL Example

#### Scenario 2: Two-Factor Authentication Mode

This mode requires two credentials in sequence. The supported combinations are **RF Card + PIN** and **PIN + RF Card**.

> [!NOTE]
> Note
> 
> On A08 devices running firmware **108.30.11.228 or later**, the workflow depends on the **Multi-factor Authentication Request Mode** setting. On all other models — and on A08 firmware earlier than 108.30.11.228 — only the Separate Requests workflow applies.

**Workflow:**

| Separate Requests | Single Combined Request (A08, firmware 108.30.11.228 or later only) |
| --- | --- |
| User completes the first authentication step (e.g., swipes the RF card). | User completes the first authentication step (e.g., swipes the RF card). |
| Device immediately sends the first credential to the server using **{Token}**. The server verifies it and returns a result. | Device holds the collected credential and waits — no request is sent yet. |
| User completes the second authentication step (e.g., enters the PIN). | User completes the second authentication step (e.g., enters the PIN). |
| Device sends the second credential to the server using **{Token}**. Server verifies it and returns a result. | Device sends both credentials together in a single request using **{Card}** and **{Pin}**. The server verifies both and returns one result. |

In both cases, if the credential entered at either step does not match the configured Two-Factor Authentication Mode, the user is prompted to use the correct method before the request is sent.

1. Select **Multi-Factor** remote verification mode.
2. Select the **Multi-factor Authentication Request Mode**.
3. Select the **Authorization Mode**. Configure the **Username** and **Password** used for authentication when **Basic** or **Digest** mode is selected.
4. Enter the HTTP command provided by the third-party service provider.

**Example Format**:

For **Separate Requests** mode:

*http://192.168.31.123:8090/api/visitor/scan?codeKey={Token}/{Type}&deviceId={DeviceID}*

For **Single Combined Request** mode:

*http://192.168.31.123:8090/api/visitor/scan?codeKey={Card}/{Pin}/{Type}&deviceId={DeviceID}*

1. Enter the device ID provided by the third-party server.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-1S5BYIJY.png)

1. Submit the setting.

> [!WARNING]
> Tip
> 
> Specific models(X916, S535, R29, A05V2, E18, X912, and E16V2) support the **Prompt on LCD** feature.
> 
> - Select **Default** to adopt the Akuvox door phone’s door-opening prompt.
> - Select **Return Value** to use the return value from the third-party server as the prompt.

#### Server Response Format

After receiving the request, the third-party server must return a **valid JSON response** indicating whether access is granted.

The device determines the result based on specific fields in the response.

**Supported Success Parameter**:

- "isvalid": true
- "isvalid": 1
- "validation_result": "1"

**Supported Failed Parameter**:

- "isvalid": false
- "isvalid": 0
- "validation_result": "0"

#### Response Timeout

The device waits for a response from the third-party server within a limited time.

- **Timeout: 3 seconds**

If no valid response is received within this time:

- The request will be considered **failed**
- Access will be **denied automatically**

#### Result

- `{Token}` represents the credential collected in each step.
- `{Type}` indicates the authentication sequence:
  - `1` = RF Card + PIN
  - `2` = PIN + RF Card
  - `3` = Face + RF Card
  - `4` = Face + PIN
- The server verifies both credentials before granting access.

![](https://cdn.document360.io/f09a6106-e976-455e-b2d0-3d88b5385960/Images/Documentation/image-IMUT4APX.png)

Received URL Example

## Variable Description

| Variable | Description |
| --- | --- |
| {QRCode} | QR code content |
| {Card} / {CardCode} | Card number |
| {Pin} / {PINCode} | PIN code |
| {UserID} | The user ID associated with the user’s face. |
| {Face} | The feature values converted from the face data. |
| {DeviceID} | Device identifier |
| {Token} | Credential collected in the current step |
| {Type} | Two-factor authentication type |
| {Time} | The device’s current time |

## Model Capability Differences

### Authentication Capabilities

Different models support different authentication methods for integration with third-party servers.

| Model | Supported Methods |
| --- | --- |
| S539 / S538 | QR Code |
| S535 / X915V2 / E16 | QR Code, Card, Face, PIN |
| E18 | QR Code, Card, PIN |
| X916 | QR Code, Card, Face |
| X912 / R29 | QR Code, Card, Face, PIN, Two-Factor |
| A08 | QR Code, PIN, RF Card, Two-Factor |
| A05 | QR Code, Card, Face |
| A02 / A01 | Card, PIN |

### Supported Variables by Model

Different models support different variables when sending data to the server.

| Model | Variable Format |
| --- | --- |
| S539 / S538 | {QRCode}, {DeviceID}, {Time} |
| S535 / X915V2 / E16V2 | {QRCode}, {Card}, {Pin}, {UserID}, {DeviceID}, {Time} |
| E18 | {QRCode}, {Card}, {Pin}, {DeviceID}, {Time} |
| X916 | {QRCode}, {Card}, {UserID}, {DeviceID}, {Time} |
| X912 | {QRCode}, {Card}, {Pin}, {UserID}, {DeviceID}, {Token}, {Type}, {Time} |
| R29 | {QRCode}, {Card}, {Pin}, {Face}, {UserID}, {DeviceID}, {Token}, {Type}, {Time} |
| A08 | {QRCode}, {Card}, {Pin}, {DeviceID}, {Token}, {Type}, {Time} |
| A05V2 | {QRCode}, {Card}, {UserID}, {DeviceID}, {Time} |
| A02 / A01 | {Card}, {PINCode}, {DeviceID}, {Time} |

> [!NOTE]
> Note
> 
> - The variable formats are NOT interchangeable between models.
> - Only variables supported by the device model can be used in the HTTP command.
> - Using unsupported variables may result in failed requests.
