ClarioDesk singleton. subscribe* methods return an
unsubscribe function; the React hooks mirror each subscription.
Lifecycle
identify writes unverified display labels. With a token or
provider it performs Verified identity. Use
clearIdentity() before verified logout/switch; reset() deprovisions only
this installation. externalId is your auth system’s stable user id
(Firebase user.uid, Clerk user.id, Auth0 user.sub) — never an auth
token, never an email;
full table.
Tickets & messages
pending: true is optimistic; failed: true means rejected, so
render tap-to-retry with retryMessage. Offline sends stay pending and
auto-flush on reconnect.
Live subscriptions
Each returns an unsubscribe function.Hooks
The same data, idiomatic for React (separate entry, no React dep in core):CSAT
Push
0.3.0+, the raw payload remains target-free and carries only an opaque
deliveryId. resolvePushTarget returns the authorized ticket/inbox after a
signed check. Custom screens can use useVisibleSupportSurface from the hooks
entry point; prebuilt UI manages visibility automatically.
See the push guide.
Attachments
Types
All types are exported:Ticket, Message, Attachment, OutgoingAttachment,
readStateOf, ClarioDeskError, and the enums above.
This surface mirrors the Flutter SDK 1:1. Same method
names, same semantics. The Swift SDK implements the
same contract in Swift idioms. If a capability behaves differently across the
SDKs, it’s a bug.