Platform Subscription API

<back to all web services

GetLicenseeContactList

Returns a list of contacts a licensee is linked to. Contacts are returned in batches.

Requires Authentication
The following routes are available for this service:
GET/api/licensee/contacts
"use strict";
export class ConnectedContactDetailModel {
    /** @param {{Type?:string,ContactDetails?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The type of contact detail this is (email/mobile/fax/website etc) */
    Type;
    /**
     * @type {string}
     * @description The contact detail. e.g (phone number or email address) */
    ContactDetails;
}
export class ConnectedContactAddressModel {
    /** @param {{FullAddress?:string,IsPrimary?:boolean,IsPostal?:boolean,IsRegistered?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description A full address string of the address. */
    FullAddress;
    /**
     * @type {boolean}
     * @description If true, this is the contacts primary address. */
    IsPrimary;
    /**
     * @type {boolean}
     * @description If true, this is the contacts postal address. */
    IsPostal;
    /**
     * @type {boolean}
     * @description If true, this is the contacts registered address. */
    IsRegistered;
}
export class ConnectedContactConnectionsModel {
    /** @param {{RoleId?:string,Role?:string,StatusId?:string,Status?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Guid of the role within Eros */
    RoleId;
    /**
     * @type {string}
     * @description Name of the role this contact is connected to the licensee with. */
    Role;
    /**
     * @type {string}
     * @description Guid of the role connections status within Eros. */
    StatusId;
    /**
     * @type {string}
     * @description Connection status of the role. It maybe active or pending. */
    Status;
}
export class ContactLinkedCustomerProjectsModel {
    /** @param {{ProjectId?:string,Name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Guid of the project within Eros. */
    ProjectId;
    /**
     * @type {string}
     * @description Name of the project. */
    Name;
}
export class ConnectedContactSubscriptionsModel {
    /** @param {{DatasourceId?:string,Datasource?:string,AlternateKey?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Guid of the datasource within Eros. */
    DatasourceId;
    /**
     * @type {string}
     * @description Name of the datasource that is the external system with a record of this contact. */
    Datasource;
    /**
     * @type {string}
     * @description Foreign Key lookup of this contact in the external system the datasource represents. */
    AlternateKey;
}
export class ConnectedContactModel {
    /** @param {{ContactId?:string,Salutation?:string,Title?:string,FirstName?:string,MiddleName?:string,Surname?:string,FullName?:string,LegalName?:string,TradingName?:string,BirthDate?:string,MaritalStatusId?:string,MaritalStatusName?:string,GenderId?:string,GenderName?:string,Language?:string,InterpreterRequired?:boolean,ContactTypeName?:string,ContactTypeId?:string,Description?:string,EmploymentIndustry?:string,EmploymentRole?:string,EmploymentGeographicArea?:string,Abn?:string,Acn?:string,Arbn?:string,TimezoneName?:string,ContactDetails?:ConnectedContactDetailModel[],ContactAddresses?:ConnectedContactAddressModel[],IsContactConnected?:boolean,Connections?:ConnectedContactConnectionsModel[],Projects?:ContactLinkedCustomerProjectsModel[],Subscriptions?:ConnectedContactSubscriptionsModel[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Guid of the contact object within Eros. */
    ContactId;
    /**
     * @type {string}
     * @description The salutation(preferred name) for the contact. Applies to a person contact type. */
    Salutation;
    /**
     * @type {string}
     * @description The title for the contact. Applies to a person contact type. */
    Title;
    /**
     * @type {string}
     * @description The first given name for the contact.  Applies to a person contact type. */
    FirstName;
    /**
     * @type {string}
     * @description Any middle names for the contact.  Applies to a person contact type. */
    MiddleName;
    /**
     * @type {string}
     * @description The surname for the contact.  Applies to a person contact type. */
    Surname;
    /**
     * @type {string}
     * @description The full name for the contact. */
    FullName;
    /**
     * @type {string}
     * @description A legal name for the contact. Applies to an organisation contact type. */
    LegalName;
    /**
     * @type {string}
     * @description A trading name for the contact. Applies to an organisation contact type. */
    TradingName;
    /**
     * @type {?string}
     * @description The birth date for the contact.  Applies to a person contact type. */
    BirthDate;
    /**
     * @type {?string}
     * @description Guid of the marital status within Eros. */
    MaritalStatusId;
    /**
     * @type {string}
     * @description The contacts marital status if set. */
    MaritalStatusName;
    /**
     * @type {?string}
     * @description Guid of the gender within Eros. */
    GenderId;
    /**
     * @type {string}
     * @description The contacts gender if set. */
    GenderName;
    /**
     * @type {string}
     * @description Preferred language of the contact. */
    Language;
    /**
     * @type {boolean}
     * @description If true, the contact requires an interpreter. */
    InterpreterRequired;
    /**
     * @type {string}
     * @description Contact Type name of the contact. */
    ContactTypeName;
    /**
     * @type {string}
     * @description Guid of the Contact Type List Item object within Eros. */
    ContactTypeId;
    /**
     * @type {string}
     * @description Description of the contact for their external profile. */
    Description;
    /**
     * @type {string}
     * @description Contact 'Profession/Trade/Industry' details for their external profile. */
    EmploymentIndustry;
    /**
     * @type {string}
     * @description Contact 'Working/Subcontracting for' details for their external profile. */
    EmploymentRole;
    /**
     * @type {string}
     * @description Contact 'Work Area/Suburbs' detail for their external profile. */
    EmploymentGeographicArea;
    /**
     * @type {string}
     * @description The A.B.N for the contact. */
    Abn;
    /**
     * @type {string}
     * @description The A.C.N for the contact. */
    Acn;
    /**
     * @type {string}
     * @description The A.R.B.N for the contact. */
    Arbn;
    /**
     * @type {string}
     * @description Timezone name that applies to the contact. */
    TimezoneName;
    /**
     * @type {ConnectedContactDetailModel[]}
     * @description A list of the contact details for the contact. */
    ContactDetails;
    /**
     * @type {ConnectedContactAddressModel[]}
     * @description A list of the contact addresses for the contact */
    ContactAddresses;
    /**
     * @type {boolean}
     * @description True if this contact has at least 1 active connection to the licensee. Without an active connection only public profile information for the contact is returned. */
    IsContactConnected;
    /**
     * @type {ConnectedContactConnectionsModel[]}
     * @description A list of connections this contact has with the licensee. May be active or a pending request to connect. */
    Connections;
    /**
     * @type {ContactLinkedCustomerProjectsModel[]}
     * @description A list of projects this contact is linked to as a customer. */
    Projects;
    /**
     * @type {ConnectedContactSubscriptionsModel[]}
     * @description A list of integration subscriptions used to link this contact to external records in other licensee owned systems. */
    Subscriptions;
}
export class GetLicenseeContactListResponse {
    /** @param {{Contacts?:ConnectedContactModel[],ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {ConnectedContactModel[]}
     * @description List of contacts. */
    Contacts;
    /**
     * @type {ResponseStatus}
     * @description Details of the api response. Success/Fail. */
    ResponseStatus;
}
export class GetLicenseeContactList {
    /** @param {{BatchSize?:number,BatchNumber?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description Number of contacts to retrieve per call. */
    BatchSize;
    /**
     * @type {number}
     * @description Call number (1=1st, 2=2nd) this should progress upwards until all contacts have been retrieved. */
    BatchNumber;
}

