:hamster: Crisp API Golang Wrapper
The Crisp API Golang wrapper. Authenticate, send messages, fetch conversations, access your agent accounts from your Go code.
Copyright 2025 Crisp IM SAS. See LICENSE for copying information.
You may follow the REST API Quickstart guide, which will get you running with the REST API in minutes.
import "github.com/crisp-im/go-crisp-api/crisp/v3"
Construct a new Crisp client, then use the various services on the client to
access different parts of the Crisp API. For example:
client := crisp.New()
// List plugin subscriptions for website
subscriptions, _, err := client.Plugin.ListSubscriptionsForWebsite("5d02a3ef-ea86-47b8-a6eb-809f787abab5")
To authenticate against the API, obtain your authentication token keypair by following the REST API Authentication guide. You’ll get a token keypair made of 2 values.
Keep your token keypair values private, and store them safely for long-term use.
Then, add authentication parameters to your client
instance right after you create it:
client := crisp.New()
// Authenticate to API with your plugin token (identifier, key)
// eg. client.AuthenticateTier("plugin", "43f34724-9eeb-4474-9cec-560250754dec", "d12e60c5d2aa264b90997a641b6474ffd6602b66d8e8abc49634c404f06fa7d0")
client.AuthenticateTier("plugin", identifier, key)
// Now, you can use authenticated API sections.
All the available Crisp API resources are fully implemented. Programmatic methods names are named after their label name in the REST API Reference.
All methods that you will most likely need when building a Crisp integration are prefixed with a star symbol (⭐).
⚠️ Note that, depending on your authentication token tier, which is either user
or plugin
, you may not be allowed to use all methods from the library. When in doubt, refer to the library method descriptions below. Most likely, you are using a plugin
token.
In the following method prototypes, crisp
is to be replaced with your Crisp API instance. For example, instanciate client := crisp.New()
and then call eg: client.Website.ListWebsiteOperators(websiteID)
.
When calling a method that writes data to the API (eg: client.Website.CreateWebsite()
), you need to build an account instance and submit it this way:
websiteData := crisp.WebsiteCreate{
Name: "Acme Inc.",
Domain: "acme-inc.com",
}
client.Website.CreateWebsite(websiteData)
Refer directly to the library source code to know more about those structures.
user
, plugin
]: Referenceclient.Bucket.GenerateBucketURL(bucketData BucketURLRequest) (*Response, error)
user
]: Referenceclient.Media.ListAnimationMedias(pageNumber uint, listID int, searchQuery string) (*Response, error)
user
, plugin
]: Referenceclient.Website.CheckWebsiteExists(domain string) (*Response, error)
user
]: Referenceclient.Website.CreateWebsite(websiteData WebsiteCreate) (*Website, *Response, error)
user
, plugin
]: Referenceclient.Website.GetWebsite(websiteID string) (*Website, *Response, error)
user
]: Referenceclient.Website.DeleteWebsite(websiteID string, verify WebsiteRemoveVerify) (*Response, error)
user
]: Referenceclient.Website.AbortWebsiteDeletion(websiteID string) (*Response, error)
user
]: Referenceclient.Website.BatchResolveConversations(websiteID string, operation WebsiteBatchConversationsOperation) (*Response, error)
user
]: Referenceclient.Website.BatchReadConversations(websiteID string, operation WebsiteBatchConversationsOperation) (*Response, error)
user
]: Referenceclient.Website.BatchRemoveConversations(websiteID string, operation WebsiteBatchConversationsOperation) (*Response, error)
user
]: Referenceclient.Website.BatchRemovePeople(websiteID string, people WebsiteBatchPeopleOperationInner) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetWebsiteAvailabilityStatus(websiteID string) (*WebsiteAvailabilityStatus, *Response, error)
user
, plugin
]: Referenceclient.Website.ListWebsiteOperatorAvailabilities(websiteID string) (*[]WebsiteAvailabilityOperator, *Response, error)
user
, plugin
]: Referenceclient.Website.ListWebsiteOperators(websiteID string) (*[]WebsiteOperatorListOne, *Response, error)
user
, plugin
]: Referenceclient.Website.ListLastActiveWebsiteOperators(websiteID string) (*[]WebsiteOperatorsLastActiveListOne, *Response, error)
user
]: Referenceclient.Website.FlushLastActiveWebsiteOperators(websiteID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.SendEmailToWebsiteOperators(websiteID string, email WebsiteOperatorEmail) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetWebsiteOperator(websiteID string, userID string) (*WebsiteOperator, *Response, error)
user
]: Referenceclient.Website.InviteWebsiteOperator(websiteID string, email string, role string, verify WebsiteOperatorInviteVerify) (*Response, error)
user
]: Referenceclient.Website.ChangeOperatorMembership(websiteID string, userID string, role string, title *string) (*Response, error)
user
]: Referenceclient.Website.UnlinkOperatorFromWebsite(websiteID string, userID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetVerifySettings(websiteID string) (*WebsiteVerifySettings, *Response, error)
user
, plugin
]: Referenceclient.Website.UpdateVerifySettings(websiteID string, settings WebsiteVerifySettingsUpdate) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetVerifyKey(websiteID string) (*WebsiteVerifyKey, *Response, error)
user
, plugin
]: Referenceclient.Website.RollVerifyKey(websiteID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.CountVisitors(websiteID string) (*WebsiteVisitorCount, *Response, error)
user
, plugin
]: Referenceclient.Website.ListVisitors(websiteID string, pageNumber uint) (*[]WebsiteVisitor, *Response, error)
user
, plugin
]: Referenceclient.Website.PinpointVisitorsOnMapWide(websiteID string) (*[]WebsiteVisitorsMapPoint, *Response, error)
user
, plugin
]: Referenceclient.Website.PinpointVisitorsOnMapArea(websiteID string, centerLongitude float32, centerLatitude float32, centerRadius uint) (*[]WebsiteVisitorsMapPoint, *Response, error)
user
, plugin
]: Referenceclient.Website.GetSessionIdentifierFromToken(websiteID string, tokenID string) (*WebsiteVisitorsToken, *Response, error)
user
]: Referenceclient.Website.CountBlockedVisitors(websiteID string) (*[]WebsiteVisitorsBlocked, *Response, error)
user
]: Referenceclient.Website.CountBlockedVisitorsInRule(websiteID string, rule string) (*WebsiteVisitorsBlocked, *Response, error)
user
]: Referenceclient.Website.ClearBlockedVisitorsInRule(websiteID string, rule string) (*Response, error)
user
]: Referenceclient.Website.ListCampaigns(websiteID string, pageNumber uint) (*[]WebsiteCampaignExcerpt, *Response, error)
user
]: Referenceclient.Website.FilterCampaigns(websiteID string, pageNumber uint, searchName string, filterTag string, filterTypeOneShot bool, filterTypeAutomated bool, filterStatusNotConfigured bool, filterStatusReady bool, filterStatusPaused bool, filterStatusSending bool, filterStatusDone bool) (*[]WebsiteCampaignExcerpt, *Response, error)
user
]: Referenceclient.Website.ListCampaignTags(websiteID string) (*[]string, *Response, error)
user
, plugin
]: Referenceclient.Website.ListCampaignTemplates(websiteID string, pageNumber uint) (*[]WebsiteCampaignTemplateExcerpt, *Response, error)
user
, plugin
]: Referenceclient.Website.FilterCampaignTemplates(websiteID string, pageNumber uint, searchName string, filterTypeStatic bool, filterTypeCustom bool) (*[]WebsiteCampaignTemplateExcerpt, *Response, error)
user
, plugin
]: Referenceclient.Website.CreateNewCampaignTemplate(websiteID string, templateFormat string, templateName string) (*WebsiteCampaignTemplateNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckCampaignTemplateExists(websiteID string, templateID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetCampaignTemplate(websiteID string, templateID string) (*WebsiteCampaignTemplateItem, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveCampaignTemplate(websiteID string, templateID string, websiteCampaignTemplateItem WebsiteCampaignTemplateItem) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateCampaignTemplate(websiteID string, templateID string, websiteCampaignTemplateItem WebsiteCampaignTemplateItem) (*Response, error)
user
, plugin
]: Referenceclient.Website.RemoveCampaignTemplate(websiteID string, templateID string) (*Response, error)
user
]: Referenceclient.Website.CreateNewCampaign(websiteID string, campaignType string, campaignName string) (*WebsiteCampaignNew, *Response, error)
user
]: Referenceclient.Website.CheckCampaignExists(websiteID string, campaignID string) (*Response, error)
user
]: Referenceclient.Website.GetCampaign(websiteID string, campaignID string) (*WebsiteCampaignItem, *Response, error)
user
]: Referenceclient.Website.SaveCampaign(websiteID string, campaignID string, websiteCampaignItem WebsiteCampaignItem) (*Response, error)
user
]: Referenceclient.Website.UpdateCampaign(websiteID string, campaignID string, websiteCampaignItem WebsiteCampaignItem) (*Response, error)
user
]: Referenceclient.Website.RemoveCampaign(websiteID string, campaignID string) (*Response, error)
user
]: Referenceclient.Website.DispatchCampaign(websiteID string, campaignID string) (*Response, error)
user
]: Referenceclient.Website.ResumeCampaign(websiteID string, campaignID string) (*Response, error)
user
]: Referenceclient.Website.PauseCampaign(websiteID string, campaignID string) (*Response, error)
user
]: Referenceclient.Website.TestCampaign(websiteID string, campaignID string) (*Response, error)
user
]: Referenceclient.Website.ListCampaignRecipients(websiteID string, campaignID string, pageNumber uint) (*[]WebsiteCampaignRecipient, *Response, error)
user
]: Referenceclient.Website.ListCampaignStatistics(websiteID string, campaignID string, action string, pageNumber uint) (*[]WebsiteCampaignStatistic, *Response, error)
user
, plugin
]: Referenceclient.Website.ListConversations(websiteID string, pageNumber uint) (*[]Conversation, *Response, error)
user
, plugin
]: Referenceclient.Website.SearchConversations(websiteID string, pageNumber uint, searchQuery string, searchType string) (*[]Conversation, *Response, error)
user
, plugin
]: Referenceclient.Website.FilterConversations(websiteID string, pageNumber uint, filterInboxID string, filterUnread bool, filterResolved bool, filterNotResolved bool, filterMention bool, filterAssigned bool, filterUnassigned bool) (*[]Conversation, *Response, error)
user
, plugin
]: Referenceclient.Website.ListSuggestedConversationSegments(websiteID string, pageNumber uint) (*[]ConversationSuggestedSegment, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteSuggestedConversationSegment(websiteID string, segment string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListSuggestedConversationDataKeys(websiteID string, pageNumber uint) (*[]ConversationSuggestedData, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteSuggestedConversationDataKey(websiteID string, key string) (*Response, error)
user
]: Referenceclient.Website.ListSpamConversations(websiteID string, pageNumber uint) (*[]ConversationSpam, *Response, error)
user
]: Referenceclient.Website.ResolveSpamConversationContent(websiteID string, spamID string) (*ConversationSpamContent, *Response, error)
user
]: Referenceclient.Website.SubmitSpamConversationDecision(websiteID string, spamID string, action string) (*Response, error)
user
, plugin
]: Referenceclient.Website.CreateNewConversation(websiteID string) (*ConversationNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckConversationExists(websiteID string, sessionID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetConversation(websiteID string, sessionID string) (*Conversation, *Response, error)
user
, plugin
]: Referenceclient.Website.RemoveConversation(websiteID string, sessionID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.InitiateConversationWithExistingSession(websiteID string, sessionID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetMessagesInConversationLast(websiteID string, sessionID string) (*[]ConversationMessage, *Response, error)
user
, plugin
]: Referenceclient.Website.GetMessagesInConversationBefore(websiteID string, sessionID string, timestampBefore uint) (*[]ConversationMessage, *Response, error)
user
, plugin
]: Referenceclient.Website.SendTextMessageInConversation(websiteID string, sessionID string, message ConversationTextMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendFileMessageInConversation(websiteID string, sessionID string, message ConversationFileMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendAnimationMessageInConversation(websiteID string, sessionID string, message ConversationAnimationMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendAudioMessageInConversation(websiteID string, sessionID string, message ConversationAudioMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendPickerMessageInConversation(websiteID string, sessionID string, message ConversationPickerMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendFieldMessageInConversation(websiteID string, sessionID string, message ConversationFieldMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendCarouselMessageInConversation(websiteID string, sessionID string, message ConversationCarouselMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendNoteMessageInConversation(websiteID string, sessionID string, message ConversationNoteMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.SendEventMessageInConversation(websiteID string, sessionID string, message ConversationEventMessageNew) (*ConversationMessageDispatched, *Response, error)
user
, plugin
]: Referenceclient.Website.GetMessageInConversation(websiteID string, sessionID string, fingerprint int) (*ConversationMessage, *Response, error)
user
, plugin
]: Referenceclient.Website.UpdateTextMessageInConversation(websiteID string, sessionID string, fingerprint int, content string) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateFileMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationFileMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateAnimationMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationAnimationMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateAudioMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationAudioMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdatePickerMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationPickerMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateFieldMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationFieldMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateCarouselMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationCarouselMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateNoteMessageInConversation(websiteID string, sessionID string, fingerprint int, content string) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateEventMessageInConversation(websiteID string, sessionID string, fingerprint int, content ConversationEventMessageNewContent) (*Response, error)
user
, plugin
]: Referenceclient.Website.RemoveMessageInConversation(websiteID string, sessionID string, fingerprint int) (*Response, error)
user
, plugin
]: Referenceclient.Website.ComposeMessageInConversation(websiteID string, sessionID string, compose ConversationComposeMessageNew) (*Response, error)
user
, plugin
]: Referenceclient.Website.MarkMessagesReadInConversation(websiteID string, sessionID string, read ConversationReadMessageMark) (*Response, error)
user
, plugin
]: Referenceclient.Website.MarkConversationAsUnread(websiteID string, sessionID string, unread ConversationUnreadMessageMark) (*Response, error)
user
, plugin
]: Referenceclient.Website.MarkMessagesDeliveredInConversation(websiteID string, sessionID string, delivered ConversationDeliveredMessageMark) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateConversationOpenState(websiteID string, sessionID string, opened bool) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetConversationRoutingAssign(websiteID string, sessionID string) (*ConversationRoutingAssign, *Response, error)
user
, plugin
]: Referenceclient.Website.AssignConversationRouting(websiteID string, sessionID string, assign ConversationRoutingAssignUpdate) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateConversationInbox(websiteID string, sessionID string, inboxID *string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetConversationMetas(websiteID string, sessionID string) (*ConversationMeta, *Response, error)
user
, plugin
]: Referenceclient.Website.UpdateConversationMetas(websiteID string, sessionID string, metas ConversationMetaUpdate) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetOriginalMessageInConversation(websiteID string, sessionID string, originalID string) (*ConversationOriginal, *Response, error)
user
, plugin
]: Referenceclient.Website.ListConversationPages(websiteID string, sessionID string, pageNumber uint) (*[]ConversationPage, *Response, error)
user
, plugin
]: Referenceclient.Website.ListConversationEvents(websiteID string, sessionID string, pageNumber uint) (*[]ConversationEvent, *Response, error)
user
, plugin
]: Referenceclient.Website.ListConversationFiles(websiteID string, sessionID string, pageNumber uint) (*[]ConversationFile, *Response, error)
user
, plugin
]: Referenceclient.Website.GetConversationState(websiteID string, sessionID string) (*ConversationState, *Response, error)
user
, plugin
]: Referenceclient.Website.ChangeConversationState(websiteID string, sessionID string, state string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetConversationParticipants(websiteID string, sessionID string) (*ConversationParticipants, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveConversationParticipants(websiteID string, sessionID string, participants ConversationParticipantsSave) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetBlockStatusForConversation(websiteID string, sessionID string) (*ConversationBlock, *Response, error)
user
, plugin
]: Referenceclient.Website.BlockIncomingMessagesForConversation(websiteID string, sessionID string, blocked bool) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetVerifyStatusForConversation(websiteID string, sessionID string) (*ConversationVerify, *Response, error)
user
, plugin
]: Referenceclient.Website.UpdateVerifyStatusForConversation(websiteID string, sessionID string, verified bool) (*Response, error)
user
, plugin
]: Referenceclient.Website.RequestEmailTranscriptForConversation(websiteID string, sessionID string, to string, email string) (*Response, error)
user
, plugin
]: Referenceclient.Website.RequestChatboxBindingPurgeForConversation(websiteID string, sessionID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.RequestUserFeedbackForConversation(websiteID string, sessionID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListBrowsingSessionsForConversation(websiteID string, sessionID string) (*[]ConversationBrowsing, *Response, error)
user
, plugin
]: Referenceclient.Website.InitiateBrowsingSessionForConversation(websiteID string, sessionID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.SendActionToExistingBrowsingSession(websiteID string, sessionID string, browsingID string, action string) (*Response, error)
user
, plugin
]: Referenceclient.Website.AssistExistingBrowsingSession(websiteID string, sessionID string, browsingID string, assist ConversationBrowsingAssist) (*Response, error)
user
, plugin
]: Referenceclient.Website.InitiateNewCallSessionForConversation(websiteID string, sessionID string) (*ConversationCall, *Response, error)
user
, plugin
]: Referenceclient.Website.GetOngoingCallSessionForConversation(websiteID string, sessionID string) (*ConversationCall, *Response, error)
user
, plugin
]: Referenceclient.Website.AbortOngoingCallSessionForConversation(websiteID string, sessionID string, callID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.TransmitSignalingOnOngoingCallSession(websiteID string, sessionID string, callID string, payload ConversationCallSignalingPayload) (*Response, error)
user
]: Referenceclient.Website.DeliverWidgetButtonActionForConversation(websiteID string, sessionID string, pluginID string, sectionID string, itemID string, data interface{}, value *interface{}) (*ConversationWidgetAction, *Response, error)
user
]: Referenceclient.Website.DeliverWidgetDataFetchActionForConversation(websiteID string, sessionID string, pluginID string, sectionID string, itemID string, data interface{}) (*ConversationWidgetAction, *Response, error)
user
]: Referenceclient.Website.DeliverWidgetDataEditActionForConversation(websiteID string, sessionID string, pluginID string, sectionID string, itemID string, value string) (*ConversationWidgetAction, *Response, error)
user
, plugin
]: Referenceclient.Website.ScheduleReminderForConversation(websiteID string, sessionID string, date string, note string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ReportConversation(websiteID string, sessionID string, flag string) (*Response, error)
user
]: Referenceclient.Website.GenerateAnalytics(websiteID string, query AnalyticsGenerateQuery) (*[]WebsiteAnalyticsGeneratePoint, *Response, error)
user
, plugin
]: Referenceclient.Website.GetPeopleStatistics(websiteID string) (*PeopleStatistics, *Response, error)
user
, plugin
]: Referenceclient.Website.ListSuggestedPeopleSegments(websiteID string, pageNumber uint) (*[]PeopleSuggestedSegment, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteSuggestedPeopleSegment(websiteID string, segment string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListSuggestedPeopleDataKeys(websiteID string, pageNumber uint) (*[]PeopleSuggestedData, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteSuggestedPeopleDataKey(websiteID string, key string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListSuggestedPeopleEvents(websiteID string, pageNumber uint) (*[]PeopleSuggestedEvent, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteSuggestedPeopleEvent(websiteID string, text string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListPeopleProfiles(websiteID string, pageNumber uint, searchField string, searchOrder string, searchOperator string, searchFilter []PeopleFilter, searchText string) (*[]PeopleProfile, *Response, error)
user
, plugin
]: Referenceclient.Website.AddNewPeopleProfile(websiteID string, peopleProfile PeopleProfileUpdateCard) (*PeopleProfileNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckPeopleProfileExists(websiteID string, peopleID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetPeopleProfile(websiteID string, peopleID string) (*PeopleProfile, *Response, error)
user
, plugin
]: Referenceclient.Website.SavePeopleProfile(websiteID string, peopleID string, peopleProfile PeopleProfileUpdateCard) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdatePeopleProfile(websiteID string, peopleID string, peopleProfile PeopleProfileUpdateCard) (*Response, error)
user
, plugin
]: Referenceclient.Website.RemovePeopleProfile(websiteID string, peopleID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListPeopleConversations(websiteID string, peopleID string, pageNumber uint) ([]string, *Response, error)
user
, plugin
]: Referenceclient.Website.FilterPeopleConversations(websiteID string, peopleID string, pageNumber uint, filterUnread bool, filterResolved bool, filterNotResolved bool) ([]string, *Response, error)
user
]: Referenceclient.Website.ListPeopleCampaigns(websiteID string, peopleID string, pageNumber uint) (*[]PeopleCampaign, *Response, error)
user
, plugin
]: Referenceclient.Website.AddPeopleEvent(websiteID string, peopleID string, peopleEvent PeopleEventAdd) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListPeopleEvents(websiteID string, peopleID string, pageNumber uint) (*[]PeopleEvent, *Response, error)
user
, plugin
]: Referenceclient.Website.GetPeopleData(websiteID string, peopleID string) (*PeopleData, *Response, error)
user
, plugin
]: Referenceclient.Website.SavePeopleData(websiteID string, peopleID string, peopleData interface{}) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdatePeopleData(websiteID string, peopleID string, peopleData interface{}) (*Response, error)
user
, plugin
]: Referenceclient.Website.GetPeopleSubscriptionStatus(websiteID string, peopleID string) (*PeopleSubscription, *Response, error)
user
, plugin
]: Referenceclient.Website.UpdatePeopleSubscriptionStatus(websiteID string, peopleID string, peopleSubscription PeopleSubscriptionUpdate)
user
]: Referenceclient.Website.ExportPeopleProfiles(websiteID string) (*Response, error)
user
]: Referenceclient.Website.ImportPeopleProfiles(websiteID string, profileImportSetup PeopleProfileImportSetup) (*PeopleProfileImport, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskExists(websiteID string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdesk(websiteID string) (*Helpdesk, *Response, error)
user
]: Referenceclient.Website.InitializeHelpdesk(websiteID string, name string, domainBasic string) (*Response, error)
user
]: Referenceclient.Website.DeleteHelpdesk(websiteID string, verify HelpdeskRemoveVerify) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskLocales(websiteID string, pageNumber uint) (*[]HelpdeskLocale, *Response, error)
user
, plugin
]: Referenceclient.Website.AddHelpdeskLocale(websiteID string, locale string) (*Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskLocaleExists(websiteID string, locale string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocale(websiteID string, locale string) (*HelpdeskLocale, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteHelpdeskLocale(websiteID string, locale string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskLocaleArticles(websiteID string, locale string, pageNumber uint) (*[]HelpdeskLocaleArticle, *Response, error)
user
, plugin
]: Referenceclient.Website.AddNewHelpdeskLocaleArticle(websiteID string, locale string, title string) (*HelpdeskLocaleArticleNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskLocaleArticleExists(websiteID string, locale string, articleId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocaleArticle(websiteID string, locale string, articleId string) (*HelpdeskLocaleArticle, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveHelpdeskLocaleArticle(websiteID string, locale string, articleId string, article HelpdeskLocaleArticle) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateHelpdeskLocaleArticle(websiteID string, locale string, articleId string, article HelpdeskLocaleArticle) (*Response, error)
user
, plugin
]: Referenceclient.Website.DeleteHelpdeskLocaleArticle(websiteID string, locale string, articleId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocaleArticlePage(websiteID string, locale string, articleId string) (*HelpdeskLocaleArticlePage, *Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocaleArticleCategory(websiteID string, locale string, articleId string) (*HelpdeskLocaleArticleCategory, *Response, error)
user
, plugin
]: Referenceclient.Website.UpdateHelpdeskLocaleArticleCategory(websiteID string, locale string, articleId string, categoryId string, sectionId *string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskLocaleArticleAlternates(websiteID string, locale string, articleId string) (*[]HelpdeskLocaleArticleAlternate, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskLocaleArticleAlternateExists(websiteID string, locale string, articleId string, localeLinked string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocaleArticleAlternate(websiteID string, locale string, articleId string, localeLinked string) (*HelpdeskLocaleArticleAlternate, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveHelpdeskLocaleArticleAlternate(websiteID string, locale string, articleId string, localeLinked string, articleIdLinked string) (*Response, error)
user
, plugin
]: Referenceclient.Website.DeleteHelpdeskLocaleArticleAlternate(websiteID string, locale string, articleId string, localeLinked string) (*Response, error)
user
, plugin
]: Referenceclient.Website.PublishHelpdeskLocaleArticle(websiteID string, locale string, articleId string) (*HelpdeskLocaleArticlePublish, *Response, error)
user
, plugin
]: Referenceclient.Website.UnpublishHelpdeskLocaleArticle(websiteID string, locale string, articleId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskLocaleCategories(websiteID string, locale string, pageNumber uint) (*[]HelpdeskLocaleArticleCategory, *Response, error)
user
, plugin
]: Referenceclient.Website.AddHelpdeskLocaleCategory(websiteID string, locale string, name string) (*HelpdeskLocaleArticleCategoryNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskLocaleCategoryExists(websiteID string, locale string, categoryId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocaleCategory(websiteID string, locale string, categoryId string) (*HelpdeskLocaleArticleCategory, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveHelpdeskLocaleCategory(websiteID string, locale string, categoryId string, category HelpdeskLocaleArticleCategory) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateHelpdeskLocaleCategory(websiteID string, locale string, categoryId string, category HelpdeskLocaleArticleCategory) (*Response, error)
user
, plugin
]: Referenceclient.Website.DeleteHelpdeskLocaleCategory(websiteID string, locale string, categoryId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskLocaleSections(websiteID string, locale string, categoryId string, pageNumber uint) (*[]HelpdeskLocaleSection, *Response, error)
user
, plugin
]: Referenceclient.Website.AddHelpdeskLocaleSection(websiteID string, locale string, categoryId string, name string) (*HelpdeskLocaleSectionNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskLocaleSectionExists(websiteID string, locale string, categoryId string, sectionId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskLocaleSection(websiteID string, locale string, categoryId string, sectionId string) (*HelpdeskLocaleSection, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveHelpdeskLocaleSection(websiteID string, locale string, categoryId string, sectionId string, section HelpdeskLocaleSection) (*Response, error)
user
, plugin
]: Referenceclient.Website.UpdateHelpdeskLocaleSection(websiteID string, locale string, categoryId string, sectionId string, section HelpdeskLocaleSection) (*Response, error)
user
, plugin
]: Referenceclient.Website.DeleteHelpdeskLocaleSection(websiteID string, locale string, categoryId string, sectionId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.MapHelpdeskLocaleFeedbackRatings(websiteID string, locale string, filterDateStart string, filterDateEnd string) (*HelpdeskLocaleFeedbackRatings, *Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskLocaleFeedbacks(websiteID string, locale string, pageNumber uint, filterDateStart string, filterDateEnd string) (*[]HelpdeskLocaleFeedbackItem, *Response, error)
user
]: Referenceclient.Website.ImportExternalHelpdeskToLocale(websiteID string, locale string, helpdeskUrl string) (*Response, error)
user
]: Referenceclient.Website.ExportHelpdeskLocaleArticles(websiteID string, locale string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ListHelpdeskRedirections(websiteID string, pageNumber uint) (*[]HelpdeskRedirection, *Response, error)
user
, plugin
]: Referenceclient.Website.AddHelpdeskRedirection(websiteID string, redirectionPath string, redirectionTarget string) (*HelpdeskRedirectionNew, *Response, error)
user
, plugin
]: Referenceclient.Website.CheckHelpdeskRedirectionExists(websiteID string, redirectionId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskRedirection(websiteID string, redirectionId string) (*HelpdeskRedirection, *Response, error)
user
, plugin
]: Referenceclient.Website.DeleteHelpdeskRedirection(websiteID string, redirectionId string) (*Response, error)
user
, plugin
]: Referenceclient.Website.ResolveHelpdeskSettings(websiteID string) (*HelpdeskSettings, *Response, error)
user
, plugin
]: Referenceclient.Website.SaveHelpdeskSettings(websiteID string, settings HelpdeskSettings) (*Response, error)
user
]: Referenceclient.Website.ResolveHelpdeskDomain(websiteID string) (*HelpdeskDomain, *Response, error)
user
]: Referenceclient.Website.RequestHelpdeskDomainChange(websiteID string, basic *string, custom *string) (*Response, error)
user
]: Referenceclient.Website.GenerateHelpdeskDomainSetupFlow(websiteID string, custom string) (*HelpdeskDomainSetupFlow, *Response, error)
user
]: Referenceclient.Plugin.ListAllActiveSubscriptions() (*[]PluginSubscription, *Response, error)
user
]: Referenceclient.Plugin.ListSubscriptionsForWebsite(websiteID string) (*[]PluginSubscription, *Response, error)
user
, plugin
]: Referenceclient.Plugin.GetSubscriptionDetails(websiteID string, pluginID string) (*PluginSubscription, *Response, error)
user
]: Referenceclient.Plugin.SubscribeWebsiteToPlugin(websiteID string, pluginID string) (*Response, error)
user
]: Referenceclient.Plugin.UnsubscribePluginFromWebsite(websiteID string, pluginID string) (*Response, error)
user
, plugin
]: Referenceclient.Plugin.GetSubscriptionSettings(websiteID string, pluginID string) (*PluginSubscriptionSettings, *Response, error)
user
, plugin
]: Referenceclient.Plugin.SaveSubscriptionSettings(websiteID string, pluginID string, settings interface{}) (*Response, error)
user
, plugin
]: Referenceclient.Plugin.UpdateSubscriptionSettings(websiteID string, pluginID string, settings interface{}) (*Response, error)
user
, plugin
]: Referenceclient.Plugin.GetPluginUsageBills(websiteID string, pluginID string) (*Response, error)
plugin
]: Referenceclient.Plugin.ReportPluginUsageToBill(websiteID string, pluginID string, usage PluginSubscriptionBillUsageReport) (*Response, error)
user
, plugin
]: Referenceclient.Plugin.ForwardPluginPayloadToChannel(websiteID string, pluginID string, payload PluginSubscriptionChannelForward) (*Response, error)
user
, plugin
]: Referenceclient.Plugin.DispatchPluginEvent(websiteID string, pluginID string, payload PluginSubscriptionEventDispatch) (*Response, error)
plugin
]: Referenceclient.Plugin.GetConnectAccount() (*PluginConnectAccount, *Response, error)
plugin
]: Referenceclient.Plugin.CheckConnectSessionValidity() (*Response, error)
plugin
]: Referenceclient.Plugin.ListAllConnectWebsites(pageNumber uint, filterConfigured bool) (*[]PluginConnectAllWebsites, *Response, error)
plugin
]: Referenceclient.Plugin.ListConnectWebsitesSince(dateSince time.Time, filterConfigured bool) (*[]PluginConnectWebsitesSince, *Response, error)
plugin
]: Referenceclient.Plugin.GetConnectEndpoints() (*PluginConnectEndpoints, *Response, error)
You can bind to realtime events from Crisp, in order to get notified of incoming messages and updates in websites.
You won’t receive any event if you don’t explicitly subscribe to realtime events, as the library doesn’t connect to the realtime backend automatically.
There are two ways to receive realtime events:
To start listening for events and bind a handler, check out the events over Web Hooks example.
Plugin Web Hooks will need to be configured first for this to work. Check out our Web Hooks Quickstart guide and our Web Hooks Reference to get started.
To start listening for events and bind a handler, check out the events over WebSockets example.
Available events are listed below:
user
, plugin
]:session:update_availability
user
, plugin
]:session:update_verify
user
, plugin
]:session
initiated
user
, plugin
]:session:set_email
user
, plugin
]:session:set_phone
user
, plugin
]:session:set_address
user
, plugin
]:session:set_subject
user
, plugin
]:session:set_avatar
user
, plugin
]:session:set_nickname
user
, plugin
]:session:set_origin
user
, plugin
]:session:set_data
user
, plugin
]:session
pages
user
, plugin
]:session
events
user
, plugin
]:session
capabilities
user
, plugin
]:session
geolocation
user
, plugin
]:session
system
user
, plugin
]:session
network
user
, plugin
]:session
timezone
user
, plugin
]:session
locales
user
, plugin
]:session
rating
user
, plugin
]:session
topic
user
, plugin
]:session:set_state
user
, plugin
]:session:set_block
user
, plugin
]:session:set_segments
user
, plugin
]:session:set_opened
user
, plugin
]:session:set_closed
user
, plugin
]:session:set_participants
user
, plugin
]:session:set_mentions
user
, plugin
]:session:set_routing
user
, plugin
]:session:set_inbox
user
, plugin
]:session:removed
user
, plugin
]:session:error
user
, plugin
]:message:updated
user
, plugin
]:message:send/text
user
, plugin
]:message:send/file
user
, plugin
]:message:send/animation
user
, plugin
]:message:send/audio
user
, plugin
]:message:send/picker
user
, plugin
]:message:send/field
user
, plugin
]:message:send/carousel
user
, plugin
]:message:send/note
user
, plugin
]:message:send/event
user
, plugin
]:message:received/text
user
, plugin
]:message:received/file
user
, plugin
]:message:received/animation
user
, plugin
]:message:received/audio
user
, plugin
]:message:received/picker
user
, plugin
]:message:received/field
user
, plugin
]:message:received/carousel
user
, plugin
]:message:received/note
user
, plugin
]:message:received/event
user
, plugin
]:message:removed
user
, plugin
]:message
send
user
, plugin
]:message
receive
user
, plugin
]:message
read:send
user
, plugin
]:message
read:received
user
, plugin
]:message
delivered
user
, plugin
]:message
ignored
user
, plugin
]:message
unread:send
user
, plugin
]:message
unread:received
user
]:spam:message
user
]:spam:decision
user
, plugin
]:people
created
user
, plugin
]:people
updated
user
, plugin
]:people
removed
user
, plugin
]:people
session
user
, plugin
]:people
profile
user
]:people
progress
user
]:people
done
user
]:campaign:progress
user
]:campaign:dispatched
user
]:campaign:running
user
, plugin
]:browsing
initiated
user
, plugin
]:browsing
rejected
user
, plugin
]:call
initiated
user
, plugin
]:call
rejected
user
]:widget
processed
user
]:status
changed
user
, plugin
]:website:update_visitors_count
user
, plugin
]:website:update_operators_availability
user
, plugin
]:website
available
user
, plugin
]:bucket
upload:generated
user
, plugin
]:bucket
avatar:generated
user
, plugin
]:bucket
website:generated
user
, plugin
]:bucket
campaign:generated
user
, plugin
]:bucket
helpdesk:generated
user
, plugin
]:bucket
status:generated
user
, plugin
]:bucket
processing:generated
user
]:media
listed
user
, plugin
]:email:subscribe
user
, plugin
]:email
view
user
, plugin
]:plugin:channel
user
, plugin
]:plugin:event
user
, plugin
]:plugin
saved