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