Install the Multiple Carts Glue API

Edit on GitHub

This document describes how to install the Multiple Carts Glue API.

Prerequisites

To start feature integration, overview and install the necessary features:

Name Version Integration guide
Spryker Core 202204.0 Glue Application feature integration
Multiple Carts 202204.0 Install the Multiple Carts feature
Cart 202204.0 Cart feature integration

1) Install the required modules using Composer

Run the following command(s) to install the required modules:

composer require spryker/multi-carts-rest-api:"^1.0.0" --update-with-dependencies
“Verification”

Make sure that the following modules have been installed:

MODULE EXPECTED DIRECTORY
MultiCartsRestApi vendor/spryker/multi-carts-rest-api

2) Set up transfer objects

Run the following commands to generate transfer changes:

console transfer:generate
“Verification”

Make sure that the following changes have been applied in transfer objects:

Transfer Type Event Path
RestCartsAttributesTransfer:name property added src/Generated/Shared/Transfer/RestCartsAttributesTransfer
RestCartsAttributesTransfer:isDefault property added src/Generated/Shared/Transfer/RestCartsAttributesTransfer

3) Enable resources and relationships

On a project level, install the following plugins:

Plugin Specification Prerequisites Namespace
QuoteCreatorPlugin Creates a quote for a customer. None Spryker\Zed\PersistentCart\Communication\Plugin\CartsRestApi
src/Pyz/Zed/CartsRestApi/CartsRestApiDependencyProvider.php
<?php

namespace Pyz\Zed\CartsRestApi;

use Spryker\Zed\CartsRestApi\CartsRestApiDependencyProvider as SprykerCartsRestApiDependencyProvider;
use Spryker\Zed\CartsRestApiExtension\Dependency\Plugin\QuoteCreatorPluginInterface;
use Spryker\Zed\PersistentCart\Communication\Plugin\CartsRestApi\QuoteCreatorPlugin;

class CartsRestApiDependencyProvider extends SprykerCartsRestApiDependencyProvider
{
	/**
	* @return \Spryker\Zed\CartsRestApiExtension\Dependency\Plugin\QuoteCreatorPluginInterface
	*/
	protected function getQuoteCreatorPlugin(): QuoteCreatorPluginInterface
	{
		return new QuoteCreatorPlugin();
	}
}
Verification

Make sure that the following endpoints are available:

  • https://glue.mysprykershop.com/carts
  • https://glue.mysprykershop.com/guest-carts
“Verification”

Make sure that it is possible to create more than one cart.

“Verification”

Make sure that after creating several carts, a response from the GET https://glue.mysprykershop.com/carts request contains data about all created carts.