| GET | /v4/links/metadata/list |
|---|
namespace Geniuslink.Shortlinks
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract>]
[<AllowNullLiteral>]
type ShortUrlAlias() =
[<DataMember>]
member val Code:String = null with get,set
[<DataMember>]
member val Domain:String = null with get,set
[<DataMember>]
member val BaseCode:String = null with get,set
[<DataMember>]
member val LastUpdatedUtc:DateTime = new DateTime() with get,set
type LinkCreatorOption =
| NotSet = 0
| Simple = 1
| Split = 2
| Advanced = 3
| Interstitial = 4
| Other = 5
[<DataContract>]
[<AllowNullLiteral>]
type UserShortLink() =
[<DataMember>]
member val Id:Int64 = new Int64() with get,set
[<DataMember>]
member val DestinationUrl:String = null with get,set
[<DataMember>]
member val ShortUrlCode:String = null with get,set
[<DataMember>]
member val Domain:String = null with get,set
[<DataMember>]
member val LinkType:String = null with get,set
[<DataMember>]
member val HasOverride:Boolean = new Boolean() with get,set
[<DataMember>]
member val ProductUrl:String = null with get,set
[<DataMember>]
member val TrackingCode:String = null with get,set
[<DataMember>]
member val SkipAffiliateRedirect:Boolean = new Boolean() with get,set
[<DataMember>]
member val CreatedUtc:DateTime = new DateTime() with get,set
[<DataMember>]
member val UpdatedUtc:DateTime = new DateTime() with get,set
[<DataMember>]
member val Notes:String = null with get,set
[<DataMember>]
member val CreatedUserTime:DateTime = new DateTime() with get,set
[<DataMember>]
member val UpdatedUserTime:DateTime = new DateTime() with get,set
[<DataMember>]
member val Tsid:Nullable<UInt32> = new Nullable<UInt32>() with get,set
[<DataMember>]
member val Group:String = null with get,set
[<DataMember>]
member val Username:String = null with get,set
[<DataMember>]
member val JsonMetadata:String = null with get,set
[<DataMember>]
member val JsonItemMetadata:String = null with get,set
[<DataMember>]
member val JsonPostProcessingRules:String = null with get,set
[<DataMember>]
member val JsonOverrides:String = null with get,set
[<DataMember>]
member val TotalClicks:Decimal = new Decimal() with get,set
[<DataMember>]
member val Advertiser:String = null with get,set
[<DataMember>]
member val AdvertiserId:UInt32 = new UInt32() with get,set
[<DataMember>]
member val PercentChangePeriodOverPeriod:Decimal = new Decimal() with get,set
[<DataMember>]
member val PreviousPeriodTotalClicks:Decimal = new Decimal() with get,set
[<DataMember>]
member val IsArchived:UInt32 = new UInt32() with get,set
[<DataMember>]
member val IsArchivedInt:Int32 = new Int32() with get,set
[<DataMember>]
member val FetchMetadata:Boolean = new Boolean() with get,set
[<DataMember>]
member val ProductDisplayName1:String = null with get,set
[<DataMember>]
member val ProductDisplayName2:String = null with get,set
[<DataMember>]
member val ProductDisplayName3:String = null with get,set
[<DataMember>]
member val ProductArtworkThumbnailUrl:String = null with get,set
[<DataMember>]
member val ProductArtworkThumbnailUrl100:String = null with get,set
[<DataMember>]
member val AdvertiserIcon:String = null with get,set
[<DataMember>]
member val AdvertiserIconCssClass:String = null with get,set
[<DataMember>]
member val IsGenius:Boolean = new Boolean() with get,set
[<DataMember>]
member val AdvertiserIconTitle:String = null with get,set
[<DataMember>]
member val TrackingPixelIds:String = null with get,set
[<DataMember>]
member val ApplePreference:UInt32 = new UInt32() with get,set
[<DataMember>]
member val Aliases:ResizeArray<ShortUrlAlias> = null with get,set
[<DataMember>]
member val LinkCreatorSetting:LinkCreatorOption = new LinkCreatorOption() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type GetShortLinksMetadataResponse() =
[<DataMember(Name="responseStatus")>]
member val ResponseStatus:ResponseStatus = null with get,set
[<DataMember(Name="data")>]
member val Data:ResizeArray<UserShortLink> = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type GetShortLinksMetadataRequest() =
[<DataMember(Name="ids")>]
member val Ids:ResizeArray<String> = null with get,set
F# GetShortLinksMetadataRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v4/links/metadata/list HTTP/1.1 Host: shortlinks-api.qa.platform.georiot.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
},
data:
[
{
id: 0,
destinationUrl: String,
shortUrlCode: String,
domain: String,
linkType: NotSet,
hasOverride: False,
productUrl: String,
trackingCode: String,
skipAffiliateRedirect: False,
createdUtc: 0001-01-01,
updatedUtc: 0001-01-01,
notes: String,
createdUserTime: 0001-01-01,
updatedUserTime: 0001-01-01,
tsid: 0,
group: String,
username: String,
jsonMetadata: String,
jsonItemMetadata: String,
jsonPostProcessingRules: String,
jsonOverrides: String,
totalClicks: 0,
advertiser: String,
advertiserId: 0,
percentChangePeriodOverPeriod: 0,
previousPeriodTotalClicks: 0,
isArchived: 0,
isArchivedInt: 0,
fetchMetadata: False,
productDisplayName1: String,
productDisplayName2: String,
productDisplayName3: String,
productArtworkThumbnailUrl: String,
productArtworkThumbnailUrl100: String,
advertiserIcon: String,
advertiserIconCssClass: String,
isGenius: False,
advertiserIconTitle: String,
trackingPixelIds: String,
applePreference: 0,
aliases:
[
{
code: String,
domain: String,
baseCode: String,
lastUpdatedUtc: 0001-01-01
}
],
linkCreatorSetting: NotSet
}
]
}