Jump to Content
Dotdigital Enterprise Communications APIEnterprise Communications APIGet StartedReference
HomeGet StartedReference
Enterprise Communications APIGet StartedReferenceSelect ProductPortalLog InDotdigital Enterprise Communications API
Reference
Select ProductPortalLog In

Enterprise Communications API

  • Enterprise Communications API overview
    • Call the Enterprise Communications API
    • Address your messages
    • Message sending across channels
    • Custom messages
    • Multi-part messages
    • Templates
    • Channel selection
    • Additional options
    • Message send response
    • Inbound messages and receipts
  • Channels
    • SMS
    • MMS
    • Push
    • WhatsApp
    • Facebook
    • App messaging
    • Custom channels
  • Branch

Webhooks

  • Webhooks
    • Message events
    • Profile events
    • Facebook events
    • App messaging: Conversation events
    • App messaging: Message events
    • App messaging: Session events
    • Chat events
    • Chat: Message events
    • Chat: Presence events

App Messaging

  • App Messaging Overview
  • Android
    • Install the SDK
    • Initialise
    • Start session
    • Client APIs
    • Listen to events
    • Push messages
    • Messaging service
    • Profile service
  • iOS
    • Install the SDK
    • Initialise
    • Start session
    • Push messages
    • Listen to events
    • Client APIs
    • Profile services
    • Messaging services
  • JavaScript
    • Install the SDK
    • Initialise
    • Create conversation
    • Send message
    • Query conversations
    • Query conversation messages
    • Query events
    • Websocket events
    • Message status updates
    • Profile API
    • Typescript
  • Cordova

Chat

  • Chat API
  • Web chat widget
  • Android Chat
    • Install the SDK
    • Initialise
    • Chat store
    • Start session
    • Client APIs
    • Listen to events
    • Messaging service
    • Profile service
  • JavaScript chat
    • Install the chat SDK
    • Initialise the Chat SDK
    • Chat conversation store
    • Chat client APIs
    • Chat client events
    • Chat client messaging service
  • iOS Chat
    • Install the SDK
    • Initialise
    • Chat store
    • Start session
    • Profile services
    • Messaging services
    • Listen to events
    • Client APIs

SMS

  • SMS API overview
  • SMS Reference
    • SMS encoding
    • SMS message segmentation
    • SMS message statuses

Verify

  • Verify API
  • Create and send a code
  • Validate code
  • Error codes

Enterprise Communications Message API

  • /apispaces/{apiSpaceId}/messages/{messageId}/statuses/{status}
    • Posts a status for a messagepost
  • /apispaces/{apiSpaceId}/messages/{messageId}
    • Retrieves the current state of a specific message.get
    • Deletes a Messagedelete
    • Patches a Messagepatch
  • /apispaces/{apiSpaceId}/messages
    • Send a new messagepost
  • /apispaces/{apiSpaceId}/messages/batch
    • Send a batch of new messagespost
  • /apispaces/{apiSpaceId}/messages/inbounds
    • Posts an inbound messagepost
  • /apispaces/{apiSpaceId}/messages/inbounds/{inboundMessageId}/statuses/{status}
    • Posts a status for an inboundpost

Message History API

  • /apispaces/{apiSpaceId}/profiles/{profileId}/messages
    • Retrieves message history for the specified profile. Messages retrieved from the date spacified (default now), in descending time order.get

Content API

  • /apispaces/{apiSpaceId}/content/{fileId}
    • Retrieve a fileget

Profile API

  • /apispaces/{apiSpaceId}/profiles/export
    • Exports the result of a profile query in a formatted file for downloadpost
  • /apispaces/{apiSpaceId}/profiles/bulk
    • Deletes the requested profilesdelete
    • Creates or updates the supplied profiles with the supplied datapatch
  • /apispaces/{apiSpaceId}/profiles/{id}
    • Retrieves a Profileget
    • Updates or undeletes a Profileput
    • Deletes a Profiledelete
    • Patches a Profilepatch
  • /apispaces/{apiSpaceId}/profiles/{id}/optin
    • Set profile opt in for specified channelsput
    • Set profile opt in for specified channelsdelete
  • /apispaces/{apiSpaceId}/profiles/{id}/rels/primary/{linkedId}
    • Creates a relationship where the linked profile is the primary and this profile is a childput
    • Deletes the profile's relationship to a primary profiledelete
  • /apispaces/{apiSpaceId}/profiles/{id}/rels/link/{linkedId}
    • Creates a relationship where this profile is the primary and the linked profile is a childput
    • Deletes the primary profile's relationship to a linked Profiledelete
  • /apispaces/{apiSpaceId}/profiles/{id}/devices/{deviceId}
    • Removes device from profile and closes related opened sessionsdelete
  • /apispaces/{apiSpaceId}/profiles/devices/push/validation
    • Retrieves push capabilities summarypost
  • /apispaces/{apiSpaceId}/profiles
    • Query profilesget
    • Creates a new Profilepost
  • /apispaces/{apiSpaceId}/profiles/import
    • Start the import processpost
  • /apispaces/{apiSpaceId}/profiles/optin
    • Gets default profiles opt in/out options for each channel in channel serviceget
    • Set default profiles opt in/out options for each channel in channel serviceput
  • /apispaces/{apiSpaceId}/profiles/import/{id}/duplicates
    • Get information about duplicated profilesget
  • /apispaces/{apiSpaceId}/profiles/import/{id}/start
    • Start the import processput
  • /apispaces/{apiSpaceId}/audiences/{id}
    • Retrieves an audienceget
    • Updates an audienceput
    • Deletes an audiencedelete
  • /apispaces/{apiSpaceId}/audiences
    • Query audienceget
    • Creates a new audiencepost

