DeviceService
Manages device registration for push notifications. Each user can have multiple devices with push tokens.
Methods
Section titled “Methods”| Method | Description |
|---|---|
Register | Register a device with a push token |
Deactivate | Deactivate a device |
ListDevices | List the authenticated user’s devices |
ListMemberDevices | List devices for a specific member (admin) |
Register
Section titled “Register”Register a device for push notifications. If the device ID already exists, the push token is updated.
Authorization: Authenticated user
Request: RegisterRequest
Section titled “Request: RegisterRequest”| Field | Type | Description |
|---|---|---|
device_id | string | Unique device identifier. Max 200 characters. |
push_token | string | Push token. Max 500 characters. |
platform | Platform | Device platform (IOS or ANDROID). |
app_version | string | Application version string. Max 50 characters. |
Response: RegisterResponse
Section titled “Response: RegisterResponse”| Field | Type | Description |
|---|---|---|
device | Device | The registered device. |
Example
Section titled “Example”TypeScript (Connect-Web)
const response = await deviceClient.register({ deviceId: "device-uuid", pushToken: "push-token-string", platform: Platform.IOS, appVersion: "1.5.0",});Go (gRPC)
resp, err := deviceClient.Register(ctx, &pidgrv1.RegisterRequest{ DeviceId: "device-uuid", PushToken: "push-token-string", Platform: pidgrv1.Platform_IOS, AppVersion: "1.5.0",})Deactivate
Section titled “Deactivate”Deactivate a device. Deactivated devices no longer receive push notifications.
Authorization: Authenticated user (own devices only)
Request: DeactivateRequest
Section titled “Request: DeactivateRequest”| Field | Type | Description |
|---|---|---|
device_id | string | Device ID to deactivate. |
Response: DeactivateResponse
Section titled “Response: DeactivateResponse”Empty response on success.
ListDevices
Section titled “ListDevices”List the authenticated user’s registered devices.
Authorization: Authenticated user
Request: ListDevicesRequest
Section titled “Request: ListDevicesRequest”Empty request.
Response: ListDevicesResponse
Section titled “Response: ListDevicesResponse”| Field | Type | Description |
|---|---|---|
devices | Device[] | List of registered devices. |
ListMemberDevices
Section titled “ListMemberDevices”List devices for a specific member. Used by admins to troubleshoot push delivery issues.
Authorization: Requires MANAGE_MEMBERS permission
Request: ListMemberDevicesRequest
Section titled “Request: ListMemberDevicesRequest”| Field | Type | Description |
|---|---|---|
user_id | string | User ID to list devices for. |
Response: ListMemberDevicesResponse
Section titled “Response: ListMemberDevicesResponse”| Field | Type | Description |
|---|---|---|
devices | DeviceSummary[] | List of device summaries. |
Device Message
Section titled “Device Message”| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
device_id | string | Client-provided device ID. |
push_token | string | Push token. |
platform | Platform | Device platform. |
app_version | string | Application version. |
is_active | bool | Whether the device is active. |
created_at | Timestamp | Registration timestamp. |
updated_at | Timestamp | Last update timestamp. |