Aimeos 2024.07 release

The 2024.07 release completes the GraphQL API and adds some nice features to Aimeos. In addition, we’ve invested a lot of time to improve the documentation of the GraphQL and JSON APIs:

  • GraphQL file uploads and new index query
  • Extended GraphQL and JSON:API documentation
  • Custom address types
  • Full time support in subscriptions
  • Multiple mailer support in Laravel

GraphQL API improvements

The GraphQL admin API will replace the existing JSON admin API completely beginning in 2025. The JS code of the Aimeos admin backend is rewritten step by step to use the GraphQL API only and thus, the GraphQL admin API has been further improved and is now almost feature complete.

The latest additions contain a new GraphQL index query that allows aggregating products matched by filters for counting or of aggregation. Also, The API supports uploading media files now – a feature, that’s not available in the the old JsonAdm API.

Until 2025, the remaining code that uses the JsonAdm API will be rewritten and the JsonAdm API will be finally removed.

API documentation

We’ve put a lot of effort in improving the API documentation for the GraphQL and JSON REST API.

Especially, the examples have been improved and they include vanilla Javascript code for the JSON API and JQAdm code the GraphQL admin API now. This enables developers of any skill level to get code for working requests quickly. Furthermore, existing examples have been improved to show how related items can be fetched too and how they are returned.

All new queries and mutations available in 2024.07 has been documented too in the GraphQL admin API and JSON REST API documentation.

Custom addess types

Up to now, it was possible to add addresses to customers and suppliers but they had a fixed meaning. For customers, the addresses are treated as delivery addresses while for suppliers, the addresses are locations for stores or with a similar meaning.

Now, the customer and supplier address tables contains a new “type” column that can contain any string to distinguish the different addresses stored there. This is especially useful in heavily customized setups which includes non-standard use cases, e.g. for complex B2B applications and marketplaces.

Time support in subscriptions

The Aimeos backend supported entering hours for subscriptions already in the past but the rest of the code wasn’t fully prepared to copy with subscriptions that should be only available for one or more hours.

Now, this feature is completely available in the whole code base including renewal of subscriptions after one hour if configured in the product subscription settings.

Multiple mailer support

In case you need to use different mail servers for sending e-mails depending on their purpose, Aimeos does support them now – at least if you are using Laravel. The mail() method of the Aimeos context object accepts the name of the mailer configuration now and returns the mailer object which uses the corresponding configuration. Existing code isn’t affected because the new parameter is optional and the default mailer is returned as before if no parameter is passed.

Leave a Reply

Your email address will not be published. Required fields are marked *