| POST | /sendgridevents |
|---|
namespace CPU.Notifications.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type SendGridEvent() =
[<DataMember(Name="sg_event_id")>]
member val SendGridEventId:String = null with get,set
[<DataMember(Name="sg_message_id")>]
member val SendGridMessageId:String = null with get,set
member val Email:String = null with get,set
member val Timestamp:Int64 = new Int64() with get,set
[<DataMember(Name="smtp-id")>]
member val SmtpId:String = null with get,set
member val Event:String = null with get,set
member val Type:String = null with get,set
member val Category:String[] = null with get,set
member val Reason:String = null with get,set
member val Status:String = null with get,set
member val UserAgent:String = null with get,set
member val IP:String = null with get,set
member val URL:String = null with get,set
[<DataMember(Name="url_offset")>]
member val URLOffset:String = null with get,set
[<DataMember(Name="sg_machine_open")>]
member val MachineOpen:Boolean = new Boolean() with get,set
member val TLS:String = null with get,set
[<DataMember(Name="unique_args")>]
member val UniqueArgs:Dictionary<String, String> = null with get,set
[<DataMember(Name="custom_args")>]
member val CustomArgs:Dictionary<String, String> = null with get,set
[<DataMember(Name="marketing_campaign_id")>]
member val MarketingCampaignId:String = null with get,set
[<DataMember(Name="marketing_campaign_name")>]
member val MarketingCampaignName:String = null with get,set
[<DataMember(Name="singlesend_id")>]
member val SingleSendID:String = null with get,set
[<DataMember(Name="singlesend_name")>]
member val SingleSendName:String = null with get,set
[<DataMember(Name="bounce_classification")>]
member val BounceClassification:String = null with get,set
[<AllowNullLiteral>]
type SendGridEvents() =
inherit ResizeArray<SendGridEvent>()
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /sendgridevents HTTP/1.1
Host: cpmwebservices-t.clarkpud.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ArrayOfSendGridEvent xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CPU.Notifications.ServiceModel" />
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length (string)