Listing chat message events¶
Fetch chat message rows by message_type. This is a different dataset from generic events (/events + events[]).
Base URL: https://api.giosg.com/api/objectives/v1/orgs/<organization_id>
Authentication
For server-to-server calls, authenticate with a user API token: Authorization: Token <api token>. OAuth2 access tokens use Authorization: Bearer <access token> instead. How to obtain and use each: Get API token. The URL organization_id must match the authenticated organization.
Two-day window
Each request covers at most 2 days. Pages are 250 rows. To cover a longer range, walk adjacent windows and paginate each one. If cursor is sent, every other body field is ignored. Windows use collector_created_at; that field and timestamp are functionally the same (they may differ by milliseconds). Both exist for legacy reasons — a later API will use timestamp only.
Basic request¶
For typical chat reporting, filter with "msg" only — that is normal visitor/agent chat text. File attachments are still "msg".
1 2 3 4 5 6 7 8 9 | |
The other two types you might add are "join" and "leave" (someone entered or left the chat):
1 2 3 4 5 | |
The rest of the types are rarely needed. Full list: Message types.
Pagination¶
Same pattern as generic events — send only the cursor. Every other body field is ignored (window, message_types, order, and case flags included):
1 | |
Full request/response tables: Message events reference. Columns on each row: Result object.
Case management integration¶
Special-case flags
Listing chat messages does not require a case. The two flags below are optional case management integration support (default false). Use them only when you need to join messages to a giosg case. The usual listing request above is enough for chat reporting.
| Flag | Effect |
|---|---|
attach_case_data |
Add case_number and case_id on each row (null if none). |
show_only_messages_with_case |
Keep only messages that can be linked to a case (applied before the page is filled). |
1 2 3 4 5 6 | |
Join uses a case-management activity_created event for the chat (not funnel step_started / step_ended). Matching looks from 30 days before your query start through end. The newest match for a chat wins. Field tables for the extra keys: Case management integration.