Create or update a location
Changed onAdds a location to your program, or updates one already in it.
An id updates that location; failing that a known external_id does; failing both, the address is matched against locations already known to Ekho and a new one is created only if nothing matches. Sending the same external_id again updates rather than conflicts, so a nightly full sync is safe to run.
Neither identifier is required. Omit external_id and work off the id returned. Renaming an external_id means sending id alongside the new value.
Adding a location needs name and address. An update, by id or by a known external_id, may omit either and keeps what is stored. A name on an update sets what your program calls the location and takes effect at checkout. An address naming the same building is accepted however it is spelled. One naming a different building moves the location when Ekho created it through this API for your program alone and the new address is in the same state; otherwise it returns 409 for Ekho to review, and nothing is changed.
A new external_id whose address matches a location your program already holds under another external_id returns 409 rather than taking that location over. Update it by its id instead. Prices are never sent or returned, and each service is charged at your program's own rate.
Request
- Base URL: https://api.ekho.com
- URL: https://api.ekho.com/locations
- Auth: HTTP bearer
Request body
Example request
{
"id": "svp_7Ye2kQp91LmXw4Za",
"external_id": "APEX-4471",
"name": "Apex Powersports of Charlotte",
"address": {
"address_line_one": "1100 Apex Commerce Dr",
"address_line_two": "Suite 120",
"city": "Charlotte",
"state": "NC",
"zip": "28217"
},
"email": "service@apexpowersports.example",
"phone": "+17045550143"
}Response
An existing location was updated.
Example response
{
"data": {
"id": "svp_7Ye2kQp91LmXw4Za",
"external_id": "APEX-4471",
"name": "Apex Powersports of Charlotte",
"email": "service@apexpowersports.example",
"phone": "+17045550143",
"address": {
"address_line_one": "1100 Apex Commerce Dr",
"address_line_two": "Suite 120",
"city": "Charlotte",
"state": "NC",
"zip": "28217",
"lat": 35.2271,
"lng": -80.8431
}
}
}Changes
- info
the request property
became optional - info
the request property
became optional
- info
- breaking
removed the enum value
deliveryof the request property/ - warning
removed the request property
- warning
added the new
last_leg_deliveryenum value to the//response property for the response status - warning
added the new
last_leg_deliveryenum value to the//response property for the response status - info
added the new
last_leg_deliveryenum value to the request property/ - info
removed the
deliveryenum value from the//response property for the response status - info
removed the
deliveryenum value from the//response property for the response status
- breaking