YM REST Services

<back to all web services

Campaigns

Requires Authentication
Requires any of the roles:admin, oauthadmin
The following routes are available for this service:
GET,POST/Ams/{ClientID}/CampaignsReturn a list of Email Campaigns and their data.
POST/Ams/{ClientID}/Campaigns/{CampaignId}/SendTestSend the test email.
GET/Ams/{ClientID}/Campaigns/{CampaignId}Return the details of a given Email Campaign.
PUT/Ams/{ClientID}/Campaigns/{CampaignId}Update a given Email Campaign.
DELETE/Ams/{ClientID}/Campaigns/{CampaignId}Delete a given Email Campaign.
Campaigns Parameters:
NameParameterData TypeRequiredDescription
CampaignIdpathintNo
ListIdbodyintNo
CategoryIdbodyintNo
CampaignNamebodystringNo
TestRecipientEmailbodystringNo
SubjectbodystringNo
EmailPreviewbodystringNo
SenderEmailbodystringNo
MarkupIdbodyintNo
DateScheduledbodyDateTime?No
PageSizebodyintNo
PageNumberbodyintNo
CampaignStatusbodyBulkEmailStatusNo
IsNewsLettersbodyboolNo
NewNamebodystringNo
OrderBybodystringNo
OrderByDirectionbodystringNo
BaseDto Parameters:
NameParameterData TypeRequiredDescription
UsingRedisformboolNo
AppInitTimeformDateTimeNo
ServerIDformstringNo
BaseSharedDto Parameters:
NameParameterData TypeRequiredDescription
ClientIDformintNo
ResponseStatusformResponseStatusNo
BypassCacheformboolNo
DateCachedformDateTimeNo
DeviceformDeviceNo
CampaignsResponse Parameters:
NameParameterData TypeRequiredDescription
DateStartProcessingformDateTime?No
DateEndProcessingformDateTime?No
DateJobSubmittedformDateTimeNo
ListNameformstringNo
ListAreaformEmailListAreaNo
EmailCategoryNameformstringNo
AdminNameformstringNo
AdminCommentsformstringNo
TotalCountformintNo
CampaignsformList<CampaignData>No
HasCampaignActivityExpiredformboolNo
DateCampaignActivityExpirationformDateTime?No
VersionformintNo
PreservedListIdAndNameformstringNo
CampaignData Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
CampaignNameformstringNo
DateCreatedformDateTimeNo
DateScheduledformDateTime?No
CampaignStatusformBulkEmailStatusNo
SubjectformstringNo
CategoryNameformstringNo
CategoryIdformintNo
MarkupIdformintNo
ProcessedformintNo
VersionformintNo
HasCampaignExpiredformboolNo

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Ams/{ClientID}/Campaigns HTTP/1.1 
Host: ws.yourmembership.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CampaignId: 0,
	ListId: 0,
	CategoryId: 0,
	CampaignName: String,
	TestRecipientEmail: String,
	Subject: String,
	EmailPreview: String,
	SenderEmail: String,
	MarkupId: 0,
	DateScheduled: 0001-01-01,
	PageSize: 0,
	PageNumber: 0,
	CampaignStatus: InQueue,
	IsNewsLetters: False,
	NewName: String,
	OrderBy: String,
	OrderByDirection: String,
	UsingRedis: True,
	AppInitTime: 2024-05-03T12:14:36.5372555+00:00,
	ServerID: WS-5-31-738,
	ClientID: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	BypassCache: False,
	DateCached: 2024-05-03T12:20:51.4071092+00:00,
	Device: Desktop
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	DateStartProcessing: 0001-01-01,
	DateEndProcessing: 0001-01-01,
	DateJobSubmitted: 0001-01-01,
	ListName: String,
	ListArea: None,
	EmailCategoryName: String,
	AdminName: String,
	AdminComments: String,
	TotalCount: 0,
	Campaigns: 
	[
		{
			Id: 0,
			CampaignName: String,
			DateCreated: 0001-01-01,
			DateScheduled: 0001-01-01,
			CampaignStatus: InQueue,
			Subject: String,
			CategoryName: String,
			CategoryId: 0,
			MarkupId: 0,
			Processed: 0,
			Version: 0,
			HasCampaignExpired: False
		}
	],
	HasCampaignActivityExpired: False,
	DateCampaignActivityExpiration: 0001-01-01,
	Version: 0,
	PreservedListIdAndName: String,
	CampaignId: 0,
	ListId: 0,
	CategoryId: 0,
	CampaignName: String,
	TestRecipientEmail: String,
	Subject: String,
	EmailPreview: String,
	SenderEmail: String,
	MarkupId: 0,
	DateScheduled: 0001-01-01,
	PageSize: 0,
	PageNumber: 0,
	CampaignStatus: InQueue,
	IsNewsLetters: False,
	NewName: String,
	OrderBy: String,
	OrderByDirection: String,
	UsingRedis: True,
	AppInitTime: 2024-05-03T12:14:36.5372555+00:00,
	ServerID: WS-5-31-738,
	ClientID: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	BypassCache: False,
	DateCached: 2024-05-03T12:20:51.4227406+00:00,
	Device: Desktop
}