Document

APIDescription
POST api/Document/AddAdd 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/DocumentAdd 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/CustomerUpdate 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/CustomerCreate 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

SiteOwner

APIDescription
POST api/SiteOwnerCreate a new Site Owner in Exsalerate. Required: CompanyName, Phone, Country.
GET api/SiteOwnerReturns Site Owner Information.

Turnover

APIDescription
PUT api/TurnoverUpdate 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
PUT api/CustomerAddressUpdate 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/CustomerAddressCreate a new Customer Address. Required: SiteOwnerId, CustomerId or RefCode

Contact

APIDescription
POST api/ContactCreate a new Contact for a customer. Required: SiteOwnerId, CustomerId, FirstName, LastName.
PUT api/ContactUpdate 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/SiteUserCreate 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/ActivityCreate a new activity for a specific customer Required: SiteOwnerId, Subject, ActivityType. Returns: ActivityId