JavaScript GetLicenseeContactList 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 /api/licensee/contacts HTTP/1.1 
Host: production-eros-platform-apisubscription.azurewebsites.net 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Contacts: 
	[
		{
			Salutation: String,
			Title: String,
			FirstName: String,
			MiddleName: String,
			Surname: String,
			FullName: String,
			LegalName: String,
			TradingName: String,
			BirthDate: 0001-01-01,
			MaritalStatusId: 00000000-0000-0000-0000-000000000000,
			MaritalStatusName: String,
			GenderId: 00000000-0000-0000-0000-000000000000,
			GenderName: String,
			Language: String,
			InterpreterRequired: False,
			ContactTypeName: String,
			Description: String,
			EmploymentIndustry: String,
			EmploymentRole: String,
			EmploymentGeographicArea: String,
			Abn: String,
			Acn: String,
			Arbn: String,
			TimezoneName: String,
			ContactDetails: 
			[
				{
					Type: String,
					ContactDetails: String
				}
			],
			ContactAddresses: 
			[
				{
					FullAddress: String,
					IsPrimary: False,
					IsPostal: False,
					IsRegistered: False
				}
			],
			IsContactConnected: False,
			Connections: 
			[
				{
					Role: String,
					Status: String
				}
			],
			Projects: 
			[
				{
					Name: String
				}
			],
			Subscriptions: 
			[
				{
					Datasource: String,
					AlternateKey: String
				}
			]
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}