Conversation API

  • /apispaces/{apiSpaceId}/conversations/{conversationId}
    • Retrieves a conversationget
    • Updates a conversationput
    • Deletes a conversationdelete
  • /apispaces/{apiSpaceId}/conversations
    • Retrieves a list of conversationsget
    • Creates a new conversationpost
  • /apispaces/{apiSpaceId}/conversations/{conversationId}/typing
    • Indicates that the caller is typing in this conversationpost
    • Indicates that the caller has stopped typing in this conversationdelete
  • /apispaces/{apiSpaceId}/conversations/{conversationId}/participants
    • Retrieves the conversation participantsget
    • Adds a list of participants to a conversationpost
    • Deletes a list of participants from a conversationdelete

Conversation Message API

  • /apispaces/{apiSpaceId}/conversations/{conversationId}/events
    • Retrieves a conversation's eventsget
  • /apispaces/{apiSpaceId}/conversations/{conversationId}/messages
    • Retrieves a conversation's messages from an point (event) in time and works backwardsget
    • Sends a message to conversationpost
  • /apispaces/{apiSpaceId}/conversations/{conversationId}/messages/statusupdates
    • Posts message updates backpost

Analytics API

  • /apispaces/{apiSpaceId}/analytics/conversationmessages
    • Retrieves conversation message analyticsget
  • /apispaces/{apiSpaceId}/analytics/messages
    • Retrieves message analyticsget
  • /apispaces/{apiSpaceId}/analytics/sessions
    • Retrieves session analyticsget
  • /apispaces/{apiSpaceId}/analytics/sms/tracking
    • Retrieves url tracking analyticsget
  • /apispaces/{apiSpaceId}/analytics/sms/verify
    • Retrieves sms verify analyticsget
  • /apispaces/{apiSpaceId}/analytics/sms/inbound
    • Retrieves inbound SMS analyticsget
  • /apispaces/{apiSpaceId}/analytics/sms/outbound
    • Retrieves outbound SMS analyticsget

API Space Management API

  • /apispaces/{id}
    • Retrieves an API Spaceget
    • Updates an API Spaceput
    • Deletes an API spacedelete
  • /apispaces
    • Retrieves all API Spaces accessible by the current userget
    • Creates a new API Spacepost
  • /apispaces/{id}/auth
    • Retrieves an API Space's authentication configurationget
    • Updates an API Space's authentication configurationput
  • /apispaces/{id}/push
    • Retrieves an API Space's push configurationget
  • /apispaces/{id}/retention
    • Retrieves an API Space's data retention configurationget
    • Updates an API Space's data retention configurationput
  • /apispaces/{id}/push/apns
    • Updates an API Space's APNS push certificate configurationput
  • /apispaces/{id}/push/apns/{bundleId}/{environment}
    • Deletes a specific bundle from an API Space's APNS push configurationdelete
  • /apispaces/{id}/push/apns/{bundleId}/{environment}/cert
    • Retrieves a bundle's APNS certificateget
  • /apispaces/{id}/push/apnstoken
    • Updates an API Space's APNS push token configurationput
    • Deletes the APNS push token configuration from an API Space's APNS push configurationdelete
  • /apispaces/{id}/push/apnstoken/key
    • Retrieves the APNS key file for the API Spaceget
  • /apispaces/{id}/push/fcm/v1/{package}
    • Updates an API Space's FCM push configurationput

Session API

  • /apispaces/{apiSpaceId}/sessions/tokens/anon
    • Gets a token that can be used to start an anonymous sessionget
  • /apispaces/{apiSpaceId}/sessions/{id}
    • Retrieves details about a sessionget
    • Ends a session, revoking access to services.delete

