CPU.Notifications

<back to all web services

SendGridEvents

Requires Authentication
The following routes are available for this service:
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>()

F# SendGridEvents DTOs

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 /sendgridevents HTTP/1.1 
Host: cpmwebservices-t.clarkpud.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

[
	
]
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

(string)