tickethead-sdk
Version:
SDK for the Tickethead API
1,569 lines (842 loc) • 30.7 kB
Markdown
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [10.0.1] - 2025-06-23
### Changed
- The name of the publicly published package is now `tickethead-sdk`, so that it is not scoped privately (#117)
- Moved from .npmignore to specifying files in package.json, so that the package is smaller and does not contain unnecessary files
## [10.0.0] - 2025-06-13
### Changed
- BREAKING (#169):
- Main export renamed from `BAM` to `SDK`
- Main export file renamed from `bam.ts` to `sdk.ts`
- `BamOptions` renamed to `SdkOptions`
- `BAMgregatorService` renamed to `AggregatorService`
- `.bamgregator` field renamed to `.aggregator`
- Restored the publishing step in the pipeline, so that the SDK is published to the NPM registry (#117)
- The name of the published package is now `@tickethead/sdk`, so that it inline with the company name (#117)
### Fixed
- The pipeline now publishes automatically to the Azure Artifacts feed (#168)
- The public publishing step is now fixed, so that it publishes to the NPM registry (#117)
## [9.1.2] - 2025-06-11
### Changed
- Error messages should now be more precise instead of the generic message.
## [9.1.1] - 2025-06-10
### Added
- Scripts for exporting QR codes for external use
## [9.1.0] - 2025-06-09
### Added
- Method for manually confirming order (#147)
## [9.0.0] - 2025-06-03
### Changed
- `refundPaymentFee` changed to `refundPlatformFee`, so that it works with event service@^8.0.0 (#149)
## [8.3.3] - 2025-05-30
### Added
- `refundPaymentFee` field on the `RefundOrderBody` interface (#132)
- `publish:private` script for publishing to our own registry
## [8.3.2] - 2025-05-29
### Added
- `additionalOrganizers` field to `CreateValidator` to support multi-validator creation (#146)
## [8.3.1] - 2025-05-27
### Fixed
- Edge case where both the impersonation and the impersonator token expire. Now the impersonator token is refreshed before a new impersonated token is obtained. (#129)
## [8.3.0] - 2025-05-23
### Added
- `credentialsExpired` event, which would allow for easier logout tracking on the frontend
- All credentials now have a `isRefreshable` function
## [8.2.0] - 2025-05-19
### Changed
- Base urls for testing to `https://api.staging.tickethead.io` (#112)
## [8.1.2] - 2025-05-19
### Removed
- Removed the NPM publishing step until we have the connection set up, so we can build development in the meantime (#120)
## [8.1.1] - 2025-05-16
### Added
- `branding` to `OrganizerAdditionalFields` type
## [8.1.0] - 2025-05-07
### Added
- CRUD methods for branding settings for organizer
## [8.0.1] - 2025-04-22
### Fixed
- Outdated path for the file coverage in the pipeline. The newer version of tap uses a different one.
## [8.0.0] - 2025-04-17
### Added
- `eventEmitter` on the BAM object, which will notify all listeners on important SDK state changes, like authorization changes, logout, organizer changes and similar.
The full list is `authorizationChanged`, `logout` ,`initialized`, `organizerChanged`, `tenantChanged` and `tokenRefreshed`.
- Handling of ImpersonationCredentials when deserializing the SDK
- `isRefreshableToken` function is now exported
- Utility for transforming the QR codes from an event
- `logout` and `isLoggedIn` methods
### Fixed
- The credential types actually being omitted when serializing and deserializing the SDK, leading to improper deserialization
### Removed
- The guest credentials are now no longer the default and the SDK supports running in unauthorized mode.
## [7.36.0] - 2025-04-03
### Added
- Missing BrainTree and HyperPay/OpenPayment/Hobex methods needed for the marketplace (#6704)
- Download ticket PDF and remove ticket from order methods
## [7.35.0] - 2025-03-28
### Added
- `deleted` field in the user update body (#6702)
- Missing query parameters from the user list (#6702)
## [7.34.1] - 2025-03-21
### Added
- `recipient_email` and `recipient_username` filters to query type for listing send ticket request (#6684)
## [7.34.0] - 2025-03-20
### Added
- method for resending send ticket request (#6681)
## [7.33.0] - 2025-03-18
### Added
- methods for listing all and getting single send ticket request (#6676)
## [7.32.1] - 2025-03-10
### Added
- missing `ticket` field on timeslot interface
## [7.32.0] - 2025-02-27
### Added
- `attachUpdateProxy` function which allows you to track all changes to an object, ie. for only sending updates to APIs
- `attachDebugProxy` function which returns a proxy which will print out all changes made to the object
## [7.31.0] - 2025-02-25
### Added
- Method for converting order format to PDF
## [7.30.1] - 2025-02-12
### Fixed
- SonarQube version in the pipeline, causing the pipeline to fail
## [7.30.0] - 2025-02-07
### Added
- `parentOrganizerName` to the organizer resource
- `referralSource` to the user
## [7.29.1] - 2025-02-04
### Changed
- Reduced the type required for creating some resources, as it was erroneous
## [7.29.0] - 2025-01-20
### Added
- `associated_ticket_config` array to timeslots
- Some JSDoc
## [7.28.0] - 2025-01-17
### Added
- `ticket_config_capacity` field on timeslots
## [7.27.1] - 2025-01-16
### Fixed
- added missing `display_order` field on `CreateTicketConfig` interface
## [7.27.0] - 2025-01-16
### Added
- `display_order` field on timeslots
## [7.26.0] - 2024-12-30
### Added
- `confirmPasswordReset`, `resendEmailVerification`, `verifyEmail`, `sendPhoneVerification`, `verifyPhone`, `revokeWallet`, `listFees`, `getReportingToken` methods for the account service
- `cancelOrder` under the order service
## [7.25.0] - 2024-12-26
### Added
- `display_priority` field on events
- `display_order` field on ticket configs and sectors
## [7.24.2] - 2024-12-13
### Fixed
- Types for certain event service resources
## [7.24.1] - 2024-12-12
### Added
- `redirectUrl` property to the `Occurrence` model
## [7.24.0] - 2024-11-27
### Added
- methods for listing all offers and creating an order to the orderbook service
## [7.23.0] - 2024-11-25
### Added
- `redirectUrl` and `showSaleEndTimer` to the event and ticket config resources, respectively
## [7.22.1] - 2024-11-14
### Fixed
- The `signWithFallback` and `verifyWithFallback` functions now handle cases where the key algorithm is not supported
by the native implementation, by falling back to the pure js one.
## [7.22.0] - 2024-11-13
### Added
- Native signing, when available, through `createQrPayloadForTicketAsync` and `signWithFallback` functions. Results below:
| Test | Result |
| ----------------------------------------------------- | ------: |
| Signing 1000 tickets natively | 483ms |
| Signing 1000 tickets natively, without key conversion | 416ms |
| Signing 1000 tickets in pure Js | 18414ms |
- Included native verification, when available, through `qrToTicketDataAsync` functions.
### Deprecated
- `createQrPayloadForTicket` for `createQrPayloadForTicketAsync`
- `qrToTicketData` for `qrToTicketDataAsync`
Since the new versions are pretty drop-in with much better performance.
## [7.21.0] - 2024-11-13
### Added
- `qrToTicketInvalidateCallAsync` function call, which uses the native crypto library for signature verification, resulting in ~150x speedup.
This is important for the validator app.
- `verifyWithFallback` function for verifying signatures with the above functionality
- `verifyNative` function, if you know your environment has `crypto` available
### Deprecated
- `qrToTicketInvalidateCall`, since `qrToTicketInvalidateCallAsync` is mostly a drop-in replacement with superior performance
## [7.20.1] - 2024-11-11
### Added
- Ticket signing benchmark
- Script for running benchmarks, used with `npm run benchmark`
## [7.20.0] - 2024-10-31
### Added
- `companyRegisterNumber` and `logoUrl` fields on the organizers
## [7.19.0] - 2024-10-30
### Added
- `extractAccessDataFromValidatorQrCode` method for extracting the access data from the validator QR code easily
- Updated README with more examples and options the SDK supports
## [7.18.1] - 2024-10-22
### Fixed
- Script for the tests (test:lcov) which used to run folders which do not contain tests, leading to the pipeline failing
## [7.18.0] - 2024-10-21
### Changed
- Expanded queries for fetching organizer events, ticket configurations and ticket discounts with additional fields
### Added
- Tests for ticket configurations CRUD
- Test for ticket discounts CRUD
## [7.17.1] - 2024-10-10
### Added
- Utility script for associating all ticket discounts with a code with other occurrences of an event. The script is in `test/utils/discount-codes-recurring.ts`. Just run it in the debug mode.
## [7.17.0] - 2024-10-09
### Added
- BaseUrl values for TH, along with default tenant values for TH and BAM QA
## [7.16.0] - 2024-10-03
### Added
- The authorize calls no longer refresh the token if the token already contains the permissions for the specified organizer.
This is to avoid unnecessary calls to the auth service, when used in environments where all permissions are already present in the token.
## [7.15.0] - 2024-09-25
### Added
- Organizers now have `gtmId` field
## [7.14.3] - 2024-09-20
### Added
- `.env.example` file, so that not all tests are simply removed strings and can be refactored to use the `.env` file in the future
- Test for resending all emails for an event, which is mostly so we can do this when TH requests it
## [7.14.2] - 2024-09-11
### Fixed
- URL for sending newsletters was missing `/send`
## [7.14.1] - 2024-09-11
### Fixed
- Wrong return type on account.listNewsletters
## [7.14.0] - 2024-09-11
### Added
- Methods related to the newsletters
## [7.13.0] - 2024-09-05
### Added
- `partially_refunded` order status
- `refundedAmount` order property
- `refund` method for orders
## [7.12.0] - 2024-07-26
### Added
- `ImpersonateCredentials` class for impersonating a user.
It encapsulates the entire process of impersonating a user, including the token refresh. (#6122)
- `account.impersonate` method for impersonating a user.
## [7.11.0] - 2024-07-24
### Added
- Method for sending tickets
## [7.10.0] - 2024-07-23
### Added
- Question CRUD methods
## [7.9.0] - 2024-07-10
### Added
- VenueQuery now has the `ids` field and its serialized correctly
- JwtCredential authorization method now also refreshes the token if the organizer changed
### Changed
- Refactored various query interfaces to extend a PagingQuery, to reduce code duplication
## [7.8.0] - 2024-07-10
### Changed
- `useOrganizer` will no longer do the authorization calls if the organizer is the same as the current one
## [7.7.1] - 2024-07-08
### Added
- Query options to getQuestionnaire method
## [7.7.0] - 2024-07-04
### Added
- Questionnaire CRUD methods
## [7.6.0] - 2024-07-03
### Added
- Methods for fetching external events
- Method for fetching categories
## [7.5.0] - 2024-07-02
### Added
- BAMgregator service methods
## [7.4.0] - 2024-06-24
### Added
- Methods for organizer domains
## [7.3.2] - 2024-06-24
### Added
- Additional fields to list events query
## [7.3.1] - 2024-06-18
### Fixed
- Wrong field name in NotificationResponse interface
### Changed
- Type of `topic` query parameter in listNotifications method
## [7.3.0] - 2024-06-18
### Added
- Method for rendering PDF with a custom template
- `pdfTemplateId` on the events
## [7.2.0] - 2024-06-13
### Added
- Methods (and tests) for sending notifications
## [7.1.0] - 2024-06-11
### Added
- PDF service methods
## [7.0.1] - 2024-06-07
### Added
- ApiError and several other exports
## [7.0.0] - 2024-06-07
### Changed
- Renamed ApiError field `error` to `errorCode` to avoid confusion
### Fixed
- Added handling of differing fields in endpoint responses which contain the error code
## [6.24.0] - 2024-06-06
### Added
- 'Test' which resends all order confirmation emails for an event
- Admin resend order confirmation email method
## [6.23.0] - 2024-06-04
### Added
- Method for fetching a list of all event attendees (#5966)
## [6.22.2] - 2024-05-29
### Fixed
- Return value and return type mismatch in methods for fetching ticket formats and categories (#5956)
## [6.22.1] - 2024-05-28
### Fixed
- Failing Azure pipeline due to the invalid env variable
## [6.22.0] - 2024-05-28
### Added
- Method for uploading the event images (#5941)
## [6.21.0] - 2024-05-22
### Added
- Method for fetching event categories (#5903)
## [6.20.1] - 2024-05-22
### Fixed
- Incorrect route in create event method (#5938)
## [6.20.0] - 2024-05-14
### Added
- Methods for fetching all ticket formats and single ticket format
## [6.19.0] - 2024-04-30
### Added
- The `firebaseToken` field on the users
## [6.18.0] - 2024-04-26
### Changed
- Moved emailId to InformationEmailId interface
## [6.17.0] - 2024-04-26
### Added
- CRUD methods for informational emails
## [6.16.0] - 2024-04-25
### Added
- method for listing all organizers
- method for updating organizer
## [6.15.0] - 2024-04-25
### Added
- method for starting onboarding process for stripe
- method for getting onboarding status for stripe
## [6.14.0] - 2024-04-24
### Added
- Timeslot CRUD methods
## [6.13.2] - 2024-04-24
### Changed
- Added the `timezoneName` to the events
## [6.13.1] - 2024-04-22
### Fixed
- Updating the ticket configs on the sector
## [6.13.0] - 2024-04-22
### Added
- Sector CRUD support
## [6.12.0] - 2024-04-18
### Added
- Method for listing users
## [6.11.0] - 2024-04-17
### Added
- Email verification resend method
## [6.10.2] - 2024-04-17
### Fixed
- Change user permission method now works
## [6.10.1] - 2024-04-17
### Fixed
- The username and password are now optional in the invite user method
## [6.10.0] - 2024-04-17
### Added
- Method for listing users in an organization
## [6.9.0] - 2024-04-12
### Added
- Methods for saving, updating and deleting ticket configuration
## [6.8.0] - 2024-04-12
### Added
- Method for listing kyc levels
- Method for listing currencies
## [6.7.1] - 2024-04-12
### Fixed
- `with` param not being properly builded in the order list method
## [6.7.0] - 2024-04-11
### Added
- TicketConfig attribute now includes the event relation
## [6.6.0] - 2024-04-10
### Added
- TicketAttribute now includes `depends_on` field
- TicketConfig type now includes the `dependsOn` relations
## [6.5.0] - 2024-04-10
### Added
- Method for listing the orders
- Order contact missing fields
## [6.4.0] - 2024-04-09
### Added
- Method for external login
## [6.3.1] - 2024-04-05
### Fixed
- Method for fetching private event
## [6.3.0] - 2024-04-05
### Added
- Method for fetching private event
## [6.2.0] - 2024-04-05
### Added
- Support for fetching the promo sections with ticket configs
## [6.1.0] - 2024-04-04
### Added
- CRUDs for the promo sections
## [6.0.0] - 2024-04-03
### Changed
- `permissions.*` fields are now NOT CONVERTED to camelCase.
This was causing issues with org names being converted to camel case, and further causing issues in the webapp.
This is a breaking change, as accesses to `.orgLevel` for instance will have to be changed to `.org_level`.
## [5.1.0] - 2024-04-03
### Added
- createdAt and updatedAt fields on the NFTs and Collections
## [5.0.1] - 2024-04-02
### Fixed
- KYCLevelId being mandatory field when updating event
## [5.0.0] - 2024-04-01
### Added
- Methods for updating,deleting and canceling event
- Methods for fetching QR code payload when publishing/updating event on the blockchain
- Methods for fetching QR code payload when publishing/updating ticket configuration on the blockchain
## [4.0.0] - 2024-04-01
### Changed
- Reorganized validator endpoints to be under the `validator` service
- Systemized organizer-related parameters
## [3.5.1] - 2024-04-01
### Fixed
- Failing build due to naming issue
## [3.5.0] - 2024-04-01
### Added
- Methods for creating validator and fetching validator data
## [3.4.2] - 2024-03-26
### Fixed
- Wallet expects camel case qr code payload for the market ruleset
## [3.4.1] - 2024-03-26
### Fixed
- Added the missing `status` field on the market rulesets
## [3.4.0] - 2024-03-25
### Added
- Methods for listing, adding and updating market rulesets
## [3.3.1] - 2024-03-20
### Fixed
- Failing event time range filter test due to the wrong check
## [3.3.0] - 2024-03-20
### Changed
- The promo sections are now added to the my events method
## [3.2.0] - 2024-03-18
### Changed
- Updated the `jsrsasign` library to a non-vulnerable version
- Updated various other dependencies to the latest versions
## [3.1.1] - 2024-03-15
### Fixed
- url and method properties on axios error object
## [3.1.0] - 2024-03-14
### Added
- Methods for the validator export and fetching import data for the local validation server
## [3.0.0] - 2024-03-08
### Added
- Paging information to the event and nft responses
- Added new parameter for the list nft drop method, to separate route and query params
## [2.15.0] - 2024-03-07
### Added
- Methods for fetching, creating, updating and deleting ticket discount
- Method for creating discounts in batches
## [2.14.1] - 2024-03-01
### Fixed
- Sending organizer_id and event_id in query params
## [2.14.0] - 2024-03-01
### Added
- Method for fetching a single organizer event
- Local validation fields on the event
## [2.13.1] - 2024-03-01
### Changed
- Replaced const enums with regular enums. This avoids issues when using `isolatedModules` TypeScript option.
## [2.13.0] - 2024-02-29
### Added
- Filters to the nft drop update payload
## [2.12.0] - 2024-02-29
### Added
- Fee types, enum and methods
## [2.11.0] - 2024-02-29
### Added
- Ticket, event, ticket config and market control statuses
## [2.10.1] - 2024-02-28
### Fixed
- NFT drop create/edit types
## [2.10.0] - 2024-02-26
### Added
- List organizer ticket configs for an event method
## [2.9.0] - 2024-02-26
### Added
- List organizer events method
## [2.8.0] - 2024-02-23
### Added
- Minting method in the NFT client
## [2.7.2] - 2024-02-20
### Fixed
- `taxRate` field in the `Fee` interface
## [2.7.1] - 2024-02-16
### Fixed
- `ID` typo in the `Offer` interface
## [2.7.0] - 2024-02-16
### Added
- API video upload support
## [2.6.0] - 2024-02-13
### Added
- NFT drop functionalities on the event service
## [2.5.2] - 2024-02-12
### Fixed
- NFT collection query now supports the `organizer_id` filter
## [2.5.1] - 2024-02-08
### Fixed
- Removed the api user id from the nft/collection create/update types
## [2.5.0] - 2024-02-08
### Added
- Upload service image endpoint
## [2.4.2] - 2024-02-06
### Fixed
- Non-relative import paths causing compilation issues
## [2.4.1] - 2024-02-06
### Added
- maximumAmount on the Fee type
## [2.4.0] - 2024-02-01
### Added
- Ticket activation period on the events
## [2.3.0] - 2024-01-16
### Added
- NFT batch create method
## [2.2.0] - 2024-01-15
### Added
- `currency` field on the NFTs
- Payment metadata for creating NFT orders
## [2.1.0]
- 4926 Fetch user details via E-Mail
## [2.0.0] - 2024-01-05
### Changed
- `createCustomPayment` renamed to `createStripePayment`
- `createPaymentIntent` renamed to `createStripePaymentForOrder`
- `createCryptoPayment` renamed to `createCryptoPaymentForOrder`
- `createCustomCryptoPayment` renamed to `createCryptoPayment`
### Added
- `createOpenPaymentForOrder` and `createOpenPayment` methods for creating payments for Open Payments/Hobex
## [1.0.0] - 2023-12-27
### Changed
- Updated `axios` package to the latest version
- Removed `axios-cache-adapter` and added `axios-cache-interceptor` package
### Removed
- `limit` option in the `CacheOptions`, since it is not supported and should be added in the custom `AxiosStorage` instance
## [0.46.0] - 2023-12-21
### Added
- Methods for ordering on the NFT service
- Additional properties in the error thrown on API errors. This should ease debugging
### Removed
- Some wrapper classes for API errors
## [0.45.0] - 2023-12-08
### Added
- CUD methods for NFTs and collections
## [0.44.0] - 2023-12-08
### Added
- API key authorization option
## [0.43.0] - 2023-12-07
### Added
- NFT methods for getting NFTs and NFT collections
## [0.42.1] - 2023-11-22
### Fixed
- Wrong import reference, causing issues when compiling
### Added
- Notification-related type exports
## [0.42.0] - 2023-11-22
### Added
- Notification sending endpoints
### Removed
- Identyme-related code
## [0.41.0] - 2023-10-31
### Added
- Online submit transaction method in the blockchain service
## [0.40.3] - 2023-10-31
### Added
- 4938 adding updatedAt field to ticket model
## [0.40.2] - 2023-10-27
### Added
- My events function is now properly typed
## [0.40.1] - 2023-10-25
### Added
- 4875 adding locale-code to user model
## [0.40.0] - 2023-10-25
### Added
- 4902 adding NFT service stub & method for fetching own NFTs
## [0.39.0] - 2023-09-25
### Added
- Method for requesting a payout
- Missing fields in some types
### Changed
- Updated some of the packages
## [0.38.1] - 2023-09-06
### Added
- 4837 Adding updatedAt as return value from QrCodes endpoint
## [0.38.0] - 2023-08-31
### Added
- 4690 Returning JWT token from authorize method
## [0.37.0] - 2023-07-19
### Added
- 4506 Passing of latest TOS acceptance during login
## [0.36.0] - 2023-07-04
### Added
- The SDK now properly handles the organizer change in respect to needing to refresh the JWT to get the one with new permissions
## [0.35.0] - 2023-06-16
### Changed
- Updated eslint, faker, node, typescript packages to latest versions
- Removed **all** vulnerabilities
- Migrated test fixtures to the new faker version
## [0.34.1] - 2023-06-15
### Fixed
- Tests using outdated credentials
- Added failover for payment service health endpoint issue
## [0.34.0] - 2023-06-14
### Added
- Renewing of user wallet (certificate/private key)
## [0.33.1] - 2023-04-19
### Fixed
- Updating date in changelog
- Updating type for single event qr-codes response
## [0.33.0] - 2023-04-19
### Added
- Fetching of all qr-codes valid for a single event
## [0.32.2] - 2023-03-31
### Fixed
- Jsdoc comments not being present when using the library
## [0.32.1] - 2023-03-30
### Fixed
- Import not using a relative path, resulting in build errors when imported
### Changed
- Improved the strictness of the tsconfig
## [0.32.0] - 2023-03-02
### Added
- Market-Control ruleset fetching
## [0.31.0] - 2023-02-27
### Added
- Validator endpoint methods
- Endpoint for ticket-count statistics
- Receive ticket info based on blockchain id
## [0.30.0] - 2023-02-20
### Changed
- Adjusted ticket holder functionalities to new API
## [0.29.1] - 2023-01-11
### Fixed
- Returning original error in case of updateToken failing
## [0.29.0] - 2022-12-08
### Added
- Enabling of minimum version check using the x-app-version header
## [0.28.2] - 2022-12-08
### Fixed
- Assume `Content-Type` of request is `application/json` by default
## [0.28.1] - 2022-12-08
### Fixed
- Upload profile image now does not use form-data library, so now should work on other platforms
- Don't fix dates when body is not json, axios client interceptor
## [0.28.0] - 2022-12-06
### Added
- Upload service and upload profile image method
- `form-data` lib for creating `multipart/form-data` requests
## [0.27.1] - 2022-11-20
### Fixed
- Response bodies are snake cased event when responses are not converted
## [0.27.0] - 2022-11-18
### Added
- QRCode fetching to ticket display
- Reset password function
## [0.26.1] - 2022-11-14
### Added
- Event publishing test, useful for publishing events on any environment
- QA env added to the BaseUrl enum
## [0.26.0] - 2022-11-09
### Added
- create and update ticket holder methods
## [0.25.0] - 2022-10-28
### Added
- `camelCaseResponse` option, defaulting to true, which determines if the response will be converted to camel case and requests to snake case
## [0.24.0] - 2022-10-28
### Added
- caching, as specified in the constructor and static build method. Doesn't cache by default
## [0.23.1] - 2022-10-11
### Added
- `hash` function, which calculates the SHA family of hashes
### Fixed
- Types in `src/credential`
## [0.23.0] - 2022-10-06
### Added
- `event.getTicketSigningKey` gets the public key used for ticket signature validation
- code examples for ticket invalidation in `test/integration/invalidate-ticket`
### Changed
- `qrToTicketInvalidateCall` and `qrToTicketData` now only verify signatures if the public key is specified
### Removed
- Previously deprecated `useTenant` and `setDeviceId` methods, which are done through getters and setters now
## [0.22.0] - 2022-10-05
### Added
- `getTransferPayload` function for getting the chaincode payload for ticket transfer
- `getTickets` for getting the tickets which belong to a user
### Changed
- Improved code structure and coverage
## [0.21.0] - 2022-09-21
### Added
- Retry mechanism and options, both to the constructor and the build method
- By default, 3 immediate retries of network requests are done
### Fixed
- Typing for `BamOptions`
## [0.20.2] - 2022-09-20
### Fixed
- Error construction and handling
## [0.20.1] - 2022-09-13
### Fixed
- `createProposal` now includes snake case conversion, to guard against wrongly cased payloads
## [0.20.0] - 2022-09-01
### Added
- `serialize` method to save the SDK state. Can be used with `build` to restore it.
- `deviceId` property for manipulating the deviceId used
- `tenant` refactored to a property
- `organizer` getter
- `getToken` which returns the JWT and optionally the refresh token used. This can later be used to create a `JwtCredentials` object, and authorize with it.
- `getTokenPayload` function which returns the contents of the JWT payload
- Credential classes which represent differing authorization types
## [0.19.0] - 2022-08-24
### Added
- `getMyEvents` method for `event service` and `bam` classes
## [0.18.0] - 2022-06-24
### Added
This change requires the use of Buffer and so might be a breaking change!!
- functions for creating and decoding the tickets' QR code
- `createQrPayloadForTicket` for creating the code
- `qrToTicketInvalidateCall` for a direct translation of the code to the invalidate blockchain call
- `qrToTicketData` for extracting the ticket data from the code
## [0.16.1] - 2022-06-23
### Added
- functions for creation of invalidate ticket blockchain call
- `verify` function for signatures
### Changed
- `.prettierrc` to be in line with the new style guidelines
## [0.16.0] - 2022-06-06
### Added
- more parameters to the `getEvent` call
## [0.15.1] - 2022-05-26
### Removed
- non-existing `saveStreamToFile` function call
## [0.15.0] - 2022-05-26
### Removed
- `saveStreamToFile` function call removed
## [0.14.4] - 2022-05-12
### Added
- `with` parameter to get order call
### Fixed
- serialization of with query parameters
## [0.14.3] - 2022-05-10
### Changed
- `type` is now optional when creating payments
## [0.14.2] - 2022-03-09
### Fixed
- `getTicketConfig` call now has all the slashes necessary
## [0.14.1] - 2022-03-09
### Fixed
- `createPaymentIntent` now targets the correct URL
## [0.14.0] - 2022-03-03
### Added
- `organizer_id` filter in `listEvent`
- `billingEmail` field in orderContact
## [0.13.1] - 2022-02-18
### Fixed
- types not exported correctly
- audit fix
## [0.13.0] - 2022-02-17
### Fixed
- `sendTransaction` now works correctly
- Blockchain function names now can be strings as well (futureproofing)
### Added
- `loginWithCertificate` shorthand for challenge requiring, signing and login
- `authorize` now also accepts the wallet
- `setAuthorization` for setting a custom token
- `setDeviceId` for setting the device ID which is sent in all further calls
- `createTicketHolder` moved to .ticket sub-service
- `getTicket` for getting a ticket via ID
- ticket.mark_for_sale function name to the BC function enum
# Removed
- `createTicketHolder` moved to .ticket sub-service
## [0.12.0] - 2022-01-27
### Added
- `createCustomCryptoPayment`- creates a crypto payment for an order
- `createCustomPayment` - creates a payment with a custom amount
- `createCustomCryptoPayment` - creates a crypto payment with a custom amount
- `getTicketConfig` - fetches a ticket config with the specified id
## [0.11.0] - 2021-12-27
### Fixed
- `downloadTickets` from order service returns a `blob` type
## [0.10.0] - 2021-10-29
### Added
- `createOrderContact` method
## [0.9.0] - 2021-10-28
### Added
- `sendOrderEmail` method, which resends the order confirmation email
## [0.8.2] - 2021-10-28
### Fixed
- `downloadTickets` returns stream
- added `saveStreamToFile` helper method
## [0.8.1] - 2021-10-27
### Fixed
Added missing body in:
- create payment intent request
- create OAuth token for identyme authorization flow
## [0.8.0] - 2021-10-27
### Added
- `start_at` query param in the `bam.event.listEvents` method
### Fixed
- broken `downloadTickets` id
## [0.7.1] - 2021-10-25
### Fixed
- broken imports
## [0.7.0] - 2021-10-25
### Added
- `bam.order.createTicketHolder` method
### Fixed
- `download_tickets` wrong HTTP method
## [0.6.1] - 2021-10-25
### Added
- `bam.authorize` has a parameterless version (for guest authorization)
## [0.6.0] - 2021-10-15
### Added
- venue service methods
### Changed
- bam.health call now includes venue service's status
## [0.5.3] - 2021-10-012
### Fixed
- double-digit strings being parsed as dates
## [0.5.1] - 2021-10-08
### Added
- missing query param on getEvent
## [0.5.0] - 2021-10-06
### Added
- useTenant method
- health methods on all services and a cluster health method
- order service to the bam export
## [0.4.0] - 2021-10-04
### Added
- event creation, update and payload methods
- identyme methods for COVID tests
- method for getting seats workspaces
## [0.3.0] - 2021-09-29
### Added
- signDigest helper function
- blockchain service methods
## [0.2.0] - 2021-09-29
### Added
- User management methods
- Auto-converts Date to string and reverse
- Wallet creation method
- Minimum methods for usage
- Login auto-retry
### Changed
- Client builder refactored to accept full URLs
## [0.1.0] - 2021-09-20
### Added
- Initial configuration
- Partial README