Javascript API: Objects

CustomEvent

interface CustomEvent<EventDetail> {
  detail: EventDetail
}

MessageEvent

interface MessageEvent {
  direction: "INBOUND" | "OUTBOUND";
  messageId: string;
  conversationId: string;
  browserContextId: string;
  senderId: string | null;
  sentAt: string;
}

ConversationEvent

interface ConversationEventParticipant {
  isCurrent: boolean;
  lastMessageAt: string | null;
  user: {
    id: string;
  };
}

interface ConversationEvent {
  conversationId: string;
  browserContextId: string;
  status: "OPEN" | "CLOSED" | "BLOCKED";
  participants: ConversationEventParticipant[];
}

WidgetInitialState

interface WidgetInitialState {
  open: boolean;
  availability: "available_for_chat" | "available_for_async_message" | "unavailable";
  conversationStatus: "active" | "inactive";
}