API Integration Security
Tenant-Specific API Endpoints
SOAP API Performance
Work with SOAP Web Service API
Supported Operations for Objects and Methods
Scenarios
API Call Volume History and Health
This section provides sample code related to Marketing Cloud Engagement for AppExchange API.
1// Action: Create SalesforceSend object
2CreateResult[] results = etForAppx.Create(new CreateOptions(), new APIObject[] { sfs }, out requestID, out status);This code sample represents the create call, and it executes one Salesforce send. Note the following aspects about this call:
1private void Activate(){
2 Console.WriteLine("updating sf subscriber");
3 int subTypeID = -1;
4 string status = null;
5 string rid = null;
6 PartnerAPI.Subscriber wsdlSub = new PartnerAPI.Subscriber();
7 //set the 18 digit SF ID
8 wsdlSub.SubscriberKey = "0037000000UyRdo";
9 //set the status to active
10 wsdlSub.Status = SubscriberStatus.Active;
11 wsdlSub.StatusSpecified = true;
12 //set the subscriber Type
13 PartnerAPI.SubscriberTypeDefinition std = new PartnerAPI.SubscriberTypeDefinition();
14 std.SubscriberType = "salesforcecontact"; //"salesforcelead"
15 wsdlSub.SubscriberTypeDefinition = std;
16 wsdlSub.IDSpecified = false;
17 wsdlSub.Client = new ClientID();
18 wsdlSub.Client.ID = 3069; //wsdlSub.Client.UserID = objPrincipal.EmployeeID; PartnerAPI.ServiceWse partnerAPI = new PartnerAPI.ServiceWse();
19 UsernameTokenProvider utp = new UsernameTokenProvider("etsfdev2", "xxxx"); partnerAPI.SetClientCredential<UsernameToken>(utp.GetToken());
20 Policy policy = new Policy(new UsernameOverTransportAssertion());
21 partnerAPI.SetPolicy(policy);
22 partnerAPI.Timeout = -1;
23 UpdateResult[] results = partnerAPI.Update(new PartnerAPI.UpdateOptions(), new PartnerAPI.APIObject[] { wsdlSub }, out rid, out status);
24 for (int cntr = 0; cntr < results.Length; cntr++)
25 {
26 Console.WriteLine(string.Format("Results for object {0}: Status code: {1}. Message: {2}.", cntr, results[cntr].StatusCode, results[cntr].StatusMessage));
27 }
28 Console.ReadLine();
29}1//1. Create email
2Email email = new Email();
3email.ID = 3079342;
4email.IDSpecified = true;
5//2. Specify target recipients
6Target report = new Target();
7report.ObjectID = "00O60000001PWEa";
8report.ObjectType = ObjectTypes.Report;
9//3. Specify target recipients to exclude from the send
10Target reportExclude = new Target();
11reportExclude.ObjectID = "00O60000001PWEc";
12reportExclude.ObjectType = ObjectTypes.Report;
13// 4. Create Salesforce send object
14SalesforceSend sfs = new SalesforceSend();
15sfs.Email = email;
16sfs.Targets = new Target[] { report };
17sfs.Exclusions = new Target[] { reportExclude };
18sfs.FromName = "Lead/Contact Owner Name"; // Use CRM Record owner from from address and name
19sfs.SendDate = DateTime.UtcNow.Add(3); // Use UTC time for Scheduling sends
20//5. Use Create call to initiate the send
21CreateResult[] results = etForAppx.Create(new CreateOptions(), new APIObject[] { sfs }, out requestID, out status);
22//6. Print out overall results
23Console.WriteLine(string.Format("Overall result: {0}. RequestID: {1}. Result Message: {2}", status, requestID, results[0].StatusMessage));