canopy_check_bookable
Check which businesses are bookable
Given businesses you already found for the user (name plus phone, website or address), report which ones can be booked through Canopy and how (booking_mode). Results come back in exactly the order you sent them. Canopy never ranks, filters or recommends businesses. Results are returned in the same order as the input.
输入参数businesses必填
resolve_business
Look up one business on Canopy
Match one business the user named to its Canopy listing, by phone, website, or name (add the city, state or ZIP code when you know it). Returns at most one match, with its booking_mode and locations, or found=false. When a name alone is not certain, found=false comes with up to 5 candidates in alphabetical order for the user to choose from.
输入参数phoneaddresswebsitebusiness_name
get_availability
Get open appointment times
List open appointment slots for a Canopy business, optionally for one service and one location, between two dates. Slots are cached from the business calendar (see synced_at); the time is re-checked live when you book.
输入参数to_datetimezonefrom_dateservice_idlocation_idoperator_id必填customer_zip
request_booking
Start a booking
Start a booking with a Canopy-connected business. Canopy automatically routes to the correct flow based on the operator's booking mode: auto-confirm (booked right away in the business's calendar; the customer is emailed a confirmation), request-times (propose preferred times), or submission-only (callback request). Summarize the booking and get the customer's go-ahead before calling.
输入参数notesslot_idcustomer必填service_idlocation_idoperator_id必填customer_zipidempotency_keypreferred_timesagent_callback_url
propose_times
Propose preferred times
Propose preferred times to a business that reviews booking requests. The business will approve one time (that books it; the customer is emailed a confirmation) or propose an alternative (the customer confirms it from an emailed code). Check status with get_request_status.
输入参数notescustomer必填service_id必填location_idoperator_id必填customer_zipidempotency_keypreferred_times必填agent_callback_url
request_callback
Request a callback
Request a callback from a business. They will contact the customer directly. No calendar booking is created.
输入参数notescustomer必填service_idlocation_idoperator_id必填customer_zipidempotency_keyagent_callback_url
get_request_status
Check a booking request
Check the status of a booking request (preferred times or callback). Returns pending, approved, rejected, counter_proposed, expired, or converted. Needs the manage_token that came back when the request was made.
输入参数request_id必填manage_token必填
reschedule_booking
Ask to move a booking to another time
Ask to move a booking the customer already confirmed (booked with the business) to another open slot of the same service and location (slot_id from get_availability). Nothing moves right away: Canopy emails the customer a link to approve the new time, and the business calendar changes only after they approve. A hold the customer has not confirmed yet cannot be moved. Calling again with the same slot_id reports whether it was approved. Needs the manage_token that came back with the booking_id.
输入参数reasonslot_id必填booking_id必填manage_token必填
cancel_booking
Cancel a booking
Cancel a booking made through Canopy. The appointment is called off in the business's calendar right away and the customer is emailed. This cannot be undone: confirm with the customer before calling. An appointment that has already started cannot be cancelled here. Needs the manage_token that came back with the booking_id.
输入参数reasonbooking_id必填manage_token必填
get_business_terms
Get a business's prices and terms
Get the prices of a Canopy business's bookable services, its fees and its cancellation terms, exactly as the business has them on file. Anything the business has not put on file comes back as on_file=false: tell the customer it is not on file (they can ask the business) and never estimate or fill in a value.
输入参数operator_id必填