ShortlinksAPI

<back to all web services

GetShortLinkMetadataRequest

Requires Authentication
The following routes are available for this service:
GET/v4/links/metadata/{baseCode}
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 GetShortLinkMetadataRequest
        : IGetShortLinkMetadataRequest
    {
        [DataMember(Name="baseCode")]
        public virtual string BaseCode { get; set; }
    }

}

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

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

}

C# GetShortLinkMetadataRequest 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/{baseCode} 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
	}
}