Install the Cart Notes feature
Edit on GitHubThis feature integration guide expects the basic feature to be in place. The current feature integration guide adds the Cart Notes Backend API functionality.
Prerequisites
To start feature integration, integrate the required feature:
NAME | VERSION | INTEGRATE GUIDE |
---|---|---|
Order Management | 202307.0 | Order Management feature integration |
1) Install the required modules using Composer
composer require spryker/cart-notes-backend-api:^0.1.0 --update-with-dependencies
Ensure that the following modules have been installed:
MODULE | EXPECTED DIRECTORY |
---|---|
CartNotesBackendApi | vendor/spryker/cart-notes-backend-api |
2) Set up transfer objects
Generate transfers:
console transfer:generate
Verification
Make sure that the following changes have been triggered in transfer objects:
TRANSFER | TYPE | EVENT | PATH |
---|---|---|---|
ApiOrdersAttributes.cartNote | property | created | src/Generated/Shared/Transfer/ApiOrdersAttributes |
3) Set up behavior
- Enable the following behaviors by registering the plugins:
PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
---|---|---|---|
CartNoteApiOrdersAttributesMapperPlugin | Expands ApiOrdersAttributes.cartNote with Order.cartNote property. |
Spryker\Glue\CartNotesBackendApi\Plugin\SalesOrdersBackendApi |
src/Pyz/Glue/SalesOrdersBackendApi/SalesOrdersBackendApiDependencyProvider.php
<?php
namespace Pyz\Glue\SalesOrdersBackendApi;
use Spryker\Glue\CartNotesBackendApi\Plugin\SalesOrdersBackendApi\CartNoteApiOrdersAttributesMapperPlugin;
use Spryker\Glue\SalesOrdersBackendApi\SalesOrdersBackendApiDependencyProvider as SprykerSalesOrdersBackendApiDependencyProvider;
class SalesOrdersBackendApiDependencyProvider extends SprykerSalesOrdersBackendApiDependencyProvider
{
/**
* @return list<\Spryker\Glue\SalesOrdersBackendApiExtension\Dependency\Plugin\ApiOrdersAttributesMapperPluginInterface>
*/
protected function getApiOrdersAttributesMapperPlugins(): array
{
return [
new CartNoteApiOrdersAttributesMapperPlugin(),
];
}
}
Verification
Make sure that sales-orders
resources from SalesOrdersBackendApiResource::getOrderResourceCollection()
results contain cart note data: OrderResourceCollectionTransfer.orderResources.attributes.cartNote
are set for the orders that have cart notes.
Thank you!
For submitting the form