Device App Register
Endpoints Summary
| Method | Path | Swagger |
|---|---|---|
POST |
/device_app_register/ |
Swagger ↗ |
The Device App Register API provides functionality for registering mobile and desktop applications with the backend system. This endpoint captures comprehensive device and user information including hardware identifiers, network details, operating system information, and user credentials for device enrollment and management purposes.
Base URL: https://gate.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The Device App Register API is designed for initial device and application enrollment in the Zequenze platform. This API category handles the critical first step of device onboarding, where mobile apps, desktop applications, or other client software register themselves and their associated devices with the backend system.
Key Capabilities:
- Device Identification: Captures multiple hardware identifiers (IMEI, IMSI, ICCID, MAC address) for comprehensive device tracking
- Operating System Detection: Records detailed OS information including family, version, and API level
- Network Context: Identifies home mobile network information and carrier details
- User Association: Links devices to user accounts with flexible authentication options
- Device Categorization: Supports classification across device types (desktop, laptop, tablet, mobile phone)
Common Integration Scenarios:
- Mobile app first-launch registration
- Desktop application installation and activation
- IoT device provisioning and enrollment
- User device inventory management
- Compliance and security auditing
The registration process typically occurs during application installation or first run, establishing the device identity that will be used for subsequent API interactions, push notifications, and device management operations.
Endpoints
POST /device_app_register/
Description: Registers a new device and application instance with the backend system. This endpoint should be called during app installation or first launch to establish the device identity and associate it with user credentials. The registration captures comprehensive device information for inventory management, security tracking, and push notification delivery.
Use Cases:
- Mobile app first-time setup and device enrollment
- Desktop application activation and licensing
- IoT device provisioning in enterprise environments
- User device inventory for compliance and security auditing
- Establishing push notification delivery channels
Full URL Example:
https://gate.zequenze.com/api/v1/device_app_register/
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| number | string | No | Device phone number (MSISDN) for mobile devices |
| generic_id | string | No | Unique identifier from OS/App store (e.g., Android ID, iOS IDFA) |
| imei | string | No | International Mobile Equipment Identity for cellular devices |
| imsi | string | No | International Mobile Subscriber Identity from SIM card |
| iccid | string | No | Integrated Circuit Card Identifier from SIM card |
| mac_addr | string | No | MAC address of primary network interface |
| home_mobile_network_name | string | No | Carrier name (e.g., "Verizon", "AT&T", "Vodafone") |
| home_mobile_network_mccmnc | string | No | Mobile Country Code and Mobile Network Code (e.g., "310410") |
| app_version | string | No | Version of the registering application |
| os_family | string | No | Operating system family (e.g., "Android", "iOS", "Windows", "macOS") |
| os_version | string | No | Operating system version (e.g., "14.0", "Windows 11") |
| os_api_version | string | No | OS API level or SDK version |
| device_family | string | No | Device family or series (e.g., "iPhone", "Galaxy", "ThinkPad") |
| device_brand | string | No | Device manufacturer (e.g., "Apple", "Samsung", "Lenovo") |
| device_model | string | No | Specific device model (e.g., "iPhone 15 Pro", "Galaxy S24") |
| device_type | string | No | Device category: 'de' (Desktop), 'la' (Laptop), 'tb' (Tablet), 'ph' (Mobile phone) |
| push_key | string | No | Push notification token for message delivery |
| username | string | No | User account username for device association |
| password | string | No | User account password for authentication |
| user_external_id | string | No | External system user identifier for integration |
| user_class | string | No | User classification or service tier |
cURL Example:
curl -X POST "https://gate.zequenze.com/api/v1/device_app_register/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"number": "+1234567890",
"generic_id": "android-id-12345",
"imei": "123456789012345",
"mac_addr": "00:1B:44:11:3A:B7",
"home_mobile_network_name": "Verizon Wireless",
"home_mobile_network_mccmnc": "311480",
"app_version": "2.1.0",
"os_family": "Android",
"os_version": "14.0",
"os_api_version": "34",
"device_family": "Galaxy",
"device_brand": "Samsung",
"device_model": "Galaxy S24",
"device_type": "ph",
"push_key": "fcm-token-abc123xyz789",
"username": "john.doe",
"password": "securePassword123",
"user_class": "premium"
}'
Example Response:
{
"number": "+1234567890",
"generic_id": "android-id-12345",
"imei": "123456789012345",
"imsi": "311480123456789",
"iccid": "89014103271234567890",
"mac_addr": "00:1B:44:11:3A:B7",
"home_mobile_network_name": "Verizon Wireless",
"home_mobile_network_mccmnc": "311480",
"app_version": "2.1.0",
"os_family": "Android",
"os_version": "14.0",
"os_api_version": "34",
"device_family": "Galaxy",
"device_brand": "Samsung",
"device_model": "Galaxy S24",
"device_type": "ph",
"push_key": "fcm-token-abc123xyz789",
"username": "john.doe",
"user_external_id": "ext-user-456",
"user_class": "premium"
}
Response Codes:
| Status | Description |
|---|---|
| 201 | Created - Device successfully registered with the system |
| 400 | Bad Request - Invalid data format or missing required fields |
| 401 | Unauthorized - Invalid or missing authentication token |
| 409 | Conflict - Device already registered (duplicate IMEI/MAC address) |
| 422 | Unprocessable Entity - Valid format but business logic validation failed |
Common Use Cases
Use Case 1: Mobile App First Launch Registration
When a user installs and first opens a mobile app, the application collects device information and registers with the backend. This establishes the device identity for future API calls and enables push notifications.
Required endpoints: POST /device_app_register/
Use Case 2: Enterprise Device Enrollment
IT administrators deploying company devices use the registration API to enroll devices in the corporate management system, associating them with employee accounts and applying appropriate device policies.
Required endpoints: POST /device_app_register/
Use Case 3: IoT Device Provisioning
Smart devices and IoT endpoints register themselves during initial setup, providing hardware identifiers and network information for device management and monitoring.
Required endpoints: POST /device_app_register/
Use Case 4: Cross-Platform Device Inventory
Applications running on multiple platforms (mobile, desktop, web) register their host devices to maintain a unified inventory across all user touchpoints for security and compliance reporting.
Required endpoints: POST /device_app_register/
Use Case 5: Push Notification Setup
Mobile and desktop applications register their push notification tokens during the device registration process, enabling the backend to deliver messages and alerts to specific devices.
Required endpoints: POST /device_app_register/
Best Practices
-
Privacy Compliance: Only collect device identifiers that are necessary for your use case. Be aware of privacy regulations (GDPR, CCPA) when collecting IMEI, MAC addresses, or other persistent identifiers.
-
Unique Device Identification: Use multiple identifiers when available (IMEI + MAC address + generic_id) to create robust device fingerprinting while having fallback options if some identifiers are unavailable.
-
Secure Credential Handling: If passing username/password in registration, ensure the API connection uses HTTPS and consider using temporary tokens or OAuth flows instead of permanent passwords.
-
Device Type Classification: Always specify the device_type parameter to enable proper device management policies and user experience optimization based on device capabilities.
-
Error Handling: Implement retry logic for network failures, but avoid re-registering devices that return 409 (Conflict) responses, as this indicates the device is already known to the system.
-
Push Token Management: Keep push_key tokens updated as they can expire or change when apps are updated or reinstalled. Consider implementing a separate endpoint update mechanism for token refresh.
-
Data Validation: Validate device identifiers format before sending (e.g., IMEI should be 15 digits, MAC addresses should follow standard format) to avoid unnecessary API calls and improve registration success rates.
No comments to display
No comments to display