Given a scenario, describe API objects, methods, and routes.
Salesforce provides a SOAP API and REST API for external applications to access Marketing Cloud data and functionality. Both APIs provide different functionality and access to them can be managed with Marketing Cloud packages.
The SOAP API provides access to most Email Studio functionality in Marketing Cloud. It allows external applications to create and send emails, as well as to receive tracking information. This API can also be used to modify Marketing Cloud account information.
SOAP uses XML messages defined in WDSL, to exchange information between integrated applications. The API consists of objects and methods, whereby methods can be applied to different objects.
The SOAP API allows to perform requests synchronously as well as asynchronously. While synchronous API calls can include up to 50 objects, asynchronous requests support up to 100 objects. Asynchronous API calls are queued by Marketing Cloud and help to avoiding timeouts.
In summary, the SOAP API provides access to following Marketing Cloud functionalities:
The REST API provides broader access to Marketing Cloud than the SOAP API. It is not limited to Email Studio functionalities, but is also integrated with newer Marketing Cloud applications such as Journey Builder.
REST uses JSON messages and standard HTTP requests to exchange information between integrated applications.
REST API calls are synchronous and timeout after 300 seconds for data-retrieval operations, and after 120 for all other requests. The payload size of REST API requests is limited to 4 megabytes.
In summary, the REST API provides access to following Marketing Cloud functionalities:
The Marketing Cloud REST API can be broken down into application-specific APIs for Content Builder, Event Notifications, Journey Builder, GroupConnect, MobileConnect, Personalization Builder, Transactional Messaging.
Content Builder is a cross-channel application to create and store marketing content in Marketing Cloud. The Content Builder API can be used to create, update, delete, query for, and publish assets in the Content Builder repository.
The Event Notification Service (ENS) API can be used to receive notifications when platform events occur in Marketing Cloud. This allows external applications to respond to event occurring in Marketing Cloud, such as log ins, password reset requests, email send errors, etc.
The Journey Builder API can be used to programatically create event-driven and personalized campaigns across channels. Custom events and activities can be built to extend the out-of-the-box features available in the Journey Builder application.
The GroupConnect Chat Messaging API can be used to send event-driven outbound messages to Facebook Messenger and LINE.
The MobileConnect API can be used to send event-driven outbound SMS to Subscriber or Lists. It can further be used to programatically opt-in Subscribers to keywords.
The Personalization Builder API can be used to update the data used by Einstein Recommendations to personalize messages, manage consumer privacy requests, and retrieve a report listing the count of email recommendations.
The Transactional Messaging API can be used to send personalized transactional email and SMS messages. By using the Event Notification Service API, immediate feedback about the transactional messages can be retrieved.
Transactional messages sent using the Transactional Messaging API differ from triggered sends within the Email Studio and MobileConnect applications. The Transactional Messaging API provides better scalability and faster send performance. It is not compatible with triggered send definitions created in Email Studio or MobileConnect.
Marketing Cloud packages allow to manage integrations from external applications towards Marketing Cloud. A package consists of one or more component providing access to Marketing Cloud functionality.
Following types of components can be added to a package:
The API Integration component allows to provision access to the Marketing Cloud SOAP and REST API. The component generates endpoints and authentication credentials for external applications. Only one API Integration component can be added per package. Once added it cannot be removed without deleting the whole package.
A Marketing Cloud App is an external application which can be displayed in Marketing Cloud using an iFrame. Marketing Cloud Apps can be accessed from a menu item in Marketing Cloud. Only one Marketing Cloud App component can be added per package. Once added it cannot be removed without deleting the whole package.
A Custom Content Block can be used to use a different HTML editor than Content Builder in Marketing Cloud.
Journey Builder Activity components allow to create custom Journey Builder activities which make REST API calls to external applications. Multiple Journey Builder Activity components can be added per package.
Journey Builder Entry Source components allow to add Contacts from REST API calls to journeys defined in Journey Builder. Multiple Journey Builder Entry Source components can be added per package.