Release notes for the Doshii API.
Release Date: 14/10/2022
- Fixed issue in item availability events from POS menu updates referring to filtered menus
- Updated filtered menu to allow product options in a filtered menu to reference POS global options without requiring additional links
Release Date: 14/09/2022
- Updated order_created and order_updated events for App partners to include availableEta and mealPhase properties
- Fixed issue where Order@Table and Pay@Table apps were not being notified when table changes occurred
- Updated to send transaction events to Pay@Table apps if the transaction is associated to an order with checkin
- Added order total validation logic to both POS and Partner API
Release Date: 05/08/2022
- Updated audit logic to improve higher volumes
- Updated API to dispatch checkin_created to Apps when checkin created as part of order submission
- Added support for app_menu_published event
- Updated to include id in the app menu categories payload
Release Date: 13/07/2022
- Updated HMAC signature verification for some integrations
- Updated Menu events to use posId rather than customPosId
- Updated internal dependencies
Release Date: 04/07/2022
- Added category.id to App Menu Category payloads
- Improvements to internal APM logic for API
Release Date: 10/06/2022
- Updated checkin logic to ensure checkin is moved to complete when completedAt is provided
- Relaxed email restrictions in POS API to align with Partner API
Release Date: 19/05/2022
- Improved validation on Partner API when location header does not match entity location
- Updated logic for GET ~/tables/openOrders=true
- Updated webhook verifier to support a JSON or string response
- Fixed race condition during surcount updates in Menu API
- Improved logging when payload errors occur in Menu API
- Fixed timing issue in notification service when entity not found
Release Date: 05/04/2022
- Fixed bug in API timeout logic
- Further improved logging of API timeouts
- Added support for health_check event via webhooks
Release Date: 10/03/2022
- Added support for the new menu_sync POS event
- Improved logging when the POS API request contains an invalid JWT
- Improved logging of API timeouts
- Updated Menu API to better handle missing cached menu
Release Date: 18/02/2022
- Added support for App Capabilities in the GET ~/apps POS endpoints
- Minor update to address log messages occurring when log endpoints accessed
- Initial support for new Employee endpoints
- Updated Virtual Item logic to use correct variant name
- Updated menu endpoints to be accessible by Order streaming certified App partners
Release Date: 17/01/2022
- Update location endpoints in Partner API to include mapped location IDs
- Addressed memory concerns in module dependencies
Release Date: 12/01/2022
- Update location endpoints in Partner API to include location classification
- Improved auditing process
Release Date: 16/11/2021
- Updated data policies (PII, own data).
- Updated Tables endpoint to retrieve tables with open orders.
- Updated Deliveroo to support unknown modifier posIds.
Release Date: 20/08/2021
- Updated to include loyalty member references in the POS order payload.
Release Date: 05/07/2021
- Updated to truncate order notes to a maximum of 255 characters.
- Updated health check responses for POS utilising webhooks.
Release Date: 13/05/2021
- Improved performance monitoring of core Partner services.
- Added support for TRN in the POS and Partner transaction-related API endpoints.
- Updated to ensure prepaid transactions could not be submitted by POS.
- Fixed issue where menu version was not set correctly during product updates.
- Updated Menu API to prevent large lists of tags or menuDir values on product payloads.
Release Date: 03/05/2021
- Improved performance monitoring of core POS services.
- Updated authorisation logic to support unregistered Apps.
- Updated module dependencies.
Release Date: 29/03/2021
- Addressed intermittent performance issues when under heavy load.
- Fixed issue where duplicate locations could occur in GET /locations Partner API endpoint.
- Updated module dependencies.
Release Date: 19/01/2021
- Added transactions payload to Partner API - GET /checkins/:id/orders.
- Updated Menu API to improve throughput and remove redundant updates.
- Fixed issues related to intermittent API timeouts.
Release Date: 05/01/2021
- Altered connection timeout settings.
- Added POS API endpoint verification during authentication logic.
Release Date: 11/12/2020
- Improved support in handling infrastructure failures.
Release Date: 04/12/2020
- Improvements in microservices architecture.
- Added transactions information to GET/tables/:tableName/orders endpoint.
Release Date: 10/11/2020
- Introduce more granular security on Partner API access.
- Added ability to query by posCreatedAt during GET /orders endpoint.
- Allow mealPhase to be modified by Apps during order updates.
- Allow for partial changes to be supplied in the POS API.
- Modified Partner API location health endpoints to return trading false if location status is trading temporarily halted.
Release Date: 15/10/2020
- Improve handling of internal errors.
- Added revenueCentre to order and table payloads.
- Added posDisplayId to the order payload for the Partner API.
- Added menu description and menu imageUri to the Menu API.
Release Date: 02/10/2020
- Added ability for POS to issue Last-Mile delivery request via API endpoint.
Release Date: 22/09/2020
- Added support for POS webhooks
- Added new Menu Image endpoints in POS API
- Added improved support for larger menu payloads
- Improved support for additional last-mile delivery information
- Improved internal auditing and performance of order workflows
Release Date: 08/09/2020
- Added GDPR support to restrict access to GDPR-restricted locations to GDPR compliant Apps
- Added marketingOptIn property to consumer payloads
- Improved internal logging
Release Date: 11/08/2020
- Improved API monitoring for cancelled and rejected orders
- Updated POS API authentication process to use POS Vendor API name
- Added support for Delivery apps to work with Dine-In orders due to POS limitations
- Added prepTimes (if configured) to Partner API Location health endpoints
- Added initial support for menu item availability
Release Date: 23/07/2020
- Added support for test orders
- Fixed transaction payload URI when attached as child property on order
- Include location images in Partner API location endpoints
- Add support for table service in Deliveroo
- Overall API performance improvements
- Fixed issue in Menu API with customised option min/max values of 0
Release Date: 23/06/2020
- Added support for Order Streaming apps
- Updated to support the conversion of order notes to open items (depending on the integrated POS)
- Improved handling of blocking calls
- Added support to generate Loyalty and Delivery events based on order items
- Improved caching and internal event filtering to improve overall performance of API
- Added support for bundledItems in the Menu API payload
- Improved support for Cloud POS Vendors during real-time eventing
- Improved logging on invalid websocket requests
Release Date: 12/05/2020
- Added support for delivery apps
- Added publicWebsiteUrl and email to Location endpoints
- Added email to the POS onboarding endpoints
- Added support for custom product descriptions in Menu API endpoints
Release Date: 28/04/2020
- Further improvements in Menu Management for defining product options
- Added app information to ordering events for POS
- Added imageUri property to POS API endpoints for retrieving subscribed Apps
- Added imageUri property to menu products in Menu API endpoints for Menu Management images
- Initial support for tax information in Doshii order payload
Release Date: 13/04/2020
- Improve image management to now utilise edge services for image retrieval
- Further improvements in Menu Management for Order ahead integration
Release Date: 09/04/2020
- Further improvements in Menu Management for Order ahead integration
Release Date: 31/03/2020
- Updated dependencies
- Security improvements/enhancements
- Performance improvements through updated infrastructure and technology
- Additional infrastructure and logic to support integration with Square POS
- Improvements in Menu Management for Order ahead integration
Release Date: 10/03/2020
- Updated dependencies
- Security improvements/enhancements
- Fixed bug in validation during the Menu Resources retrieval endpoint
- Updated to prevent posCreatedAt from being modified after being set by POS
- Added support for Automatic Checkin Completion location capability
Release Date: 10/02/2020
- Improved performance of Menu API endpoints
- Added posOrganisationId to Create Organisation endpoint
- Prevent subsequent attempts to modify posCreatedAt
- Added version property to order_created, order_updated, transaction_created and transaction_updated
- Added ability to link members to orders during order submission in Partner API
Release Date: 26/11/2019
- Updated to support custom POS IDs for certified Apps
- Updated paypal to the list of supported payment methods
- Updated the Location endpoints in the Partner API to include lat/long details of location
- Added support for posDisplayId on an order
- Improved API stability under load
Release Date: 01/11/2019
- Updated internal dependencies to improve performance
- Enhanced menu management logic to support the customisation of item tags
- Fixed issue when updating tables via POS API
- Introduced new location_hours_updated event for Apps
Release Date: 17/10/2019
- Updated inconsistency in consumer address notes between Partner and POS APIs
- Added enumerated list of phases to the Order payload, describing the lifecycle of an order
- Added checkin status to the checkin_created and checkin_updated notification events
- Updated order_updated event to include the external order reference
- Added rewards to Loyalty Checkins and Loyalty Member Activity workflows
- Introduced new venue classifications (Winery, Brewery, Festival and Function Hall) in Onboarding API
- Updated to allow orderId on transactions payload to be Doshii ID for unlinked orders in POS API
- Improved webhook activity monitoring (added uuid to event payload)
- Introduced improved webhook retry logic
- Introduced a new UUID for each Doshii event, to improve idempotency.
- Added support for Menu Management (App-specific customised menus)
- Fixed bug in Order state machine allowing a POS to change the status of a cancelled order
- Updated PIP process to allow provider user/password credentials to be supplied
- Improved data cleanup/validation during order submission
- Updated Location unsubscibe workflow to unregister any location-specific webhooks
- Added new Doshii events for menu management notifications
- Overall performance improvements for API endpoints
Release Date: 04/09/2019
- Updated POS API to include App's order reference in Order payload.
- Updated POS API to allow checkins to be created with status other than pending.
- Added Location local time to Location Health endpoints.
- Improved Partner API validation to further restrict access to endpoints for Apps certified for read-only logic.
- Added Loyalty Member APIs (enquiry, activity and checkins).
- Added alternate names support to Menu API.
- Updated PIP and Gift Card endpoints to enforce mandatory requirement of requestedAppId.
- Improved validation on Partner API order creation.
- Fixed issue with parsing of checkTables query parameter when creating checkins in Partner API.
- Introduced new Order@Table certification type.
- Updated Partner API authentication to use JWT bearer tokens.
Release Date: 22/07/2019
- Added posId to Tables endpoints in POS API.
- Fixed bug in POS API where the rejection reason was not persisted on rejected checkins.
- Updated Menu API to prevent duplicate product posIds from being submitted.
- Added support for pos terminals on Order, Booking and Check-in creation.
- Added support for global options/modifiers in Menu API.
- Added ability for App-created checkins to be cancelled by creating App.
- Updated websocket authentication requirements for Apps.
- Added support for Loyalty Checkins in both POS and Partner API.
- Improved internal logging of validation errors.
- Added standard property to Location Operating Hours API endpoint.
- Added support to generate numeric item UUIDs.
- Added status and trading information to Location Health endpoints.
Release Date: 11/06/2019
- Added timezone to POS Onboarding API.
- Updated GET /location on Partner API to return timezone information if populated.
- Fixed bug in Partner API subscription endpoint when supplying a mapped location ID.
- Added orderUri property to POS API Transactions payload.
- Fixed bug in bookings endpoint in POS API where deleted checkins were still referenced.
- Added support for location-specific webhooks in Partner API.
- Fixed intermittent 502 issue with websocket connections.
- Updated authentication requirements for Apps using websockets.
- Upgraded 3rd party libraries in Resources API.
Release Date: 14/05/2019
- Improve meal bundle support for Food Aggregator integration.
- Updated to dispatch websocket/webhook event when location is (un)subscribed.
- Improved monitoring of websocket connections.
- Added rejectionCode and rejectionReason to transaction/payment endpoints.
- Updated payment timeouts to assign rejection details.
- Added posLocationId property to POS Onboarding API.
- Fixed issue where orderId on transaction was not reflecting posRef in POS API in certain situations.
- Upgraded 3rd party libraries.
Release Date: 08/04/2019
- Added support for creating PIP requests without an order.
- Further improvements to menu endpoint response times.
- Fixed minor issue in transaction audit logs.
- Improved multi-threaded handling of transaction update logic.
- Fixed issue with cancelled PIP requests resulting in 504 Gateway Timeout.
- Updated to return createdByApp on POS API - GET /checkins.
- Prevent access to Partner API endpoints when not certified or only certified for Bulk Data.
- Added location capability to Onboarding API.
Release Date: 05/03/2019
- Improved internal management of socket connections.
- Fixed validation message for duplicate booking when created by Partner API.
- Improved performance of Loyalty endpoints.
- Fixed logging issues for transactions and bookings to improve performance and storage.
- Improved filter support for App Devices on websocket connections.
- Improved App relationship management for orders.
- Initial support for message queueing of POS events.
- Introduced new Partner API endpoints to subscribe to order events for a specific order (subscribe / unsubscribe).
- Fixed issue where organisations created through onboarding API were not visible in dashboard.
- Improved performance for menu management.
- Added validation to restrict menu item prices to reject large amounts (e.g. 10000000000)
Release Date: 22/01/2019
- Updated to dispatch transaction events to Apps linked to associated order.
- Added support for order pre-processing / price checking.
- Fixed issue where order audit log was incorrectly created for appended orders.
- Updated transaction amount and tip fields to support String or Integer.
- Updated to expose Partner API menu endpoints on read-only service.
- Improved validation on unapproved items' status within orders.
Release Date: 19/12/2018
- Fixed logging issues for order updates to improve performance and storage.
- Updated references to remove deprecated third party dependencies.
- Added operating hours support to the location onboarding endpoints.
- Fixed bug in POST /checkins to allow consumer to be omitted.
Release Date: 07/12/2018
- Added new resources endpoints to both POS and Partner API.
- Added support to specify location classification during POS Onboarding API.
- Fixed potential race condition in PIP requests.
- Improved validation messages for unauthorised access.
- Added validation to Venue Onboarding API to sanitise supplied address details.
- Updated surcount validation to reject decimal points in amount field when type is absolute.
- Fixed bug in certain scenarios where checkin status was not defaulting to pending.
- Prevented orphan checkins by disallowing the creation of a checkin on order update if already linked to a checkin.
- Added additional payment methods to supported list (directdeposit, cheque, alipay, wechatpay, zip and moto).
- Added support for GTIN, SKU, PLU codes in menu payload. See community post for details.
- Addressed several areas of technical debt related to the usage of third party modules.
- Removed legacy code to improve API performance.
- Fixed issue with uri property on menu payload.
Release Date: 22/10/2018
- Updated PIP workflow to support verification data request.
- Updated PIP event dispatching to only dispatch to PIP channel if transaction created for PIP.
- Added new property, method, to transactions payload to describe the payment method used.
- Add new GiftCard endpoints for POS and Partner.
- Added new GET /apps/:id endpoint for POS.
- Fixed logic issue in GET /locations endpoint for POS.
- Updated subscription endpoints in Partner API to dispatch websocket events to POS.
- Updated Doshii heartbeats for POS to support more detailed information.
- Introduced new health_check event to allow real-time health monitoring of venue.
Release Date: 31/08/2018
- Improved performance of Partner authentication logic.
- Improved effectiveness of background websocket cleanup task.
- Updated GET /orders endpoint to support larger payload requests if accessed on the read-only endpoint and gzip compression is enabled.
- Fixed issue in POST /bookings/:bookingId/checkin to ensure checkin_created event contains valid checkin ID.
- Added support for Webhooks for Apps.
- Improved event queueing logic when handling multiple WebSocket connections.
- Added new Partner endpoint to retrieve orders for a given checkin.
- Added new Partner endpoints to retrieve specific products and surcounts from a menu.
- Updated Convert to Checkin endpoint to emit both a checkin_created and booking_updated event.
- Prevented Remove Booking if pre-order linked to reservation.
- Updated Reservation state machine to support more status transitions for POS.
- Fixed issue in Create Booking endpoint to allow other status to be supplied.
- Removed Doshii v2 endpoints and support.
Release Date: 10/07/2018
- Upgraded all technical dependencies, resulting in improved performance.
- Fixed issue where POS could not submit surcounts with descriptions.
- Added support to queue up to 10 minutes worth of websocket events, to be replayed on reconnection.
- Added compression/gzip support across POS and Partner API.
- Update GET /apps endpoint to only return subscribed apps.
Release Date: 29/05/2018
- Support POS-Initiated Payments (PIP).
- Added support for redemption codes as payment.
- Added support for the doshii-terminal-id http header.
- Added x-doshii-api-version to response header.
- Applied several performance improvements and module dependency updates.
- Added uri to the POS terminal payloads (see GET /terminals).
- Fixed posRef value on transaction_updated event.
- Fixed issue with uri in Tables payload for POS API (see GET /tables).
- Improved support for gzip/compressed menu payloads (request and response).
- Fixed issue that prevented a pending transaction from being cancelled.
- Improved validation messages for all endpoints.
- Updated to allow transactions to be created by POS during order creation.
- Added filter criteria to GET /tables endpoints for both POS and Apps.
- DELETE /table/:tableName now returns a 200 on success with no payload.
- Improve validation for Apps when linking a new order to an existing checkin.
Release Date: 19/04/2018
- Support pre-orders to be created and linked to a reservation booking.
- Added posCreatedAt property to order payload.
Release Date: 27/03/2018
- Added support on the GET /orders endpoint to filter orders by posRef and externalOrderRef.
- Fixed issue where bookingId was not present on a nested checkin.
- GET /tables/:tableName/orders updated to only return accepted orders by default.
- Updated checkin logic to ensure completedAt is set when appropriate.
- Added internal improvements to monitoring
- Added hashed location details to all relevant websocket events
Release Date: 19/03/2018
- Fixed websocket event uris for linked and unlinked orders
- Fixed websocket event uris for tables