The Contacts endpoint supports GET, PUT and POST.

The purpose is to allow you to access add to and update the Clients, Suppliers and Prospects in Streamtime. You could develop a custom CRM interface or use the contact information in a quote or invoice builder or a job creator.

The fields available as criteria in the API Previewer when utilising the Contacts endpoint for a GET include - 

Contact UID is the identifier for a company but is not displayed in the Streamtime interface so you will need to do a GET to find it out.

Contact Name relates to the Company Name.

Branch is the Branch Code from the Setup - Administration - Branches tab in Streamtime. This allows you to return the companies and people related to a specific Streamtime branch.

Currency is the Currency Code from the Setup - Administration - Currency & Tax tab in Streamtime.

Pricing Tier UID relates to the Products Endpoint <UID> field under <Pricing> and is the Cost Matrix Price Tier the contact company is related to.

Stop Credit relates to the Credit Hold field against a company.

Account Manager is the Client Manager assigned to the contact from your team. It will relate to one of your Streamtime users.

Contact Type is Prospect, Client, Supplier, Client and Supplier or Inactive, the options available in the Company Type field.

To see some simple example PHP code for interfacing with the Streamtime API click here.

Currency, PricingTierUID, Branch, StopCredit, Type, Country all get set automatically based on Streamtime Setup - System Setup defaults when doing a PUT/POST if they are not specified in the XML/JSON.

There is no minimum requirements when doing a PUT/POST but ideally you will have a Company Name as a minimum.

The full list of fields returned when doing a GET are -

COMPANY

'UID'
'Name'
'Currency'
'PricingTierUID'
'Branch'
'StopCredit'
'AccountManager'
'Type'

Address: Type = 'Postal' {
'AddressLine1'
'AddressLine2'
'AddressLine3'
'City'
'State'
'Country'
'PostalCode'
}
Address: Type = 'Delivery' : {
'AddressLine1'
'AddressLine2'
'AddressLine3'
'City'
'State'
'Country'
'PostalCode'
}
Phone: {
'Fax'
'Phone 1'
'Phone 2'
}

PEOPLE (returned along with the Company detail above)

'UID'
'Title'
'FirstName'
'LastName'
'Position'
'Department'
'Email'

Address: Type = 'Postal' {
'AddressLine1' => 'Address 1',
'AddressLine2' => 'Address 2',
'AddressLine3' => 'Address 3',
'City' => 'Address City',
'State' => 'Address State',
'Country' => 'Address Country',
'PostalCode' => 'Address PCode'
}
Phone: {
'Mobile' => 'Mobile Number',
'Phone Direct' => 'DDI Number',
'Fax Direct' => 'DDI Fax'
}

Please note: If doing a PUT/POST via, for instance, the Job endpoint, you include the <name></name> tag in your related contact details and leave it blank or make it different to the existing company name it will update the contacts table. This is expected behaviour. You can simply use the Client UID to link the company and would only use name when making a job for a new client who doesn't currently exist in Streamtime Contacts.

Did this answer your question?