Trendsic Platform Service

<back to all web services

CustomerLinkCreateRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/customerlink
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type CustomerLink() = 
        member val CustomerLinkId:Int32 = new Int32() with get,set
        member val CustomerLinkUID:Guid = new Guid() with get,set
        member val TokenHash:String = null with get,set
        member val ResourceType:String = null with get,set
        member val ResourceUid:Guid = new Guid() with get,set
        member val SensitivityTier:String = null with get,set
        member val RequireOtp:Boolean = new Boolean() with get,set
        member val OtpChannel:String = null with get,set
        member val DeliveryChannels:String = null with get,set
        member val RecipientContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RecipientEmail:String = null with get,set
        member val RecipientPhone:String = null with get,set
        member val SmsConsentSnapshot:Boolean = new Boolean() with get,set
        member val CreatedByUserId:Guid = new Guid() with get,set
        member val CreatedByAgentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CreatedAtUtc:DateTime = new DateTime() with get,set
        member val ExpiresAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val MaxViews:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ViewCount:Int32 = new Int32() with get,set
        member val RevokedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RevokedByUserId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val TenantId:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type CustomerLinkExtended() = 
        inherit CustomerLink()
        member val RecipientDisplayName:String = null with get,set
        member val RecipientType:String = null with get,set
        member val Status:String = null with get,set

    [<AllowNullLiteral>]
    type CustomerLinkCreateResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val Link:CustomerLinkExtended = null with get,set
        member val PortalUrl:String = null with get,set
        member val DeliveryErrors:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type CustomerLinkCreateRequest() = 
        member val ResourceType:String = null with get,set
        member val ResourceUid:Guid = new Guid() with get,set
        member val RecipientContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RecipientEmail:String = null with get,set
        member val RecipientPhone:String = null with get,set
        member val DeliverEmail:Boolean = new Boolean() with get,set
        member val DeliverSms:Boolean = new Boolean() with get,set
        member val ExpiresInHours:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val MaxViews:Nullable<Int32> = new Nullable<Int32>() with get,set

F# CustomerLinkCreateRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /v1/customerlink HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ResourceType":"String","ResourceUid":"00000000000000000000000000000000","RecipientContactId":0,"RecipientEmail":"String","RecipientPhone":"String","DeliverEmail":false,"DeliverSms":false,"ExpiresInHours":0,"MaxViews":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Link":{"RecipientDisplayName":"String","RecipientType":"String","Status":"String","CustomerLinkId":0,"CustomerLinkUID":"00000000000000000000000000000000","TokenHash":"String","ResourceType":"String","ResourceUid":"00000000000000000000000000000000","SensitivityTier":"String","RequireOtp":false,"OtpChannel":"String","DeliveryChannels":"String","RecipientContactId":0,"RecipientEmail":"String","RecipientPhone":"String","SmsConsentSnapshot":false,"CreatedByUserId":"00000000000000000000000000000000","CreatedByAgentId":0,"CreatedAtUtc":"0001-01-01T00:00:00.0000000","ExpiresAtUtc":"0001-01-01T00:00:00.0000000","MaxViews":0,"ViewCount":0,"RevokedAtUtc":"0001-01-01T00:00:00.0000000","RevokedByUserId":"00000000000000000000000000000000","TenantId":"00000000000000000000000000000000"},"PortalUrl":"String","DeliveryErrors":["String"]}