ShortlinksAPI

<back to all web services

GetShortLinksMetadataRequest

Requires Authentication
The following routes are available for this service:
GET/v4/links/metadata/list
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ShortlinksAPI.ServiceModel.V4.Requests;
using ShortlinksAPI.ServiceModel.V4.Responses;
using Geniuslink.Shortlinks;

namespace Geniuslink.Shortlinks
{
    public enum LinkCreatorOption
    {
        NotSet,
        Simple,
        Split,
        Advanced,
        Interstitial,
        Other,
    }

    [DataContract]
    public partial class ShortUrlAlias
        : IShortUrlAlias
    {
        [DataMember]
        public virtual string Code { get; set; }

        [DataMember]
        public virtual string Domain { get; set; }

        [DataMember]
        public virtual string BaseCode { get; set; }

        [DataMember]
        public virtual DateTime LastUpdatedUtc { get; set; }
    }

    [DataContract]
    public partial class UserShortLink
        : IUserShortLink
    {
        [DataMember]
        public virtual long Id { get; set; }

        [DataMember]
        public virtual string DestinationUrl { get; set; }

        [DataMember]
        public virtual string ShortUrlCode { get; set; }

        [DataMember]
        public virtual string Domain { get; set; }

        [DataMember]
        public virtual string LinkType { get; set; }

        [DataMember]
        public virtual bool HasOverride { get; set; }

        [DataMember]
        public virtual string ProductUrl { get; set; }

        [DataMember]
        public virtual string TrackingCode { get; set; }

        [DataMember]
        public virtual bool SkipAffiliateRedirect { get; set; }

        [DataMember]
        public virtual DateTime CreatedUtc { get; set; }

        [DataMember]
        public virtual DateTime UpdatedUtc { get; set; }

        [DataMember]
        public virtual string Notes { get; set; }

        [DataMember]
        public virtual DateTime CreatedUserTime { get; set; }

        [DataMember]
        public virtual DateTime UpdatedUserTime { get; set; }

        [DataMember]
        public virtual uint? Tsid { get; set; }

        [DataMember]
        public virtual string Group { get; set; }

        [DataMember]
        public virtual string Username { get; set; }

        [DataMember]
        public virtual string JsonMetadata { get; set; }

        [DataMember]
        public virtual string JsonItemMetadata { get; set; }

        [DataMember]
        public virtual string JsonPostProcessingRules { get; set; }

        [DataMember]
        public virtual string JsonOverrides { get; set; }

        [DataMember]
        public virtual decimal TotalClicks { get; set; }

        [DataMember]
        public virtual string Advertiser { get; set; }

        [DataMember]
        public virtual uint AdvertiserId { get; set; }

        [DataMember]
        public virtual decimal PercentChangePeriodOverPeriod { get; set; }

        [DataMember]
        public virtual decimal PreviousPeriodTotalClicks { get; set; }

        [DataMember]
        public virtual uint IsArchived { get; set; }

        [DataMember]
        public virtual int IsArchivedInt { get; set; }

        [DataMember]
        public virtual bool FetchMetadata { get; set; }

        [DataMember]
        public virtual string ProductDisplayName1 { get; set; }

        [DataMember]
        public virtual string ProductDisplayName2 { get; set; }

        [DataMember]
        public virtual string ProductDisplayName3 { get; set; }

        [DataMember]
        public virtual string ProductArtworkThumbnailUrl { get; set; }

        [DataMember]
        public virtual string ProductArtworkThumbnailUrl100 { get; set; }

        [DataMember]
        public virtual string AdvertiserIcon { get; set; }

        [DataMember]
        public virtual string AdvertiserIconCssClass { get; set; }

        [DataMember]
        public virtual bool IsGenius { get; set; }

        [DataMember]
        public virtual string AdvertiserIconTitle { get; set; }

        [DataMember]
        public virtual string TrackingPixelIds { get; set; }

        [DataMember]
        public virtual uint ApplePreference { get; set; }

        [DataMember]
        public virtual List<ShortUrlAlias> Aliases { get; set; }

        [DataMember]
        public virtual LinkCreatorOption LinkCreatorSetting { get; set; }
    }

}

namespace ShortlinksAPI.ServiceModel.V4.Requests
{
    [DataContract]
    public partial class GetShortLinksMetadataRequest
        : IGetShortLinksMetadataRequest
    {
        [DataMember(Name="ids")]
        public virtual List<string> Ids { get; set; }
    }

}

namespace ShortlinksAPI.ServiceModel.V4.Responses
{
    [DataContract]
    public partial class GetShortLinksMetadataResponse
        : IGetShortLinksMetadataResponse
    {
        [DataMember(Name="responseStatus")]
        public virtual ResponseStatus ResponseStatus { get; set; }

        [DataMember(Name="data")]
        public virtual List<UserShortLink> Data { get; set; }
    }

}

C# GetShortLinksMetadataRequest 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.

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
		}
	]
}