Platform API

<back to all web services

CreateContact

Requires Authentication
The following routes are available for this service:
All Verbs/api/contacts/{ContactId}/create/person
All Verbs/api/contacts/{ContactId}/create/organisation
"use strict";
export class AddContactResponse {
    /** @param {{ContactId?:string,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    ContactId;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class UserProfileSummaryModel {
    /** @param {{UserProfileId?:string,UserId?:string,ContactId?:string,UserName?:string,ProfileName?:string,ContactFullName?:string,EmailAddress?:string,EmailSignature?:string,MobileNumber?:string,PhoneNumber?:string,ContactTypeId?:string,ContactTypeName?:string,FirstName?:string,Surname?:string,Title?:string,LegalName?:string,TradingName?:string,Abn?:string,Acn?:string,Arbn?:string,GstRegistered?:boolean,ESL?:boolean,Language?:string,InterpreterRequired?:boolean,LicenseeNotes?:string,ProfilePhotoUrl?:string,ProfilePhotoThumbnailUrl?:string,ProfileImageId?:string,Description?:string,EmploymentIndustry?:string,EmploymentRole?:string,EmploymentGeographicArea?:string,Timezone?:string,TimezoneName?:string,PrimaryAddress?:string,IsActiveContact?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description User Profile Id */
    UserProfileId;
    /**
     * @type {string}
     * @description User linked to the profile */
    UserId;
    /**
     * @type {string}
     * @description Contact linked to the profile */
    ContactId;
    /**
     * @type {string}
     * @description User linked to the profile */
    UserName;
    /**
     * @type {string}
     * @description User Profile Name */
    ProfileName;
    /**
     * @type {string}
     * @description Full name of the contact linked to the profile */
    ContactFullName;
    /**
     * @type {string}
     * @description Email Address of the contact linked to the profile */
    EmailAddress;
    /**
     * @type {string}
     * @description Email signature of the contact linked to the profile */
    EmailSignature;
    /**
     * @type {string}
     * @description Mobile number of the contact linked to the profile */
    MobileNumber;
    /**
     * @type {string}
     * @description Phone number of the contact linked to the profile */
    PhoneNumber;
    /**
     * @type {string}
     * @description Type of contact (person, organisation etc.) linked to the profile */
    ContactTypeId;
    /**
     * @type {string}
     * @description Type of contact (person, organisation etc.) linked to the profile */
    ContactTypeName;
    /**
     * @type {string}
     * @description First name of the contact linked to the profile */
    FirstName;
    /**
     * @type {string}
     * @description Surname of the contact linked to the profile */
    Surname;
    /**
     * @type {string}
     * @description Title of contact linked to the profile */
    Title;
    /**
     * @type {string}
     * @description Legal name of contact linked to the profile */
    LegalName;
    /**
     * @type {string}
     * @description Trading name of contact linked to the profile */
    TradingName;
    /**
     * @type {string}
     * @description Australian Business Number */
    Abn;
    /**
     * @type {string}
     * @description Australian Company Number */
    Acn;
    /**
     * @type {string}
     * @description Australian Registered Body Number */
    Arbn;
    /**
     * @type {boolean}
     * @description Indicates if the Contact is registered for GST. */
    GstRegistered;
    /**
     * @type {boolean}
     * @description True if english is a secondary language for the contact. */
    ESL;
    /**
     * @type {string}
     * @description Language that is the primary language for the contact. */
    Language;
    /**
     * @type {boolean}
     * @description True if an interpreter is required. */
    InterpreterRequired;
    /**
     * @type {string}
     * @description Licensee specific notes about the contact. */
    LicenseeNotes;
    /**
     * @type {string}
     * @description Profile photo of contact linked to the profile */
    ProfilePhotoUrl;
    /**
     * @type {string}
     * @description Thumbnail photo of contact linked to the profile */
    ProfilePhotoThumbnailUrl;
    /**
     * @type {string}
     * @description Profile photo id of contact linked to the profile */
    ProfileImageId;
    /**
     * @type {string}
     * @description Profile description */
    Description;
    /**
     * @type {string}
     * @description Employment Industry */
    EmploymentIndustry;
    /**
     * @type {string}
     * @description Employment Role */
    EmploymentRole;
    /**
     * @type {string}
     * @description Areas of Work */
    EmploymentGeographicArea;
    /**
     * @type {string}
     * @description The contacts timezone. */
    Timezone;
    /**
     * @type {string}
     * @description Timezone Name */
    TimezoneName;
    /**
     * @type {string}
     * @description The primary address of the contact */
    PrimaryAddress;
    /**
     * @type {boolean}
     * @description Is this an active contact? Or an inactive contact (deleted account)? */
    IsActiveContact;
}
export class CreateContact {
    /** @param {{ContactId?:string,Contact?:UserProfileSummaryModel,Roles?:string[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Contact Id creating the contact */
    ContactId;
    /**
     * @type {UserProfileSummaryModel}
     * @description Details of the virtual contact being created */
    Contact;
    /**
     * @type {string[]}
     * @description List of roles to invite the contact */
    Roles = [];
}

JavaScript CreateContact DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/contacts/{ContactId}/create/person HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"ContactId":"00000000-0000-0000-0000-000000000000","Contact":{"UserProfileId":"00000000-0000-0000-0000-000000000000","UserId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","UserName":"String","ProfileName":"String","ContactFullName":"String","EmailAddress":"String","EmailSignature":"String","MobileNumber":"String","PhoneNumber":"String","ContactTypeId":"00000000-0000-0000-0000-000000000000","ContactTypeName":"String","FirstName":"String","Surname":"String","Title":"String","LegalName":"String","TradingName":"String","Abn":"String","Acn":"String","Arbn":"String","GstRegistered":false,"ESL":false,"Language":"String","InterpreterRequired":false,"LicenseeNotes":"String","ProfilePhotoUrl":"String","ProfilePhotoThumbnailUrl":"String","ProfileImageId":"00000000-0000-0000-0000-000000000000","Description":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","Timezone":"00000000-0000-0000-0000-000000000000","TimezoneName":"String","PrimaryAddress":"String","IsActiveContact":false},"Roles":["00000000-0000-0000-0000-000000000000"]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ContactId":"00000000-0000-0000-0000-000000000000","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}