Document

APIDescription
POST api/Document/Add

Add one document to an activity by posting json document model object, for this site, customer and activity. Required form data: CustomerId or CustomerRefCode, ActivityId

GET api/Document?siteOwnerId={siteOwnerId}&customerId={customerId}&documentId={documentId}

Fetch the document for this customer and site. Required: SiteOwnerId, CustomerId, DocumentId.

GET api/Document?siteOwnerId={siteOwnerId}&customerId={customerId}&customerRefCode={customerRefCode}&filterType={filterType}

Fetch the available document list information for this customer and site. Required: SiteOwnerId, CustomerId OR CustomerRefCode.

POST api/Document

Add documents to an activity by posting multipart/form-data for this site, customer and activity. Required form data: SiteOwnerId, CustomerId or CustomerRefCode, ActivityId

Customer

APIDescription
GET api/Customer/Search/{searchString}

Search active customers by name via search string

GET api/Customer/ContactEmail?siteOwnerId={siteOwnerId}&contactEmail={contactEmail}

Get list of Customers by SiteOwnerId and contact email address

PUT api/Customer

Update a customer entry in Exsalerate, or if it doesn’t exist create customer. This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Required: CustomerName, AssignedToEmail.

POST api/Customer

Create a new customer for a specific site owner. Required: CustomerName, AssignedToEmail. Returns: CustomerId

GET api/Customer?siteOwnerId={siteOwnerId}

Get total Customer count for a SiteOwnerId

GET api/Customer?siteOwnerId={siteOwnerId}&refCode={refCode}

Get Customer by SiteOwnerId and Reference Code

GET api/Customer?siteOwnerId={siteOwnerId}&page={page}&modifiedSince={modifiedSince}&phase={phase}

Get a Paged list of active companies by siteownerid (100 at time). Page starts at 0. Optionally provide a modified date to filter by only those modified since. Optionally provide a phase to filter by matching phase name.

SiteOwner

APIDescription
POST api/SiteOwner

Create a new Site Owner in Exsalerate. Required: CompanyName, Phone, Country.

GET api/SiteOwner

Returns Site Owner Information.

Turnover

APIDescription
PUT api/Turnover

Update turnover entries in Exsalerate – by LinkId This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Note: Optional GrossMarginValue/GrossMarginPercent – only provide one or other not both. Exsalerate will calculate the other field. Required: SiteOwnerId, LinkId, Year, Month, Amount

CustomerAddress

APIDescription
GET api/CustomerAddress?siteOwnerId={siteOwnerId}&customerId={customerId}

Get the primary address for this customer. Required: SiteOwnerId, CustomerId

PUT api/CustomerAddress

Update the primary address for a customer. This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Required: SiteOwnerId, CustomerId or RefCode

POST api/CustomerAddress

Create a new Customer Address. Required: SiteOwnerId, CustomerId or RefCode

Contact

APIDescription
GET api/Contact?siteOwnerId={siteOwnerId}&customerId={customerId}

List all Contacts for a customer. Required: SiteOwnerId, CustomerId.

POST api/Contact

Create a new Contact for a customer. Required: SiteOwnerId, CustomerId, FirstName, LastName.

PUT api/Contact

Update a contact entry in Exsalerate, or if it doesn’t exist create contact. This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Contact is located by either refcode or name. Customer is located by either CustomerID or CustomerRefCode. Required: SiteOwnerId, CustomerId or CustomerRefCode, FirstName, LastName.

SiteUser

APIDescription
POST api/SiteUser

Create a new Site User in Exsalerate. The new user will be emailed welcome instructions to initiate their password. required: All properties.

GET api/SiteUser?userId={userId}&userName={userName}

Validate this user is an active site user in Exsalerate

Activity

APIDescription
GET api/Activity?siteOwnerId={siteOwnerId}&startDate={startDate}&endDate={endDate}&salesRep={salesRep}&accountManager={accountManager}&customerRefCode={customerRefCode}

Fetch Activity Detail Report data

GET api/Activity?siteOwnerId={siteOwnerId}

Fetch Activity Types

PUT api/Activity?siteOwnerId={siteOwnerId}&activityId={activityId}&notes={notes}

Append notes to an existing activity

POST api/Activity

Create a new activity for a specific customer Required: SiteOwnerId, Subject, ActivityType. Returns: ActivityId

Calendar

APIDescription
GET api/Calendar?siteOwnerId={siteOwnerId}

Query if Add In has calendar control

PUT api/Calendar?siteOwnerId={siteOwnerId}&hasControl={hasControl}

Set Add In calendar control

POST api/Calendar

Create a new calendar activity for a specific customer Required: SiteOwnerId, Subject, ActivityType, ActivityDateTime, RecurrenceType Agenda – Notes for everyone, Description – Internal notes for your team only, RecurrenceType: 0 – none, 1 – Daily, 2 – Weekly, 3 – Monthly RecurrenceRepeats: repeat x times , RecurrenceInterval: every x recurrence type. Eg: Every 2 Days repeats 3 times Returns: ActivityId

DELETE api/Calendar?siteOwnerId={siteOwnerId}&uniqueId={uniqueId}&activityDateTime={activityDateTime}&allInstances={allInstances}

Delete a calendar activity. Optionally, all recurring instances.

PUT api/Calendar

Update an existing calendar activity via the unique id This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. By default only this instance (by date/time and unique ID) is modified. To also modify all subsequent recurrences, set the AllInstances to true. To modify the date/time set the ActivityModifiedDateTime parameter.