Northwind Web Services

<back to all web services

GetCustomerDetails

Customers
The following routes are available for this service:
All Verbs/customers/{Id}
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Northwind.ServiceModel
Imports Northwind.ServiceModel.Types

Namespace Global

    Namespace Northwind.ServiceModel

        <DataContract>
        Public Partial Class CustomerDetailsResponse
            Public Sub New()
                Orders = New List(Of CustomerOrder)
            End Sub

            <DataMember>
            Public Overridable Property Customer As Customer

            <DataMember>
            Public Overridable Property Orders As List(Of CustomerOrder)

            <DataMember>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Partial Class GetCustomerDetails
            Implements IGet
            Public Overridable Property Id As String
        End Class
    End Namespace

    Namespace Northwind.ServiceModel.Types

        <DataContract>
        Public Partial Class Customer
            <DataMember>
            Public Overridable Property Id As String

            <DataMember>
            Public Overridable Property CompanyName As String

            <DataMember>
            Public Overridable Property ContactName As String

            <DataMember>
            Public Overridable Property ContactTitle As String

            <DataMember>
            Public Overridable Property Address As String

            <DataMember>
            Public Overridable Property City As String

            <DataMember>
            Public Overridable Property Region As String

            <DataMember>
            Public Overridable Property PostalCode As String

            <DataMember>
            Public Overridable Property Country As String

            <DataMember>
            Public Overridable Property Phone As String

            <DataMember>
            Public Overridable Property Fax As String
        End Class

        <DataContract>
        Public Partial Class CustomerOrder
            Public Sub New()
                OrderDetails = New List(Of OrderDetail)
            End Sub

            <DataMember>
            Public Overridable Property Order As Order

            <DataMember>
            Public Overridable Property OrderDetails As List(Of OrderDetail)
        End Class

        <DataContract>
        Public Partial Class Order
            <DataMember>
            Public Overridable Property Id As Integer

            <DataMember>
            Public Overridable Property CustomerId As String

            <DataMember>
            Public Overridable Property EmployeeId As Integer

            <DataMember>
            Public Overridable Property OrderDate As Nullable(Of Date)

            <DataMember>
            Public Overridable Property RequiredDate As Nullable(Of Date)

            <DataMember>
            Public Overridable Property ShippedDate As Nullable(Of Date)

            <DataMember>
            Public Overridable Property ShipVia As Nullable(Of Integer)

            <DataMember>
            Public Overridable Property Freight As Decimal

            <DataMember>
            Public Overridable Property ShipName As String

            <DataMember>
            Public Overridable Property ShipAddress As String

            <DataMember>
            Public Overridable Property ShipCity As String

            <DataMember>
            Public Overridable Property ShipRegion As String

            <DataMember>
            Public Overridable Property ShipPostalCode As String

            <DataMember>
            Public Overridable Property ShipCountry As String
        End Class

        <DataContract>
        Public Partial Class OrderDetail
            <DataMember>
            Public Overridable Property OrderId As Integer

            <DataMember>
            Public Overridable Property ProductId As Integer

            <DataMember>
            Public Overridable Property UnitPrice As Decimal

            <DataMember>
            Public Overridable Property Quantity As Short

            <DataMember>
            Public Overridable Property Discount As Double
        End Class
    End Namespace
End Namespace

VB.NET GetCustomerDetails 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.

POST /customers/{Id} HTTP/1.1 
Host: northwind.netcore.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	customer: 
	{
		id: String,
		companyName: String,
		contactName: String,
		contactTitle: String,
		address: String,
		city: String,
		region: String,
		postalCode: String,
		country: String,
		phone: String,
		fax: String
	},
	orders: 
	[
		{
			order: 
			{
				id: 0,
				customerId: String,
				employeeId: 0,
				orderDate: 0001-01-01,
				requiredDate: 0001-01-01,
				shippedDate: 0001-01-01,
				shipVia: 0,
				freight: 0,
				shipName: String,
				shipAddress: String,
				shipCity: String,
				shipRegion: String,
				shipPostalCode: String,
				shipCountry: String
			},
			orderDetails: 
			[
				{
					orderId: 0,
					productId: 0,
					unitPrice: 0,
					quantity: 0,
					discount: 0
				}
			]
		}
	],
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}