ReportingAPI

<back to all web services

PostLinkReportRequest

Requires Authentication
The following routes are available for this service:
POST/v4/report/links
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports ReportingAPI.ServiceModel.V1.Requests
Imports Geniuslink.Reporting.Contracts.V1.DTOs
Imports ReportingAPI.ServiceModel.V1.Responses
Imports Geniuslink.Reporting.Contracts.V1.DTOs.Items

Namespace Global

    Namespace Geniuslink.Reporting.Contracts.V1.DTOs

        <DataContract>
        Public Partial Class Error
            <DataMember(Name:="code")>
            Public Overridable Property Code As String
        End Class

        Public Enum GroupBy
            [Default]
            Retailer
            [Date]
        End Enum

        <DataContract>
        Public Partial Class Report
            <DataMember(Name:="data")>
            Public Overridable Property Data As List(Of ReportData)

            <DataMember(Name:="executionTimeMs")>
            Public Overridable Property ExecutionTimeMs As Long

            <DataMember(Name:="totalItems")>
            Public Overridable Property TotalItems As Long

            <DataMember(Name:="errors")>
            Public Overridable Property Errors As List(Of Error)

            <DataMember(Name:="request")>
            Public Overridable Property Request As ReportRequest

            <DataMember(Name:="totalClicks")>
            Public Overridable Property TotalClicks As Long
        End Class

        <DataContract>
        Public Partial Class ReportData
            <DataMember(Name:="id")>
            Public Overridable Property Id As String

            <DataMember(Name:="item")>
            Public Overridable Property Item As Item

            <DataMember(Name:="totalClicks")>
            Public Overridable Property TotalClicks As UInt64

            <DataMember(Name:="clicks")>
            Public Overridable Property ActualClicks As UInt64

            <DataMember(Name:="junkClicks")>
            Public Overridable Property JunkClicks As UInt64

            <DataMember(Name:="spiderClicks")>
            Public Overridable Property SpiderClicks As UInt64

            <DataMember(Name:="dateUtc")>
            Public Overridable Property DateUtc As Date
        End Class

        <DataContract>
        Public Partial Class ReportRequest
            <DataMember(Name:="items")>
            Public Overridable Property Items As IEnumerable(Of String)

            <DataMember(Name:="groupBy")>
            Public Overridable Property GroupBy As IEnumerable(Of GroupBy)

            <DataMember(Name:="attribute")>
            Public Overridable Property Attribute As String

            <DataMember(Name:="type")>
            Public Overridable Property Type As ReportType

            <DataMember(Name:="fromStartUtcInclusive")>
            Public Overridable Property FromStartUtcInclusive As Date

            <DataMember(Name:="fromEndUtcInclusive")>
            Public Overridable Property FromEndUtcInclusive As Date

            <DataMember(Name:="retailers")>
            Public Overridable Property Retailers As IEnumerable(Of String)
        End Class

        Public Enum ReportType
            ShortUrl
            Group
            User
        End Enum
    End Namespace

    Namespace Geniuslink.Reporting.Contracts.V1.DTOs.Items

        <DataContract>
        Public Partial Class Item
            <DataMember(Name:="id")>
            Public Overridable Property Id As String

            <DataMember(Name:="displayName")>
            Public Overridable Property DisplayName As String
        End Class
    End Namespace

    Namespace ReportingAPI.ServiceModel.V1.Requests

        <DataContract>
        Public Partial Class PostLinkReportRequest
            Implements IPostLinkReportRequest
            <DataMember(Name:="reports")>
            Public Overridable Property Reports As IEnumerable(Of ReportRequest) Implements IPostLinkReportRequest.Reports
        End Class
    End Namespace

    Namespace ReportingAPI.ServiceModel.V1.Responses

        <DataContract>
        Public Partial Class PostLinkReportResponse
            Implements IPostLinkReportResponse
            <DataMember(Name:="reports")>
            Public Overridable Property Reports As IEnumerable(Of Report) Implements IPostLinkReportResponse.Reports

            <DataMember(Name:="responseStatus")>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

VB.NET PostLinkReportRequest DTOs

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

HTTP + OTHER

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

POST /v4/report/links HTTP/1.1 
Host: reporting-api-zane.dev.platform.georiot.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}