API Change Log – 29 Oct 2024
2 months ago by Uppal
Updates for this release.
Packages
- API Endpoint: {api_url}/v1/guests/{guest_id}/packages/{package_user_id}/benefits
- Scenario: This API fetches package benefits with apportioned values for redeemed, transferred, and refunded amounts.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API fetches the benefits included in a package, providing detailed information on the apportioned values. It covers the amounts for redeemed, transferred, and refunded benefits.
Payments
- API Endpoint: {api_url}/v1/payments/onboarding/businesses/centers
- Scenario: This API retrieves user-accessible center details, including information on any businesses linked to each center.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves details of centers accessible to the user. It also provides information on any businesses linked to each center, if available.
Payments
- API Endpoint: {api_url}/v1/payments/onboarding/businesses?business_id={business_id}
- Scenario: This API retrieves details of businesses onboarded with the processor within an organization.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves details of businesses that have been onboarded with the payment processor in an organization. It provides comprehensive information about each onboarded business.
Fitness
- API Endpoint: {api_url}/v1/guests/{guest_id}/levels
- Scenario: This API lists all the available training levels, providing details on each level.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API lists all available training levels. It provides detailed information for each level.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/organizations/kpi/flat_file
- Scenario: This API retrieves the details of business key performance index (KPI) parameters.
- API method: POST
- Earlier behavior: The business KPI report response does not include the bundle_quantity and bundle_price properties.
- New behavior: This API includes two new properties, bundle_quantity and bundle_price, in the business KPI report response.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/sales/accrual_basis/flat_file
- Scenario: This API retrieves the sales made by the current center for a specific day or over a selected time period, applicable if your business uses accrual-based accounting.
- API method: POST
- Earlier behavior: The sales accrual report response does not include the property bundle_name.
- New behavior: This API adds the new property bundle_name to the sales accrual report response.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/sales/cash_basis/flat_file
- Scenario: This API retrieves the Sales Cash report data, providing details on cash-based sales transactions.
- API method: POST
- Earlier behavior: The sales cash report response does not include the property bundle_name.
- New behavior: This API adds a new response property, bundle_name, to the sales cash report.
Fitness
- API Endpoint: {api_url}/v1/guests/{guest_id}/levels
- Scenario: This API enables adding an available training level to a guest's profile.
- API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API allows you to add an available training level to a guest's profile.
SmartBot
- API Endpoint: {api_url}/v1/centers/{center_id}/working_hours/{date}
- Scenario: This API fetches the working hours of a center, including both in-center and online availability.
- API method: GET
- Earlier behavior: This API provides the center's offline hours in the response.
- New behavior: This API includes online center hours in the response when the expand parameter is specified in the request.
Reports – Core V2
- API Endpoint: {api_url}/v1/organizations/business_units
- Scenario: This API fetches a list of business units within an organization.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves a list of business units within an organization.
Integrations - Accounting
- API Endpoint: {api_url}/v1/integrations/{integration_type}/reset
- Scenario: This API resets the existing integration configuration in Zenoti for a specified integration type, allowing customers to remove current setups or switch to new partners, and includes functionalities to reset specific master data lists as needed.
- API method: PUT
- Earlier behavior: This API is used to reset the configuration of a specified integration type.
- New behavior: This API now includes a new parameter in the request body, which is used to reset the configuration.
Reports – Core V2
- API Endpoint: {api_url}/v1/organizations/categories/list
- Scenario: This API retrieves the organization categories along with sub-categories.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API fetches the organization categories along with their corresponding sub-categories.
WebPOS – Webstore V2
- API Endpoint: {api_url}/v1/invoices/{invoice_id}/promotion_discounts
- Scenario: This API is used to unapply a gift card promotion discount code from a specified invoice.
- API method: DELETE
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API allows you to remove a gift card promotion discount code from a specific invoice.
WebPOS – Webstore V2
- API Endpoint: {api_url}/v1/invoices/{invoice_id}/promotion_discounts
- Scenario: This API is used to apply a gift card promotion discount code to a specified invoice.
- API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API allows you to add a gift card promotion discount code to a given invoice.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/sales/accrual_basis/flat_file
- Scenario: This API retrieves the sales made by the current center for a specific day or over a designated time period, applicable if your business follows accrual-based accounting.
- API method: POST
- Earlier behavior: The request class does not include the new property sub_categories.
- New behavior: This API will include the new property sub_categories in the request class.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/sales/cash_basis/flat_file
- Scenario: This API retrieves the Sales Cash report data.
- API method: POST
- Earlier behavior: The API does not include the sub_categories property in the request class.
- New behavior: This API will include the new property sub_categories in the request class.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/collections/flat_file
- Scenario: This API adds new filters (guest_gender, guest_nationality) in the request class and includes new columns (guest_gender, guest_nationality) in the response class.
- API method: POST
- Earlier behavior: This API does not include the new properties guest_gender and guest_nationality in the response.
- New behavior: This API will include the properties guest_gender and guest_nationality in the response model.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/sales/accrual_basis/flat_file
- Scenario: This API retrieves the sales made by the current center for a specific day or time period, applicable if your business uses accrual-based accounting.
- API method: POST
- Earlier behavior: This API does not include the properties guest_gender and guest_nationality in the response.
- New behavior: This API will add the new properties guest_gender and guest_nationality to the response model.
Reports – Core V2
- API Endpoint: {api_url}/v1/reports/sales/cash_basis/flat_file
- Scenario: This API adds new filters (guest_gender, guest_nationality) to the request class and introduces new columns (guest_gender, guest_nationality) in the response class.
- API method: POST
- Earlier behavior: This API does not currently include the properties guest_gender and guest_nationality in the response.
- New behavior: This API will include the new properties guest_gender and guest_nationality in the response model.
Memberships
- API Endpoint: {api_url}/v1/guests/{guest_id}/memberships/{user_membership_id}/membership_price?centerId=
- Scenario: This API updates the membership price for a guest.
- API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API updates the member price to the new price.
Digital Forms V3
- API Endpoint: {api_url}/v1/guests/{guest_id}/files/filter
- Scenario: This API can be used to retrieve files using various filters such as guest_id, form_id, and tag_ids.
- API method: POST
- Earlier behavior: This API has a restricted API key and does not include a filter for ownerid.
- New behavior: This API now allows the API key and includes a filter for ownerid. The ownerid has been added to both the request and response.
WebPOS
- API Endpoint: {api_url}/v1/invoices/refunds?invoice_type=SingleBooking&invoice_id=
- Scenario: This API retrieves items associated with an invoice refund.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves detailed information about refunded items for a specific invoice, including refund transactions, quantities, amounts, dates, group invoice status, and any related errors.
WebPOS
- API Endpoint: {api_url}/v1/invoices/payments?invoice_type={invoice_type}&invoice_id={invoice_id}&is_offline_payments_enabled={is_offline_payments_enabled}
- Scenario: This API provides the payment details for invoices.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves payment/transaction details for a specified invoice ID.
WebPOS
- API Endpoint: {api_url}/v1/invoices/redemptions?invoice_type=SingleBooking&invoice_id=
- Scenario: This API provides the redemption details for invoice.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves details about invoice redemptions.
Appointment Book V3
- API Endpoint: {api_url}/v1/Centers/{center_id}/settings/appointment_display
- Scenario: This API will be used to get center's appointment display settings.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API will return the updated display settings for the appointment book.
Digital Forms V3
- API Endpoint: {api_url}/v1/reports/forms/guest_forms/flat_file
- Scenario: This API retrieves guest form details for appointments within a specified date range.
- API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves data for the guest forms report.
Digital Forms V2 and Digital Forms V3
- API Endpoint: {api_url}/v1/classes/custom_tags
- Scenario: This API retrieves all forms that are associated with tags.
- API method: GET
- Earlier behavior: The list_type was hardcoded, limiting functionality to only classes of tag forms.
- New behavior: This API allows you to send list_type = 0 to retrieve service tag forms.
Digital Forms V2 and Digital Forms V3
- API Endpoint: {api_url}/v1/forms
- Scenario: This API updates the associations for forms.
- API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API updates the form associations at the appointment level.
Digital Forms V2 and Digital Forms V3
- API Endpoint: {api_url}/v1/classes/custom_tags
- Scenario: This API retrieves all forms associated with tags.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API retrieves the appointment forms.
Digital Forms V3
- API Endpoint: {api_url}/api/Appointments/{AppointmentId}/CustomFormManualExpiry
- Scenario: This API sets the manual expiry date for the custom form.
- API method: POST
- Earlier behavior: This API does not validate the appointment ID or form ID and allows access for anonymous users.
- New behavior: This API includes enhanced security features such as validation for cross-organization access, appointment ID, center-specific appointment ID, form ID, and anonymous tokens. It validates the appointment ID and form ID while restricting access for anonymous users.
Digital Forms V3
- API Endpoint: {api_url}/api/Appointments/{OrganizationId}/OrgGuestForm/HtmlForm
- Scenario: This API returns the HTML code for a V2 Guest Form.
- API method: GET
- Earlier behavior: This API allows employees without a role and anonymous users to access the HTML details of the guest form.
- New behavior: This API implements a security demand and anonymous check, preventing employees without a role and anonymous users from accessing the HTML details of the guest form.
Digital Forms V3
- API Endpoint: {api/Catalog/Appointments/{AppointmentId}/GetMacrosForHTMLForm
- Scenario: This API retrieves custom macros for service and tag forms.
- API method: GET
- Earlier behavior: This API does not verify the user context.
- New behavior: This API checks whether the API key includes user context.
API V1 Memberships
- API Endpoint: {api_url}/v1/centers/{center_id}/visits_history
- Scenario: This API retrieves the complete visit history of a guest, including membership details, guest information, and center details.
- API method: GET
- Earlier behavior: This API returns the check-in history details for a guest.
- New behavior: This API will include an additional attribute in the model class to indicate whether the guest has purchased a family membership.
Digital Forms V2 and Digital Forms V3
- API Endpoint: {api_url}/v1/forms
- Scenario: This API updates the associations of forms.
- API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API updates the form associations at the appointment level.
Digital Forms V2 and Digital Forms V3
- API Endpoint: {api_url}/v1/forms
- Scenario: This API retrieves the form associations for the specified ownerId.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API provides the form associations for the specified ownerId, which also encompasses the appointment forms.
Digital Forms V2 and Digital Forms V3
- API Endpoint: {api_url}/v1/classes/custom_tags
- Scenario: This API retrieves all forms that are associated with tags.
- API method: GET
- Earlier behavior: The list_type was hardcoded, causing the API to return only class tag form associations.
- New behavior: The hardcoded list_type has been moved into a parameter, allowing the API to retrieve tag form associations for services as well.
TIPs Payout
- API Endpoint: {api_url}/v1/payouts/accounts?type=${PayoutType.Tips}
- Scenario: This API retrieves bank account details for tips payouts specific to centers, including onboarding status and TnC acceptance. It provides a complete overview of each account’s status and progress.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API fetches bank account details for tips payouts across centers, including onboarding status and TnC acceptance. It gives a complete view of each center’s linked accounts and their status.
TIPs Payout
- API Endpoint: {api_url}/v1/payouts/tips/accounts
- Scenario: This API adds a new bank account to the tips payout program independently of specific centers, allowing for flexible linking and delinking. Accounts added via Stripe’s Instant Verification or Zenoti’s cross-center programs enable immediate linking, bypassing additional verification processes.
- API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API enables adding bank accounts to the tips payout program without center-specific links, supporting flexible account management. Accounts verified by Stripe or Zenoti programs can link instantly, while the request’s source (Core, ZFE, or Stripe) determines the account type and reference ID.
TIPs Payout
- API Endpoint: {api_url}/v1/onboarding/centers?onboarding_type=${OnboardingAcceptanceType.Tips} (or) {{api_url}}/v1/payroll/centers
- Scenario: This API retrieves accessible centers, including addresses and account details, for the logged-in user. It supports payroll and tips payouts by specifying the onboarding type and can be extended for additional onboarding types.
- API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: This API fetches accessible centers with address and account details, usable for payroll and tips payouts based on the specified onboarding type. It is designed for easy extension to support new onboarding types without additional endpoints.