API Access
The EverywhereRetail API allows 3rd party programs access to EverywhereRetail data.
Each API endpoint accepts an https POST request with an APIAuthKey and criteria parameters. The APIAuthKey is generated on the Administration->Setup->System Setup form.
The criteria parameters as usually a date range where transactions created in that date range are returned.
If no records qualify, an empty JSON array is returned
If a large number of records would qualify, the result is throttled to a smaller number, depending on the endpoint.
Sales
List using GET
This endpoint returns sales created during the date range specified. If more than 1000 sales match, only the first 1000 are returned.
Authenticates via an APIAuthKey
https://everywhereretail.com/api/Sales?salestart=2018-11-1&saleend=2018-11-15&apiauthkey=[key]
[{
"SaleId": 79831, Internal ID
"CustomerId": 96657, Internal ID
"StyleId": 1323, Internal ID
"StoreStyle": "6", Store style assigned by shop
"VendorStyle": "Aida-30123",
"CategoryId": 166, Caegory Internal ID
"Category": "Bridal",
"VendorId": 1507, Vendor Internal ID
"Vendor": "Amsale",
"Size": "08",
"Color1": "Red",
"Color2": null,
"Color3": null,
"Quantity": 1,
"UnitCost": 2200, Unit cost of item
"ExtPrice": 4840, Extended price without adjustments
"ExtNetPrice": 5082, Extended price with any adjustments included
"ExtTaxAdjusted": 242, Extended tax with adjustments
"ExtTax": 100, Tax without any adjustments
"SalesPerson1Id": 40, user Internal ID
"SalesPerson1": "eddie",
"SalesPerson2Id": 0, User Internal ID
"SalesPerson2": null,
"StoreId": 1, Store Internal ID
"OrderInstructions": "ok to order per rick",
"CreatedDate": "2018-11-15T15:58:39.823",
"Cancelled": null, If the sale was cancelled, then this contains the date it was cancelled
"RevenueReportDate": null, The date the revenue was realized for the sale, null if unrealized
"TicketNumber": 343-3434-3433, The ticket number for this sale
"PONum": 10-1100, PO number if issued, null if not
"Customer": {
"CustomerId": 96657, Internal ID
"Last": "Caitland",
"First": "Sue"
},
"SaleFees": [ Array of fees for the sale, empty array if no fees
{
"SaleFeeId": 26490, Sale Fee Internal ID
"Description": "Fee 1",
"Price": 20,
"Cost": 10,
"Taxable": true,
"RevenueReportDate": "2019-03-27T00:00:00", The date the revenue was realized for the sale, null if unrealized
"CreatedDate": "2019-03-27T18:11:09.26"
},
{
"SaleFeeId": 26491,
"Description": "Fee 2",
"Price": 60,
"Cost": 30,
"Taxable": true,
"RevenueReportDate": "2019-03-27T00:00:00",
"CreatedDate": "2019-03-27T18:11:09.263"
}
]
}]
Inventory
List using GET
This endpoint returns inventory where the last receive date is within the date range specified. If more than 1000 inventory items match, only the first 1000 are returned.
Authenticates via an APIAuthKey.
https://everywhereretail.com/api/Inventory?receivestart=2018-11-29&receiveend=2018-11-29&apiauthkey=[key]
If the inventory item has one or more QOH records they are returned as a sub-array.
[{
"StyleId": 54820, Internal ID
"StoreStyle": "675969",
"VendorStyle": "3500",
"VendorId": 1081, Internal ID
"CategoryId": 166, Internal ID
"Vendor": "Allure Bridal",
"Category": "Bridal",
"Description": "Allure Bridals W350 No Rush",
"SizeAvailable":"2,4,6",
"Colors1Available":"White,Ivory",
"Colors2Available":null,
"Colors3Available":null,
"Price1": 1748,
"Price2": 0,
"ReorderCost": 699,
"Season": null,
"ImageURL1": null,
"ImageURL2": null,
"ImageURL3": null,
"ImageURL4": null,
"Attributes": null,
"Service": false,
"LastReceived": "2018-03-30T07:09:00",
"Colors1Label": null,
"Colors2Label": null,
"Colors3Label": null,
"Notes": null,
"Discontinued": null,
"RetailFactor": null,
"ToReview": false,
"Spiff": null,
"SpiffType": null,
"ColorURL1": null,
"SizeURL1": null,
"Source": "2018-03-30 07:09",
"Inactive": false,
"DeletedDate": null, If a style is deleted but in use on sales, it's flagged with a deleted date and left in the system
"QOH": [
{
"QOHId": 39640, Internal ID
"Size": "20W",
"Color1": "Champ/Ivry/S",
"Color2": null,
"Color3": null,
"Quantity": 1,
"UnitCost": 0,
"StoreId": 1, Internal ID
"Received": "2018-03-30T00:00:00",
"QOHNum": "0000000130",
"UPC": null,
"PONum": null,
"Notes": null,
"MarkdownDate": null,
"LastPhysicalDate": null,
"LastModificationDate": "2018-03-30T07:09:03.707",
"CreatedDate": "2018-03-30T11:09:03.707"
}
]
}]
Appointments
This endpoint returns appointments where the appointment date is within the date range specified.
List using GET
The URL accepts a Page and/or Count parameter as well.
Page indicates which page of data to return. Page defaults to 1 if not specified. Count indicates how many records to return on the page. Count defaults to 25 if not specified.
Authenticates via an APIAuthKey.
https://everywhereretail.com/api/Appointments?appointmentstart=2018-11-01&appointmentend=2018-11-29&apiauthkey=[key]&page=1&count=50
[{
"AppointmentId": 25947, Internal ID
"AppointmentStatus": "Confirmed",
"AttendeeName": "Joe",
"AttendeeEmail": "hosting@bblsystems.com",
"StartTime": "2018-11-23T13:00:00",
"EndTime": "2018-11-23T14:30:00",
"SalesPersonId": 0, Internal ID
"SalesPerson": null,
"TypeId": 1, Internal ID
"AppointmentType": "Bridal First",
"StoreId": 1, Internal ID
"BlockId": 1804, Internal ID of the AppointmentResource
"AppointmentResource": "Room2",
"ModifiedUserName": "eddie",
"ModifiedDateTime": "2018-11-30T13:39:38.89",
"GoogleEventId": "uh5mrceoauklfbk7h3haepd9ls",
"CreatedUserName": "eddie",
"CreatedDateTime": "2018-11-15T20:42:18",
"ChargeSaved": null, Credit card token
"AttendeeZip": null,
"AttendeeState": null,
"AttendeePhone": "4045556094",
"AttendeeNotes": null,
"AttendeeLastName": "Allen",
"AttendeeCountryCode": "1",
"AttendeeCity": null,
"AttendeeBudget": null,
"AttendeeAddress": null
}]
SMS
This endpoint receives SMS messages sent outside of EverywhereBridal.
Create using POST with JSON body
Inserts a SMS message into the SMS log for the customer based on the phone number supplied. Conversationid not used at this time. Id not used at this time. Externalcontactid not used at this time. outbound is true if message is from Retailer to Customer. false if from Customer to Retailer.
Authenticates via an APIAuthKey or KenectKey.
https://everywhereretail.com/api/sms?kenectkey=[key]
https://everywhereretail.com/api/sms?apiauthkey=[key]
{
"primaryphone": "8005551212",
"converstationid": 1,
"externalcontactid": "1234",
"id": 2,
"messagebody": "Here is the SMS message",
"outbound": true,
}
Customers
This endpoint returns existing customers or adds new customers.
Create using POST with JSON body
If the customer already exists from a match on email or phone, returns 409. Otherwise 200 if insert successful.
Authenticates via an APIAuthKey or KenectKey.
https://everywhereretail.com/api/customers?kenectkey=[key]
https://everywhereretail.com/api/customers?apiauthkey=[key]
{
"email": "test@example.net",
"first": "Kenect ",
"last": "Joe",
"primaryphone": "8005551212"
}
List using GET
Authenticates via an APIAuthKey or KenectKey.
https://everywhereretail.com/api/customers?kenectkey=[key]&page=1&count=25
https://everywhereretail.com/api/customers?apiauthkey=[key]&page=1&count=25
[
{
"ExternalCustomerId": "8005551212-1",
"CustomerId": 367010,
"Last": "Joe",
"First": "Kenect ",
"Email": "testx@example.net",
"PrimaryPhone": "8005551212"
},
{
"ExternalCustomerId": "8885551212-1",
"CustomerId": 367011,
"Last": "Joe",
"First": "Kenect ",
"Email": "testz@example.net",
"PrimaryPhone": "8885551212"
}
]