Client_Initiations

<back to all web services

ConsumerInitiation

Consumer Initiation Service

Requires Authentication
The following routes are available for this service:
POST/consumerinitiation
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Client_Initiations.ServiceModel
Imports Client_Initiations.ServiceModel.Types

Namespace Global

    Namespace Client_Initiations.ServiceModel

        Public Enum AddressType
            CurrentHome
            DestinationHome
            CurrentWork
            DestinationWork
        End Enum

        Public Partial Class AssignmentLocationDetails
            '''<Summary>
            '''Work city
            '''</Summary>
            <ApiMember(Description:="Work city", IsRequired:=true)>
            Public Overridable Property WorkCity As String

            '''<Summary>
            '''Current work location state
            '''</Summary>
            <ApiMember(Description:="Current work location state")>
            Public Overridable Property CurrentWorkState As String

            '''<Summary>
            '''Work state or province
            '''</Summary>
            <ApiMember(Description:="Work state or province")>
            Public Overridable Property WorkState As String

            '''<Summary>
            '''Destination work location state
            '''</Summary>
            <ApiMember(Description:="Destination work location state")>
            Public Overridable Property DestinationWorkState As String

            '''<Summary>
            '''Work country
            '''</Summary>
            <ApiMember(Description:="Work country", IsRequired:=true)>
            Public Overridable Property WorkCountry As String

            '''<Summary>
            '''Preferred work location state
            '''</Summary>
            <ApiMember(Description:="Preferred work location state")>
            Public Overridable Property PreferredWorkState As String

            '''<Summary>
            '''Preferred work location country
            '''</Summary>
            <ApiMember(Description:="Preferred work location country")>
            Public Overridable Property PreferredWorkCountry As String
        End Class

        '''<Summary>
        '''Consumer Initiation Service
        '''</Summary>
        <Api(Description:="Consumer Initiation Service")>
        <ApiResponse(Description:="Returned when the consumer initiation was successfully processed", StatusCode:=200)>
        <ApiResponse(Description:="Returned if the request validation failed", StatusCode:=400)>
        <ApiResponse(Description:="Returned if the client is not authorized", StatusCode:=401)>
        <ApiResponse(Description:="Returned if an error occurred while processing the request", StatusCode:=500)>
        Public Partial Class ConsumerInitiation
            Implements IPost
            '''<Summary>
            '''Client identifier
            '''</Summary>
            <ApiMember(Description:="Client identifier", IsRequired:=true)>
            Public Overridable Property ClientID As String

            '''<Summary>
            '''Consumer relocation request file details
            '''</Summary>
            <ApiMember(Description:="Consumer relocation request file details", IsRequired:=true)>
            Public Overridable Property File As RelocationsRequestFile
        End Class

        Public Partial Class ConsumerInitiationResponse
            Public Sub New()
                Errors = New List(Of ValidateError)
            End Sub

            '''<Summary>
            '''Response message
            '''</Summary>
            <ApiMember(Description:="Response message")>
            Public Overridable Property Message As String

            '''<Summary>
            '''File identifier for the created initiation
            '''</Summary>
            <ApiMember(Description:="File identifier for the created initiation")>
            Public Overridable Property FileId As String

            '''<Summary>
            '''List of validation errors, if any
            '''</Summary>
            <ApiMember(Description:="List of validation errors, if any")>
            Public Overridable Property Errors As List(Of ValidateError)
        End Class

        Public Partial Class RelocationsRequestFile
            Public Sub New()
                Addresses = New RelocationsRequestFileAddress(){}
                Phones = New RelocationsRequestFilePhone(){}
            End Sub

            '''<Summary>
            '''Command type for the request (INITIATE)
            '''</Summary>
            <ApiMember(Description:="Command type for the request (INITIATE)", IsRequired:=true)>
            Public Overridable Property Command As String

            '''<Summary>
            '''External identifier for the transferee
            '''</Summary>
            <ApiMember(Description:="External identifier for the transferee", IsRequired:=true)>
            Public Overridable Property ExternalID As String

            '''<Summary>
            '''Details about the transferee
            '''</Summary>
            <ApiMember(Description:="Details about the transferee", IsRequired:=true)>
            Public Overridable Property TransfereeDetails As RelocationsRequestFileTransfereeDetails

            '''<Summary>
            '''List of addresses associated with the transferee
            '''</Summary>
            <ApiMember(Description:="List of addresses associated with the transferee", IsRequired:=true)>
            Public Overridable Property Addresses As RelocationsRequestFileAddress()

            '''<Summary>
            '''List of phone numbers associated with the transferee
            '''</Summary>
            <ApiMember(Description:="List of phone numbers associated with the transferee", IsRequired:=true)>
            Public Overridable Property Phones As RelocationsRequestFilePhone()

            '''<Summary>
            '''Assignment details for the relocation
            '''</Summary>
            <ApiMember(Description:="Assignment details for the relocation", IsRequired:=true)>
            Public Overridable Property AssignmentDetails As RelocationsRequestFileAssignmentDetails
        End Class

        Public Partial Class RelocationsRequestFileAddress
            '''<Summary>
            '''Type of address (CurrentHome, DestinationHome, CurrentWork, DestinationWork)
            '''</Summary>
            <ApiMember(Description:="Type of address (CurrentHome, DestinationHome, CurrentWork, DestinationWork)", IsRequired:=true)>
            Public Overridable Property AddressType As AddressType

            '''<Summary>
            '''Indicates if this is the primary address
            '''</Summary>
            <ApiMember(Description:="Indicates if this is the primary address", IsRequired:=true)>
            Public Overridable Property Primary As YesNo

            '''<Summary>
            '''Address line 1
            '''</Summary>
            <ApiMember(Description:="Address line 1", IsRequired:=true)>
            Public Overridable Property AddressLine1 As String

            '''<Summary>
            '''City
            '''</Summary>
            <ApiMember(Description:="City", IsRequired:=true)>
            Public Overridable Property City As String

            '''<Summary>
            '''Country
            '''</Summary>
            <ApiMember(Description:="Country", IsRequired:=true)>
            Public Overridable Property Country As String
        End Class

        Public Partial Class RelocationsRequestFileAssignmentDetails
            '''<Summary>
            '''Program name or code
            '''</Summary>
            <ApiMember(Description:="Program name or code", IsRequired:=true)>
            Public Overridable Property Program As String

            '''<Summary>
            '''Type of assignment
            '''</Summary>
            <ApiMember(Description:="Type of assignment", IsRequired:=true)>
            Public Overridable Property AssignmentType As String

            '''<Summary>
            '''Assignment start date
            '''</Summary>
            <ApiMember(Description:="Assignment start date", IsRequired:=true)>
            Public Overridable Property StartDate As Nullable(Of Date)

            '''<Summary>
            '''Company name
            '''</Summary>
            <ApiMember(Description:="Company name", IsRequired:=true)>
            Public Overridable Property CompanyName As String

            '''<Summary>
            '''Contact
            '''</Summary>
            <ApiMember(Description:="Contact", IsRequired:=true)>
            Public Overridable Property Contact As String

            '''<Summary>
            '''Current assignment location details
            '''</Summary>
            <ApiMember(Description:="Current assignment location details", IsRequired:=true)>
            Public Overridable Property Current As AssignmentLocationDetails

            '''<Summary>
            '''Destination assignment location details
            '''</Summary>
            <ApiMember(Description:="Destination assignment location details", IsRequired:=true)>
            Public Overridable Property Destination As AssignmentLocationDetails
        End Class

        Public Partial Class RelocationsRequestFilePhone
            '''<Summary>
            '''Phone type (e.g., Mobile, OriginHome)
            '''</Summary>
            <ApiMember(Description:="Phone type (e.g., Mobile, OriginHome)", IsRequired:=true)>
            Public Overridable Property Type As String

            '''<Summary>
            '''Indicates if this is the primary phone number
            '''</Summary>
            <ApiMember(Description:="Indicates if this is the primary phone number", IsRequired:=true)>
            Public Overridable Property Primary As YesNo

            '''<Summary>
            '''Phone number
            '''</Summary>
            <ApiMember(Description:="Phone number", IsRequired:=true)>
            Public Overridable Property Number As String
        End Class

        Public Partial Class RelocationsRequestFileTransfereeDetails
            '''<Summary>
            '''First name of the transferee
            '''</Summary>
            <ApiMember(Description:="First name of the transferee", IsRequired:=true)>
            Public Overridable Property FirstName As String

            '''<Summary>
            '''Last name of the transferee
            '''</Summary>
            <ApiMember(Description:="Last name of the transferee", IsRequired:=true)>
            Public Overridable Property LastName As String

            '''<Summary>
            '''Preferred email address
            '''</Summary>
            <ApiMember(Description:="Preferred email address", IsRequired:=true)>
            Public Overridable Property PreferredEmail As String
        End Class

        Public Enum YesNo
            Y
            N
            Item
        End Enum
    End Namespace

    Namespace Client_Initiations.ServiceModel.Types

        Public Partial Class ValidateError
            Public Overridable Property ErrorNumber As String
            Public Overridable Property ErrorDescription As String
        End Class
    End Namespace
End Namespace

VB.NET ConsumerInitiation 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 /consumerinitiation HTTP/1.1 
Host: initiation-pen.sirva.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ClientID: String,
	File: 
	{
		Command: String,
		ExternalID: String,
		TransfereeDetails: 
		{
			FirstName: String,
			LastName: String,
			PreferredEmail: String
		},
		Addresses: 
		[
			{
				AddressType: CurrentHome,
				Primary: Y,
				AddressLine1: String,
				City: String,
				Country: String
			}
		],
		Phones: 
		[
			{
				Type: String,
				Primary: Y,
				Number: String
			}
		],
		AssignmentDetails: 
		{
			Program: String,
			AssignmentType: String,
			StartDate: 0001-01-01,
			CompanyName: String,
			Contact: String,
			Current: 
			{
				WorkCity: String,
				CurrentWorkState: String,
				WorkState: String,
				DestinationWorkState: String,
				WorkCountry: String,
				PreferredWorkState: String,
				PreferredWorkCountry: String
			},
			Destination: 
			{
				WorkCity: String,
				CurrentWorkState: String,
				WorkState: String,
				DestinationWorkState: String,
				WorkCountry: String,
				PreferredWorkState: String,
				PreferredWorkCountry: String
			}
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Message: String,
	FileId: String,
	Errors: 
	[
		{
			ErrorNumber: String,
			ErrorDescription: String
		}
	]
}