InboxService
Provides mobile inbox functionality — delta synchronization, read tracking, and message retrieval.
Methods
Section titled “Methods”| Method | Description |
|---|---|
Sync | Synchronize the inbox with delta or full refresh |
MarkRead | Mark a message as read |
GetMessage | Get a specific message by delivery ID |
Synchronize the user’s inbox. Returns entries modified since the provided cursor timestamp.
Authorization: Authenticated user
Request: SyncRequest
Section titled “Request: SyncRequest”| Field | Type | Description |
|---|---|---|
cursor | Timestamp | Return entries modified after this timestamp. Omit for full sync. |
limit | int32 | Maximum entries to return. 1–100, default 50. |
full_refresh | bool | Force a full refresh instead of delta sync. |
Response: SyncResponse
Section titled “Response: SyncResponse”| Field | Type | Description |
|---|---|---|
entries | InboxEntry[] | Inbox entries (new or modified). |
cursor | Timestamp | Updated cursor for the next sync. |
has_more | bool | Whether more entries are available. |
InboxEntry
Section titled “InboxEntry”| Field | Type | Description |
|---|---|---|
delivery_id | string | Delivery ID (primary key). |
message | Message | The rendered message content. |
status | DeliveryStatus | Current delivery status. |
received_at | Timestamp | When the entry was received. |
read_at | Timestamp | When the entry was read. |
Example
Section titled “Example”TypeScript (Connect-Web)
// Initial syncconst initial = await inboxClient.sync({ limit: 50, fullRefresh: true,});
// Delta syncconst delta = await inboxClient.sync({ cursor: initial.cursor, limit: 50,});Go (gRPC)
// Initial syncinitial, err := inboxClient.Sync(ctx, &pidgrv1.SyncRequest{ Limit: 50, FullRefresh: true,})
// Delta syncdelta, err := inboxClient.Sync(ctx, &pidgrv1.SyncRequest{ Cursor: initial.Cursor, Limit: 50,})MarkRead
Section titled “MarkRead”Mark a message as read. This is analytics-only — it does not affect workflow progression.
Authorization: Authenticated user
Request: MarkReadRequest
Section titled “Request: MarkReadRequest”| Field | Type | Description |
|---|---|---|
delivery_id | string | Delivery ID to mark as read. |
Response: MarkReadResponse
Section titled “Response: MarkReadResponse”Empty response on success.
GetMessage
Section titled “GetMessage”Get a specific message by delivery ID.
Authorization: Authenticated user (must be the recipient)
Request: GetMessageRequest
Section titled “Request: GetMessageRequest”| Field | Type | Description |
|---|---|---|
delivery_id | string | Delivery ID. |
Response: GetMessageResponse
Section titled “Response: GetMessageResponse”| Field | Type | Description |
|---|---|---|
entry | InboxEntry | The inbox entry with message content. |