Repository navigation
Support for customer API spec v0.20143_c5f8b54b3_20261005 (Go SDK v1.5.0 parity)
New APIs
- Catalog items:
$client->catalogItemswithlist(),all(),get(),create(),update()(full PUT replacement), anddelete(). Requires the product catalog feature. - Custom thumbnail sizes:
files->getThumbnail($uuid, $width, $height)fits thumbnails within 1–2000 px, preserving aspect ratio. - Timed rentals: optional
isFullDay,issueAt, anddueAton rental create/update requests (omitted when null), exposed onRentalCaseResponse.
Rate limiting and errors
- Clients throttle to 200 requests per minute by default, evenly spaced without bursts. Pass
requestsPerMinuteto anyClient::with*()factory to override it, or0to disable. Throttling blocks the calling process and does not retry HTTP 429 responses. ApiExceptionnow exposes response$headersandheader(), plusretryAfter()to parseRetry-Afteras delay-seconds or an HTTP date.
Changes
- Task reminders:
reminders: nullomits the field;[]explicitly disables reminders. - Breaking: rooms and locations return API responses unchanged;
{uuid, fields}unwrapping andHelpers::unwrapResourceFields()are removed. - Breaking:
PersonResponsereads flat records only; the UUID comes fromperson_uuid(theuuidalias is removed). - Fix:
persons->all(),users->all(), andcatalogItems->all()yield sequential keys across pages, soiterator_to_array()no longer drops earlier pages.
Documentation and verification
- Updated README (including a corrected Rentals example) and end-to-end demo with catalog and timed-rental steps.
- 265 unit tests passed on PHP 8.5.11 against the merged tree.
- 46 live integration tests passed, no skips, covering catalog CRUD, timed rentals, custom thumbnails, optional reminders, rate limiting, and error headers. Run before the final
all()key fix, which is covered by unit tests. - Live demo completed successfully.
Pull request: #8
Full changelog: v1.4.0...v1.5.0