Client_Initiations

<back to all web services

ConsumerInitiation

Consumer Initiation Service

Requires Authentication
The following routes are available for this service:
POST/consumerinitiation
"use strict";
export class ValidateError {
    /** @param {{ErrorNumber?:string,ErrorDescription?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    ErrorNumber;
    /** @type {string} */
    ErrorDescription;
}
export class ConsumerInitiationResponse {
    /** @param {{Message?:string,FileId?:string,Errors?:ValidateError[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Response message */
    Message;
    /**
     * @type {string}
     * @description File identifier for the created initiation */
    FileId;
    /**
     * @type {ValidateError[]}
     * @description List of validation errors, if any */
    Errors;
}
export class RelocationsRequestFileTransfereeDetails {
    /** @param {{FirstName?:string,LastName?:string,PreferredEmail?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description First name of the transferee */
    FirstName;
    /**
     * @type {string}
     * @description Last name of the transferee */
    LastName;
    /**
     * @type {string}
     * @description Preferred email address */
    PreferredEmail;
}
export class AssignmentLocationDetails {
    /** @param {{WorkCity?:string,CurrentWorkState?:string,WorkState?:string,DestinationWorkState?:string,WorkCountry?:string,PreferredWorkState?:string,PreferredWorkCountry?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Work city */
    WorkCity;
    /**
     * @type {string}
     * @description Current work location state */
    CurrentWorkState;
    /**
     * @type {string}
     * @description Work state or province */
    WorkState;
    /**
     * @type {string}
     * @description Destination work location state */
    DestinationWorkState;
    /**
     * @type {string}
     * @description Work country */
    WorkCountry;
    /**
     * @type {string}
     * @description Preferred work location state */
    PreferredWorkState;
    /**
     * @type {string}
     * @description Preferred work location country */
    PreferredWorkCountry;
}
export class RelocationsRequestFileAssignmentDetails {
    /** @param {{Program?:string,AssignmentType?:string,StartDate?:string,CompanyName?:string,Contact?:string,Current?:AssignmentLocationDetails,Destination?:AssignmentLocationDetails}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Program name or code */
    Program;
    /**
     * @type {string}
     * @description Type of assignment */
    AssignmentType;
    /**
     * @type {string}
     * @description Assignment start date */
    StartDate;
    /**
     * @type {string}
     * @description Company name */
    CompanyName;
    /**
     * @type {string}
     * @description Contact */
    Contact;
    /**
     * @type {AssignmentLocationDetails}
     * @description Current assignment location details */
    Current;
    /**
     * @type {AssignmentLocationDetails}
     * @description Destination assignment location details */
    Destination;
}
export class RelocationsRequestFile {
    /** @param {{Command?:string,ExternalID?:string,TransfereeDetails?:RelocationsRequestFileTransfereeDetails,Addresses?:RelocationsRequestFileAddress[],Phones?:RelocationsRequestFilePhone[],AssignmentDetails?:RelocationsRequestFileAssignmentDetails}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Command type for the request (INITIATE) */
    Command;
    /**
     * @type {string}
     * @description External identifier for the transferee */
    ExternalID;
    /**
     * @type {RelocationsRequestFileTransfereeDetails}
     * @description Details about the transferee */
    TransfereeDetails;
    /**
     * @type {RelocationsRequestFileAddress[]}
     * @description List of addresses associated with the transferee */
    Addresses;
    /**
     * @type {RelocationsRequestFilePhone[]}
     * @description List of phone numbers associated with the transferee */
    Phones;
    /**
     * @type {RelocationsRequestFileAssignmentDetails}
     * @description Assignment details for the relocation */
    AssignmentDetails;
}
export class ConsumerInitiation {
    /** @param {{ClientID?:string,File?:RelocationsRequestFile}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Client identifier */
    ClientID;
    /**
     * @type {RelocationsRequestFile}
     * @description Consumer relocation request file details */
    File;
}
/** @typedef {'CurrentHome'|'DestinationHome'|'CurrentWork'|'DestinationWork'} */
export var AddressType;
(function (AddressType) {
    AddressType["CurrentHome"] = "CurrentHome"
    AddressType["DestinationHome"] = "DestinationHome"
    AddressType["CurrentWork"] = "CurrentWork"
    AddressType["DestinationWork"] = "DestinationWork"
})(AddressType || (AddressType = {}));
/** @typedef {'Y'|'N'|'Item'} */
export var YesNo;
(function (YesNo) {
    YesNo["Y"] = "Y"
    YesNo["N"] = "N"
    YesNo["Item"] = "Item"
})(YesNo || (YesNo = {}));
export class RelocationsRequestFileAddress {
    /** @param {{AddressType?:AddressType,Primary?:YesNo,AddressLine1?:string,City?:string,Country?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {AddressType}
     * @description Type of address (CurrentHome, DestinationHome, CurrentWork, DestinationWork) */
    AddressType;
    /**
     * @type {YesNo}
     * @description Indicates if this is the primary address */
    Primary;
    /**
     * @type {string}
     * @description Address line 1 */
    AddressLine1;
    /**
     * @type {string}
     * @description City */
    City;
    /**
     * @type {string}
     * @description Country */
    Country;
}
export class RelocationsRequestFilePhone {
    /** @param {{Type?:string,Primary?:YesNo,Number?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Phone type (e.g., Mobile, OriginHome) */
    Type;
    /**
     * @type {YesNo}
     * @description Indicates if this is the primary phone number */
    Primary;
    /**
     * @type {string}
     * @description Phone number */
    Number;
}

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