Billing API

  • /accounts/{accountId}/tariff
    • Retrieves an account's tariffget

Webhook API

  • /apispaces/{apiSpaceId}/webhooks
    • Retrieves a webhook configurationget
    • Create a webhook configurationpost
  • /apispaces/{apiSpaceId}/webhooks/availableevents
    • Retrieves a webhook available eventsget
  • /apispaces/{apiSpaceId}/accesstokens/availabletemplates
    • Gets a list of available events templates that the caller can use when creating webhookget
  • /apispaces/{apiSpaceId}/webhooks/{webhookId}
    • Retrieves a webhook configurationget
    • Updates a webhook configurationput
    • Deletes a webhook configurationdelete

Chat API

  • /apispaces/{apiSpaceId}/chats/{chatId}
    • Retrieves a chatget
    • Updates a chatput
    • Deletes a chatdelete
  • /apispaces/{apiSpaceId}/chats/{chatId}/assign
    • Assigns a chatput
  • /apispaces/{apiSpaceId}/chats/{chatId}/close
    • Closes a chatput
  • /apispaces/{apiSpaceId}/chats/{chatId}/channel
    • Changes the channel for an existing chatput
  • /apispaces/{apiSpaceId}/chats/{chatId}/form
    • Sends a form to a chatpost
  • /apispaces/{apiSpaceId}/chats
    • Retrieves a list of chatsget
    • Creates a new chatpost
  • /apispaces/{apiSpaceId}/chats/{chatId}/typing
    • Indicates that the caller is typing in this chatpost
    • Indicates that the caller has stopped typing in this chatdelete
  • /apispaces/{apiSpaceId}/chats/{chatId}/participants
    • Retrieves the chat participantsget

Chat Message API

  • /apispaces/{apiSpaceId}/chats/{chatId}/events
    • Retrieves a chat's eventsget
  • /apispaces/{apiSpaceId}/chats/{chatId}/messages
    • Retrieves a chat's messages from an point (event) in time and works backwardsget
    • Sends a message to chatpost
  • /apispaces/{apiSpaceId}/chats/{chatId}/messages/statusupdates
    • Posts message updates backpost

Chat Config API

  • /apispaces/{apiSpaceId}/chat/config
    • Retrieves the chat configuration for an apiSpaceget
  • /apispaces/{apiSpaceId}/chat/config/teams/{teamId}
    • Retrieves the members of a teamget
    • Removes the config for a teamdelete
  • /apispaces/{apiSpaceId}/chat/config/teams/{teamId}/sms
    • Update the SMS config for a teamput
    • Removes the SMS config for a teamdelete
  • /apispaces/{apiSpaceId}/chat/config/teams/{teamId}/fbMessenger
    • Update the Facebook Messenger config for a teamput
    • Removes the Facebook Messenger config for a teamdelete
  • /apispaces/{apiSpaceId}/chat/config/teams/{teamId}/appMessaging
    • Update the App Messaging config for a teamput
    • Removes the App Messaging config for a teamdelete
  • /apispaces/{apiSpaceId}/chat/config/teams/{teamId}/email
    • Update the email config for a teamput
    • Removes the email config for a teamdelete
  • /apispaces/{apiSpaceId}/chat/config/teams/{teamId}/settings
    • Update general settings for a teamput
    • Removes the settings for a teamdelete

Partner / Reseller API

  • Partner/Reseller API Overview
  • Accounts
    • Add Accountpost
    • Get Accountspost
    • Get Account Detailspost
    • Update Account Detailspost
    • Delete Accountpost
    • Get Market Sectorspost
  • Users
    • Get Userspost
    • Get User Detailspost
    • Update User Detailspost
    • Password Resetpost
    • Delete Userpost
    • Undelete Userpost
    • Add User to Accountpost
  • Billing
    • Get Chargeable Activitypost
    • Get Account Creditpost
    • Adjust Creditpost
    • Add Creditpost
    • Get Account Credit Bundlespost
  • Security
    • Get Available Rolespost
    • Get Default Rolespost
    • Set Default Rolespost
    • Get User Rolespost
    • Add Role to Userpost
    • Remove Role from Userpost
  • Numbers
    • Get Inbound Numberspost
    • Allocate Inbound Numberpost
    • Deallocate Inbound Numberpost

Authentication

  • Authenticatepost

Reference

  • MIME Types

iOS

The following sections will take you through using the App Messaging Foundation iOS SDK, available on GitHub:

comapi/comapi-sdk-ios-objc
github.comgithub.com
comapi/comapi-sdk-ios-objc