Install the Quotation Process Glue API
Edit on GitHubInstall feature API
Follow the steps below to install the Quotation Process feature API.
Prerequisites
To start feature integration, integrate the required features and Glue APIs:
NAME | VERSION | INSTALLATION GUIDE |
---|---|---|
Spryker Core API | 202410.0 | Install the Spryker Core Glue API |
Cart API | 202410.0 | Install the Cart Glue API |
Company Account API | 202410.0 | Install the Company account Glue API |
Agent Assist API | 202410.0 | Install the Agent Assist Glue API |
Quotation Process | 202410.0 | Install the Quotation Process feature |
1) Install the required modules
Install the required modules using Composer:
composer require spryker/quote-requests-rest-api:"^0.1.4" spryker/quote-request-agents-rest-api:"^0.3.0" --update-with-dependencies
Make sure that the following modules have been installed:
MODULE | EXPECTED DIRECTORY |
---|---|
QuoteRequestAgentsRestApi | vendor/spryker/quote-request-agents-rest-api |
QuoteRequestsRestApi | vendor/spryker/quote-requests-rest-api |
QuoteRequestsRestApiExtension | vendor/spryker/quote-requests-rest-api-extension |
2) Set up the configuration
Add following configuration to your project configuration:
CONFIGURATION | SPECIFICATION | NAMESPACE |
---|---|---|
CompanyUsersRestApiConfig::COMPANY_USER_RESOURCES | Specifies resources which are accessible only for company users. | Spryker\Glue\CompanyUsersRestApi |
AgentAuthRestApiConfig::getAgentResources() | Specifies resources which are accessible only for agents. | Spryker\Glue\AgentAuthRestApi |
src/Pyz/Glue/CompanyUsersRestApi/CompanyUsersRestApiConfig.php
<?php
namespace Pyz\Glue\CompanyUsersRestApi;
use Spryker\Glue\CompanyUsersRestApi\CompanyUsersRestApiConfig as SprykerCompanyUsersRestApiConfig;
use Spryker\Glue\QuoteRequestsRestApi\QuoteRequestsRestApiConfig;
class CompanyUsersRestApiConfig extends SprykerCompanyUsersRestApiConfig
{
/**
* @var array<string>
*/
protected const COMPANY_USER_RESOURCES = [
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUESTS,
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUEST_CANCEL,
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUEST_REVISE,
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUEST_SEND_TO_CUSTOMER,
];
}
src/Pyz/Glue/AgentAuthRestApi/AgentAuthRestApiConfig.php
<?php
namespace Pyz\Glue\AgentAuthRestApi;
use Spryker\Glue\AgentAuthRestApi\AgentAuthRestApiConfig as SprykerAgentAuthRestApiConfig;
use Spryker\Glue\QuoteRequestAgentsRestApi\QuoteRequestAgentsRestApiConfig;
class AgentAuthRestApiConfig extends SprykerAgentAuthRestApiConfig
{
/**
* {@inheritDoc}
*
* @api
*
* @return array<string>
*/
public function getAgentResources(): array
{
return [
QuoteRequestAgentsRestApiConfig::RESOURCE_AGENT_QUOTE_REQUESTS,
QuoteRequestAgentsRestApiConfig::RESOURCE_AGENT_QUOTE_REQUEST_SEND_TO_CUSTOMER,
QuoteRequestAgentsRestApiConfig::RESOURCE_AGENT_QUOTE_REQUEST_REVISE,
QuoteRequestAgentsRestApiConfig::RESOURCE_AGENT_QUOTE_REQUEST_CANCEL,
];
}
}
Check that resources specified in CompanyUsersRestApiConfig::COMPANY_USER_RESOURCES
are only accessible if authenticated customer has company user assigned.
Check that resources specified in AgentAuthRestApiConfig::getAgentResources()
are only accessible with agent access token.
3) Set up transfer objects
Generate transfers:
console transfer:generate
Ensure the following transfers have been created:
TRANSFER | TYPE | EVENT | PATH |
---|---|---|---|
RestAgentQuoteRequestsRequestAttributes | class | created | src/Generated/Shared/Transfer/RestAgentQuoteRequestsRequestAttributesTransfer |
RestAgentQuoteRequestCancelAttributes | class | created | src/Generated/Shared/Transfer/RestAgentQuoteRequestCancelAttributesTransfer |
RestAgentQuoteRequestReviseAttributes | class | created | src/Generated/Shared/Transfer/RestAgentQuoteRequestReviseAttributesTransfer |
RestAgentQuoteRequestSendAttributes | class | created | src/Generated/Shared/Transfer/RestAgentQuoteRequestSendAttributesTransfer |
RestQuoteRequestsAttributes | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsAttributesTransfer |
RestQuoteRequestCancelAttributes | class | created | src/Generated/Shared/Transfer/RestQuoteRequestCancelAttributesTransfer |
RestQuoteRequestReviseAttributes | class | created | src/Generated/Shared/Transfer/RestQuoteRequestReviseAttributesTransfer |
RestQuoteRequestSendAttributes | class | created | src/Generated/Shared/Transfer/RestQuoteRequestSendAttributesTransfer |
RestQuoteRequestVersion | class | created | src/Generated/Shared/Transfer/RestQuoteRequestVersionTransfer |
RestQuoteRequestsRequestAttributes | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsRequestAttributesTransfer |
RestQuoteRequestsCart | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsCartTransfer |
RestQuoteRequestsTotals | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsTotalsTransfer |
RestQuoteRequestsDiscounts | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsDiscountsTransfer |
RestQuoteRequestsAddress | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsAddressTransfer |
RestQuoteRequestItem | class | created | src/Generated/Shared/Transfer/RestQuoteRequestItemTransfer |
RestQuoteRequestsCalculations | class | created | src/Generated/Shared/Transfer/RestQuoteRequestsCalculationsTransfer |
4) Add translations
Add translations as follows:
- Append glossary for the feature:
quote_request.validation.error.is_not_applicable,Quote request is not applicable for the given quote.,en_US
quote_request.validation.error.is_not_applicable,Die Angebotsanfrage gilt nicht für das angegebene Angebot.,de_DE
quote_request.validation.error.cart_is_empty,The cart is empty.,en_US
quote_request.validation.error.cart_is_empty,Der Warenkorb ist leer.,de_DE
- Import data:
console data:import glossary
Make sure that the configured data has been added to the spy_glossary
table.
5) Set up behavior
Enable the following behaviors by registering the plugins:
PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
---|---|---|---|
QuoteRequestAgentCancelResourceRoutePlugin | Registers the agent-quote-request-cancel resource. |
Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication | |
QuoteRequestAgentReviseResourceRoutePlugin | Registers the agent-quote-request-revise resource. |
Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication | |
QuoteRequestAgentSendResourceRoutePlugin | Registers the agent-quote-request-send-to-customer resource. |
Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication | |
QuoteRequestAgentsResourceRoutePlugin | Registers the agent-quote-requests resource. |
Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication | |
QuoteRequestCancelResourceRoutePlugin | Registers the quote-request-cancel resource. |
Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication | |
QuoteRequestReviseResourceRoutePlugin | Registers the quote-request-revise resource. |
Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication | |
QuoteRequestSendResourceRoutePlugin | Registers the quote-request-send-to-customer resource. |
Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication | |
QuoteRequestsResourceRoutePlugin | Registers the quote-requests resource. |
Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication | |
CompanyUserByQuoteRequestResourceRelationshipPlugin | Adds the company-users resource as relationship to the quote-request resource. |
Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication | |
CompanyByQuoteRequestResourceRelationshipPlugin | Adds the companies resource as relationship to the quote-request resource. |
Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication | |
CompanyBusinessUnitByQuoteRequestResourceRelationshipPlugin | Adds the company-business-units resource as relationship to the quote-request resource. |
Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication | |
CustomerByQuoteRequestResourceRelationshipPlugin | Adds the customer resource as a relationship to the quote-request resource. |
Spryker\Glue\CustomersRestApi\Plugin\GlueApplication | |
ConcreteProductByQuoteRequestResourceRelationshipPlugin | Adds the concrete-products resource as relationship to the quote-request resource. |
Spryker\Glue\ProductsRestApi\Plugin\GlueApplication | |
ProductOptionsRestQuoteRequestAttributesExpanderPlugin | Expands RestQuoteRequestItemTransfer with product options data. |
Spryker\Glue\ProductOptionsRestApi\Plugin\QuoteRequestsRestApi | |
SalesUnitRestQuoteRequestAttributesExpanderPlugin | Expands RestQuoteRequestItemTransfers with sales unit data. |
Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\QuoteRequestsRestApi | |
ConfiguredBundleRestQuoteRequestAttributesExpanderPlugin | Expands RestQuoteRequestItemTransfers with configure bundle data and configure bundle items data. |
Spryker\Glue\ConfigurableBundlesRestApi\Plugin\QuoteRequestsRestApi | |
ShipmentsRestQuoteRequestAttributesExpanderPlugin | Expands RestQuoteRequestItemTransfer with shipments data. |
Spryker\Glue\ShipmentsRestApi\Plugin\QuoteRequestsRestApi | |
MerchantProductOffersRestQuoteRequestAttributesExpanderPlugin | Expands RestQuoteRequestItemTransfer with merchants data. |
Spryker\Glue\MerchantProductOffersRestApi\Plugin\QuoteRequestsRestApi | |
DiscountsRestQuoteRequestAttributesExpanderPlugin | Expands RestQuoteRequestsAttributesTransfer with discount data. |
Spryker\Glue\DiscountsRestApi\Plugin\QuoteRequestsRestApi |
src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
<?php
namespace Pyz\Glue\GlueApplication;
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByQuoteRequestResourceRelationshipPlugin;
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitByQuoteRequestResourceRelationshipPlugin;
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserByQuoteRequestResourceRelationshipPlugin;
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerByQuoteRequestResourceRelationshipPlugin;
use Spryker\Glue\GlueApplication\GlueApplicationDependencyProvider as SprykerGlueApplicationDependencyProvider;
use Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface;
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductByQuoteRequestResourceRelationshipPlugin;
use Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication\QuoteRequestAgentCancelResourceRoutePlugin;
use Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication\QuoteRequestAgentReviseResourceRoutePlugin;
use Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication\QuoteRequestAgentSendResourceRoutePlugin;
use Spryker\Glue\QuoteRequestAgentsRestApi\Plugin\GlueApplication\QuoteRequestAgentsResourceRoutePlugin;
use Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication\QuoteRequestCancelResourceRoutePlugin;
use Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication\QuoteRequestReviseResourceRoutePlugin;
use Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication\QuoteRequestSendResourceRoutePlugin;
use Spryker\Glue\QuoteRequestsRestApi\Plugin\GlueApplication\QuoteRequestsResourceRoutePlugin;
use Spryker\Glue\QuoteRequestsRestApi\QuoteRequestsRestApiConfig;
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
{
/**
* {@inheritDoc}
*
* @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
*/
protected function getResourceRoutePlugins(): array
{
return [
new QuoteRequestsResourceRoutePlugin(),
new QuoteRequestAgentsResourceRoutePlugin(),
new QuoteRequestAgentCancelResourceRoutePlugin(),
new QuoteRequestAgentReviseResourceRoutePlugin(),
new QuoteRequestAgentSendResourceRoutePlugin(),
new QuoteRequestCancelResourceRoutePlugin(),
new QuoteRequestReviseResourceRoutePlugin(),
new QuoteRequestSendResourceRoutePlugin(),
];
}
/**
* {@inheritDoc}
*
* @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
*
* @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
*/
protected function getResourceRelationshipPlugins(
ResourceRelationshipCollectionInterface $resourceRelationshipCollection
): ResourceRelationshipCollectionInterface {
$resourceRelationshipCollection->addRelationship(
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUESTS,
new CompanyUserByQuoteRequestResourceRelationshipPlugin(),
);
$resourceRelationshipCollection->addRelationship(
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUESTS,
new CompanyByQuoteRequestResourceRelationshipPlugin(),
);
$resourceRelationshipCollection->addRelationship(
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUESTS,
new CompanyBusinessUnitByQuoteRequestResourceRelationshipPlugin(),
);
$resourceRelationshipCollection->addRelationship(
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUESTS,
new CustomerByQuoteRequestResourceRelationshipPlugin(),
);
$resourceRelationshipCollection->addRelationship(
QuoteRequestsRestApiConfig::RESOURCE_QUOTE_REQUESTS,
new ConcreteProductByQuoteRequestResourceRelationshipPlugin(),
);
return $resourceRelationshipCollection;
}
}
src/Pyz/Glue/QuoteRequestsRestApi/QuoteRequestsRestApiDependencyProvider.php
<?php
namespace Pyz\Glue\QuoteRequestsRestApi;
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\QuoteRequestsRestApi\ConfiguredBundleRestQuoteRequestAttributesExpanderPlugin;
use Spryker\Glue\DiscountsRestApi\Plugin\QuoteRequestsRestApi\DiscountsRestQuoteRequestAttributesExpanderPlugin;
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\QuoteRequestsRestApi\MerchantProductOffersRestQuoteRequestAttributesExpanderPlugin;
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\QuoteRequestsRestApi\SalesUnitRestQuoteRequestAttributesExpanderPlugin;
use Spryker\Glue\ProductOptionsRestApi\Plugin\QuoteRequestsRestApi\ProductOptionsRestQuoteRequestAttributesExpanderPlugin;
use Spryker\Glue\QuoteRequestsRestApi\QuoteRequestsRestApiDependencyProvider as SprykerQuoteRequestsRestApiDependencyProvider;
use Spryker\Glue\ShipmentsRestApi\Plugin\QuoteRequestsRestApi\ShipmentsRestQuoteRequestAttributesExpanderPlugin;
class QuoteRequestsRestApiDependencyProvider extends SprykerQuoteRequestsRestApiDependencyProvider
{
/**
* @return \Spryker\Glue\QuoteRequestsRestApiExtension\Dependency\Plugin\RestQuoteRequestAttributesExpanderPluginInterface[]
*/
protected function getRestQuoteRequestAttributesExpanderPlugins(): array
{
return [
new ProductOptionsRestQuoteRequestAttributesExpanderPlugin(),
new SalesUnitRestQuoteRequestAttributesExpanderPlugin(),
new ConfiguredBundleRestQuoteRequestAttributesExpanderPlugin(),
new ShipmentsRestQuoteRequestAttributesExpanderPlugin(),
new MerchantProductOffersRestQuoteRequestAttributesExpanderPlugin(),
new DiscountsRestQuoteRequestAttributesExpanderPlugin(),
];
}
}
-
To verify that the
QuoteRequestsResourceRoutePlugin
resource route plugin andCompanyUserByQuoteRequestResourceRelationshipPlugin
,CompanyByQuoteRequestResourceRelationshipPlugin
,CompanyBusinessUnitByQuoteRequestResourceRelationshipPlugin
,CustomerByQuoteRequestResourceRelationshipPlugin
andConcreteProductByQuoteRequestResourceRelationshipPlugin
relationship plugins are set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-requests?include=company-users,companies,company-business-units,customer,concrete-products
endpoint is available for authenticated company user. -
To verify that
ProductOptionsRestQuoteRequestAttributesExpanderPlugin
,SalesUnitRestQuoteRequestAttributesExpanderPlugin
,ConfiguredBundleRestQuoteRequestAttributesExpanderPlugin
,ShipmentsRestQuoteRequestAttributesExpanderPlugin
,MerchantProductOffersRestQuoteRequestAttributesExpanderPlugin
andDiscountsRestQuoteRequestAttributesExpanderPlugin
plugins are set up correctly, make sure that the following properties are present in the response body and contain correct data:- data[].attributes.shownVersion.cart.items[].productOfferReference
- data[].attributes.shownVersion.cart.items[].merchantReference
- data[].attributes.shownVersion.cart.items[].configuredBundle
- data[].attributes.shownVersion.cart.items[].configuredBundleItem
- data[].attributes.shownVersion.cart.items[].salesUnit
- data[].attributes.shownVersion.cart.items[].selectedProductOptions
- data[].attributes.shownVersion.cart.items[].selectedProductOptions
- data[].attributes.shownVersion.cart.discounts
- data[].attributes.shownVersion.cart.shipments
Example
{ "data": [ { "type": "quote-requests", "id": "DE--21-1", "attributes": { "quoteRequestReference": "DE--21-1", "status": "closed", "isLatestVersionVisible": true, "createdAt": "2021-12-03 23:45:50.000000", "validUntil": null, "versions": [], "shownVersion": { "version": 1, "versionReference": "DE--21-1-1", "createdAt": "2021-12-03 23:45:50.000000", "metadata": { "purchase_order_number": 228, "delivery_date": null, "note": "test" }, "cart": { "priceMode": "GROSS_MODE", "store": "DE", "currency": "EUR", "totals": { "expenseTotal": 0, "discountTotal": 14341, "taxTotal": { "tax_rate": null, "amount": 0 }, "subtotal": 143412, "grandTotal": 129071, "priceToPay": 129071 }, "billingAddress": null, "items": [ { "groupKey": "115_27295368", "productOfferReference": null, "merchantReference": null, "sku": "115_27295368", "quantity": 1, "abstractSku": "115", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "118_29804739", "productOfferReference": null, "merchantReference": null, "sku": "118_29804739", "quantity": 1, "abstractSku": "118", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "124_31623088", "productOfferReference": null, "merchantReference": null, "sku": "124_31623088", "quantity": 1, "abstractSku": "124", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "126_26280142", "productOfferReference": null, "merchantReference": null, "sku": "126_26280142", "quantity": 1, "abstractSku": "126", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "119_29804808", "productOfferReference": null, "merchantReference": null, "sku": "119_29804808", "quantity": 1, "abstractSku": "119", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "128_29955336", "productOfferReference": null, "merchantReference": null, "sku": "128_29955336", "quantity": 1, "abstractSku": "128", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "127_20723326", "productOfferReference": null, "merchantReference": null, "sku": "127_20723326", "quantity": 1, "abstractSku": "127", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "122_22308524", "productOfferReference": null, "merchantReference": null, "sku": "122_22308524", "quantity": 1, "abstractSku": "122", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "117_30585828", "productOfferReference": null, "merchantReference": null, "sku": "117_30585828", "quantity": 1, "abstractSku": "117", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "129_30706500", "productOfferReference": null, "merchantReference": null, "sku": "129_30706500", "quantity": 1, "abstractSku": "129", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "131_24872891", "productOfferReference": null, "merchantReference": null, "sku": "131_24872891", "quantity": 1, "abstractSku": "131", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] } ], "discounts": [], "shipments": [] } } }, "links": { "self": "http://glue.de.spryker.local/quote-requests/DE--21-1" }, "relationships": { "company-users": { "data": [ { "type": "company-users", "id": "ebf4b55a-cab0-5ed0-8fb7-525a3eeedeac" } ] }, "companies": { "data": [ { "type": "companies", "id": "62de4ab6-b768-5c21-8835-455d9f341625" } ] }, "company-business-units": { "data": [ { "type": "company-business-units", "id": "5b9c6fc4-bf5d-5b53-9ca9-1916657e6fb2" } ] }, "concrete-products": { "data": [ { "type": "concrete-products", "id": "115_27295368" }, { "type": "concrete-products", "id": "118_29804739" }, { "type": "concrete-products", "id": "124_31623088" }, { "type": "concrete-products", "id": "126_26280142" }, { "type": "concrete-products", "id": "119_29804808" }, { "type": "concrete-products", "id": "128_29955336" }, { "type": "concrete-products", "id": "127_20723326" }, { "type": "concrete-products", "id": "122_22308524" }, { "type": "concrete-products", "id": "117_30585828" }, { "type": "concrete-products", "id": "129_30706500" }, { "type": "concrete-products", "id": "131_24872891" } ] } } } ], "links": { "self": "http://glue.de.spryker.local/quote-requests" }, "included": [ { "type": "companies", "id": "62de4ab6-b768-5c21-8835-455d9f341625", "attributes": { "isActive": true, "name": "Spryker Systems GmbH", "status": "approved" }, "links": { "self": "http://glue.de.spryker.local/companies/62de4ab6-b768-5c21-8835-455d9f341625" } }, { "type": "company-business-units", "id": "5b9c6fc4-bf5d-5b53-9ca9-1916657e6fb2", "attributes": { "defaultBillingAddress": null, "name": "Spryker Systems HR department", "email": "HR@spryker.com", "phone": "4902890031", "externalUrl": "", "bic": "", "iban": "" }, "links": { "self": "http://glue.de.spryker.local/company-business-units/5b9c6fc4-bf5d-5b53-9ca9-1916657e6fb2" } }, { "type": "company-users", "id": "ebf4b55a-cab0-5ed0-8fb7-525a3eeedeac", "attributes": { "isActive": true, "isDefault": false }, "links": { "self": "http://glue.de.spryker.local/company-users/ebf4b55a-cab0-5ed0-8fb7-525a3eeedeac" }, "relationships": { "companies": { "data": [ { "type": "companies", "id": "62de4ab6-b768-5c21-8835-455d9f341625" } ] }, "company-business-units": { "data": [ { "type": "company-business-units", "id": "5b9c6fc4-bf5d-5b53-9ca9-1916657e6fb2" } ] } } }, { "type": "concrete-products", "id": "115_27295368", "attributes": { "sku": "115_27295368", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "115", "name": "DELL OptiPlex 3020", "description": "Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.", "attributes": { "processor_cache": "3 MB", "bus_type": "DMI", "processor_threads": "2", "tcase": "72 °", "brand": "DELL", "processor_frequency": "3.2 GHz" }, "superAttributesDefinition": [ "processor_cache", "processor_frequency" ], "metaTitle": "DELL OptiPlex 3020", "metaKeywords": "DELL,Tax Exempt", "metaDescription": "Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and ", "attributeNames": { "processor_cache": "Processor cache type", "bus_type": "Bus type", "processor_threads": "Processor Threads", "tcase": "Tcase", "brand": "Brand", "processor_frequency": "Processor frequency" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/115_27295368" } }, { "type": "concrete-products", "id": "118_29804739", "attributes": { "sku": "118_29804739", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "118", "name": "Fujitsu ESPRIMO E420", "description": "Energy Efficiency As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E420 features proven technology regarding Intel® chipset and processor and an 85% energy efficient power supply. Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to minimize risk to end users and to the environment. This strategy is captured in Environmental Guideline FTS03230 and forms the basis on which all Fujitsu's products are designed. Especially for Fujitsu ESPRIMO PCs this means that all used printed circuit boards are halogen free. Furthermore they are compliant with several certificates awarding environmental conscience such as ENERGY STAR® and EPEAT.", "attributes": { "processor_cache": "6 MB", "bus_type": "DMI", "processor_model": "i5-4590", "product_type": "PC", "brand": "Fujitsu", "color": "Black" }, "superAttributesDefinition": [ "processor_cache", "color" ], "metaTitle": "Fujitsu ESPRIMO E420", "metaKeywords": "Fujitsu,Tax Exempt", "metaDescription": "Energy Efficiency As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficien", "attributeNames": { "processor_cache": "Processor cache type", "bus_type": "Bus type", "processor_model": "Processor model", "product_type": "Product type", "brand": "Brand", "color": "Color" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/118_29804739" } }, { "type": "concrete-products", "id": "124_31623088", "attributes": { "sku": "124_31623088", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "124", "name": "HP ProDesk 400 G3", "description": "New powerful processors Give your business the strong foundation it needs for growth with the affordable and reliable HP ProDesk 400 SFF. Designed with essential security and manageability features, the HP ProDesk 400 helps keep your business growing. New 6th Gen Intel® Core™ processors bring powerful processing with Intel® HD 530 Graphics. Available DDR4 memory helps meet the demands of today’s businesses. HP ProDesks are rigorously tested to help ensure reliability. During the HP Total Test Process, PCs experience 120,000 hours of performance trials to help get you through your business day. The HP ProDesk 400 SFF helps affordably build a solid IT infrastructure for your growing business and fits in smaller workspaces for easy deployment.", "attributes": { "processor_codename": "Skylake", "bus_type": "DMI3", "processor_threads": "4", "processor_cores": "2", "brand": "HP", "total_storage_capacity": "128 GB" }, "superAttributesDefinition": [ "total_storage_capacity" ], "metaTitle": "HP ProDesk 400 G3", "metaKeywords": "HP,Tax Exempt", "metaDescription": "New powerful processors Give your business the strong foundation it needs for growth with the affordable and reliable HP ProDesk 400 SFF. Designed with ess", "attributeNames": { "processor_codename": "Processor codename", "bus_type": "Bus type", "processor_threads": "Processor Threads", "processor_cores": "Processor cores", "brand": "Brand", "total_storage_capacity": "Total storage capacity" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/124_31623088" } }, { "type": "concrete-products", "id": "126_26280142", "attributes": { "sku": "126_26280142", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "126", "name": "HP Z 440", "description": "Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.", "attributes": { "fsb_parity": "no", "bus_type": "QPI", "processor_cores": "8", "processor_threads": "16", "brand": "HP", "processor_frequency": "2.8 GHz" }, "superAttributesDefinition": [ "processor_frequency" ], "metaTitle": "HP Z 440", "metaKeywords": "HP,Tax Exempt", "metaDescription": "Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation deliveri", "attributeNames": { "fsb_parity": "FSB Parity", "bus_type": "Bus type", "processor_cores": "Processor cores", "processor_threads": "Processor Threads", "brand": "Brand", "processor_frequency": "Processor frequency" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/126_26280142" } }, { "type": "concrete-products", "id": "119_29804808", "attributes": { "sku": "119_29804808", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "119", "name": "Fujitsu ESPRIMO E920", "description": "Green IT Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to minimize risk to end users and to the environment. This strategy is captured in Environmental Guideline FTS03230 and forms the basis on which all Fujitsu's products are designed. Especially for Fujitsu ESPRIMO PCs this means that all used printed circuit boards are halogen free. Furthermore they are compliant with several certificates awarding environmental conscience such as ENERGY STAR® and EPEAT. As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode.", "attributes": { "internal_memory": "32 GB", "intel_smart_cache": "yes", "product_type": "PC", "processor_cache": "6 MB", "brand": "Fujitsu", "color": "Silver" }, "superAttributesDefinition": [ "internal_memory", "processor_cache", "color" ], "metaTitle": "Fujitsu ESPRIMO E920", "metaKeywords": "Fujitsu,Tax Exempt", "metaDescription": "Green IT Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to min", "attributeNames": { "internal_memory": "Max internal memory", "intel_smart_cache": "Intel Smart Cache", "product_type": "Product type", "processor_cache": "Processor cache type", "brand": "Brand", "color": "Color" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/119_29804808" } }, { "type": "concrete-products", "id": "128_29955336", "attributes": { "sku": "128_29955336", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "128", "name": "Lenovo ThinkCentre E73", "description": "Small Form Factor Small Form Factor desktops provide the ultimate performance with full-featured scalability, yet weigh as little as 13.2 lbs / 6 kgs. Keep your business-critical information safe through USB port disablement and the password-protected BIOS and HDD. You can also safeguard your hardware by physically securing your mouse and keyboard, while the Kensington slot enables you to lock down your E73. Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology.", "attributes": { "processor_threads": "8", "pci_express_slots_version": "3", "internal_memory": "8 GB", "stepping": "C0", "brand": "Lenovo", "processor_frequency": "3.2 GHz" }, "superAttributesDefinition": [ "internal_memory", "processor_frequency" ], "metaTitle": "Lenovo ThinkCentre E73", "metaKeywords": "Lenovo,Tax Exempt", "metaDescription": "Small Form Factor Small Form Factor desktops provide the ultimate performance with full-featured scalability, yet weigh as little as 13.2 lbs / 6 kgs. Keep", "attributeNames": { "processor_threads": "Processor Threads", "pci_express_slots_version": "PCI Express slots version", "internal_memory": "Max internal memory", "stepping": "Stepping", "brand": "Brand", "processor_frequency": "Processor frequency" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/128_29955336" } }, { "type": "concrete-products", "id": "127_20723326", "attributes": { "sku": "127_20723326", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "127", "name": "HP Z 620", "description": "Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.", "attributes": { "processor_frequency": "2.1 GHz", "processor_cache": "15 MB", "processor_threads": "12", "fsb_parity": "no", "brand": "HP", "total_storage_capacity": "1000 GB" }, "superAttributesDefinition": [ "processor_frequency", "processor_cache", "total_storage_capacity" ], "metaTitle": "HP Z 620", "metaKeywords": "HP,Tax Exempt", "metaDescription": "Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of com", "attributeNames": { "processor_frequency": "Processor frequency", "processor_cache": "Processor cache type", "processor_threads": "Processor Threads", "fsb_parity": "FSB Parity", "brand": "Brand", "total_storage_capacity": "Total storage capacity" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/127_20723326" } }, { "type": "concrete-products", "id": "122_22308524", "attributes": { "sku": "122_22308524", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "122", "name": "HP EliteDesk 800 G1 Mini", "description": "Big power. Space saving design. Smaller than some desk phones, this Desktop Mini can fit almost anywhere vertically or horizontally. The clean, easily serviceable design with integrated wireless antenna allows flexible deployment options1 to help optimize the workspace. Keep productivity high and downtime low with HP BIOSphere firmware-level automation. Your PCs have extra protection thanks to automatic updates and security checks. Enjoy customization that allows your PC to evolve with your business.", "attributes": { "processor_cores": "2", "processor_codename": "Haswell", "processor_threads": "4", "bus_type": "DMI", "brand": "HP", "processor_frequency": "2.9 GHz" }, "superAttributesDefinition": [ "processor_frequency" ], "metaTitle": "HP EliteDesk 800 G1 Mini", "metaKeywords": "HP,Tax Exempt", "metaDescription": "Big power. Space saving design. Smaller than some desk phones, this Desktop Mini can fit almost anywhere vertically or horizontally. The clean, easily serv", "attributeNames": { "processor_cores": "Processor cores", "processor_codename": "Processor codename", "processor_threads": "Processor Threads", "bus_type": "Bus type", "brand": "Brand", "processor_frequency": "Processor frequency" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/122_22308524" } }, { "type": "concrete-products", "id": "117_30585828", "attributes": { "sku": "117_30585828", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "117", "name": "Fujitsu ESPRIMO D556", "description": "The FUJITSU ESPRIMO Desktop provides high-quality computing for your daily office tasks. It supports attractive price points and delivers the continuity needed for daily operations. Your valuable business data is protected by the latest TPM controller and the Erasedisk option. To meet your specific hardware needs it can be either individually configured or customized.", "attributes": { "processor_frequency": "3.7 GHz", "processor_cores": "2", "bus_type": "DMI3", "tcase": "65 °", "brand": "Fujitsu", "internal_memory": "4 GB" }, "superAttributesDefinition": [ "processor_frequency", "internal_memory" ], "metaTitle": "Fujitsu ESPRIMO D556", "metaKeywords": "Fujitsu,Tax Exempt", "metaDescription": "The FUJITSU ESPRIMO Desktop provides high-quality computing for your daily office tasks. It supports attractive price points and delivers the continuity n", "attributeNames": { "processor_frequency": "Processor frequency", "processor_cores": "Processor cores", "bus_type": "Bus type", "tcase": "Tcase", "brand": "Brand", "internal_memory": "Max internal memory" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/117_30585828" } }, { "type": "concrete-products", "id": "129_30706500", "attributes": { "sku": "129_30706500", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "129", "name": "Lenovo ThinkCenter E73", "description": "Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.", "attributes": { "processor_threads": "8", "processor_cores": "4", "processor_codename": "Haswell", "pci_express_slots_version": "3", "brand": "Lenovo", "processor_frequency": "3.2 GHz" }, "superAttributesDefinition": [ "processor_frequency" ], "metaTitle": "Lenovo ThinkCenter E73", "metaKeywords": "Lenovo,Tax Exempt", "metaDescription": "Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is", "attributeNames": { "processor_threads": "Processor Threads", "processor_cores": "Processor cores", "processor_codename": "Processor codename", "pci_express_slots_version": "PCI Express slots version", "brand": "Brand", "processor_frequency": "Processor frequency" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/129_30706500" } }, { "type": "concrete-products", "id": "131_24872891", "attributes": { "sku": "131_24872891", "isDiscontinued": false, "discontinuedNote": null, "averageRating": null, "reviewCount": 0, "productAbstractSku": "131", "name": "Lenovo ThinkStation P900", "description": "Thermal Design: Elegant & Efficient. Patented tri-channel cooling with just 3 system fans – as opposed to 10 that other workstations typically rely on — and a direct cooling air baffle directs fresh air into the CPU and memory. ThinkStation P900 delivers new technologies and design to keep your workstation cool and quiet. The innovative Flex Module lets you customize I/O ports, so you add only what you need. Using the 5.25\" bays, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA. The Flex Connector is a mezzanine card that fits into the motherboard and allows for expanded storage and I/O, without sacrificing the use of rear PCI. It supports SATA/SAS/PCIe advanced RAID solution. ThinkStation P900 includes two available connectors (enabled with each CPU).", "attributes": { "processor_frequency": "2.4 GHz", "processor_cores": "6", "processor_threads": "12", "stepping": "R2", "brand": "Lenovo", "color": "Silver" }, "superAttributesDefinition": [ "processor_frequency", "color" ], "metaTitle": "Lenovo ThinkStation P900", "metaKeywords": "Lenovo,Tax Exempt", "metaDescription": "Thermal Design: Elegant & Efficient. Patented tri-channel cooling with just 3 system fans – as opposed to 10 that other workstations typically rely on — an", "attributeNames": { "processor_frequency": "Processor frequency", "processor_cores": "Processor cores", "processor_threads": "Processor Threads", "stepping": "Stepping", "brand": "Brand", "color": "Color" }, "productConfigurationInstance": null }, "links": { "self": "http://glue.de.spryker.local/concrete-products/131_24872891" } } ] }
-
To verify that the
QuoteRequestCancelResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-requests/{{quote_request_id}}/quote-request-cancel
endpoint is available for an authenticated company user. -
To verify that the
QuoteRequestReviseResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-requests/{{quote_request_id}}/quote-request-revise
endpoint is available for an authenticated company user. -
To verify that the
QuoteRequestSendResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-requests/{{quote_request_id}}/quote-request-send-to-customer
endpoint is available for an authenticated company user. -
To verify that the
QuoteRequestAgentsResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-request-agents
endpoint is available for authenticated agent.Example
{ "data": [ { "type": "quote-requests", "id": "DE--21-1", "attributes": { "quoteRequestReference": "DE--21-1", "status": "closed", "isLatestVersionVisible": true, "createdAt": "2021-12-03 23:45:50.000000", "validUntil": null, "versions": [ "DE--21-1-1" ], "shownVersion": { "version": 1, "versionReference": "DE--21-1-1", "createdAt": "2021-12-03 23:45:50.000000", "metadata": { "purchase_order_number": 228, "delivery_date": null, "note": "test" }, "cart": { "priceMode": "GROSS_MODE", "store": "DE", "currency": "EUR", "totals": { "expenseTotal": 0, "discountTotal": 14341, "taxTotal": { "tax_rate": null, "amount": 0 }, "subtotal": 143412, "grandTotal": 129071, "priceToPay": 129071 }, "billingAddress": null, "items": [ { "groupKey": "115_27295368", "productOfferReference": null, "merchantReference": null, "sku": "115_27295368", "quantity": 1, "abstractSku": "115", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "118_29804739", "productOfferReference": null, "merchantReference": null, "sku": "118_29804739", "quantity": 1, "abstractSku": "118", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "124_31623088", "productOfferReference": null, "merchantReference": null, "sku": "124_31623088", "quantity": 1, "abstractSku": "124", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "126_26280142", "productOfferReference": null, "merchantReference": null, "sku": "126_26280142", "quantity": 1, "abstractSku": "126", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "119_29804808", "productOfferReference": null, "merchantReference": null, "sku": "119_29804808", "quantity": 1, "abstractSku": "119", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "128_29955336", "productOfferReference": null, "merchantReference": null, "sku": "128_29955336", "quantity": 1, "abstractSku": "128", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "127_20723326", "productOfferReference": null, "merchantReference": null, "sku": "127_20723326", "quantity": 1, "abstractSku": "127", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "122_22308524", "productOfferReference": null, "merchantReference": null, "sku": "122_22308524", "quantity": 1, "abstractSku": "122", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "117_30585828", "productOfferReference": null, "merchantReference": null, "sku": "117_30585828", "quantity": 1, "abstractSku": "117", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "129_30706500", "productOfferReference": null, "merchantReference": null, "sku": "129_30706500", "quantity": 1, "abstractSku": "129", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] }, { "groupKey": "131_24872891", "productOfferReference": null, "merchantReference": null, "sku": "131_24872891", "quantity": 1, "abstractSku": "131", "amount": null, "configuredBundle": null, "configuredBundleItem": null, "salesUnit": null, "calculations": null, "selectedProductOptions": [] } ], "discounts": [], "shipments": [] } } }, "links": { "self": "http://glue.de.spryker.local/quote-requests/DE--21-1" } } ], "links": { "self": "http://glue.de.spryker.local/agent-quote-requests" } }
-
To verify that the
QuoteRequestAgentCancelResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-request-agents/{{quote_request_id}}/quote-agent-request-cancel
endpoint is available for an authenticated agent. -
To verify that the
QuoteRequestAgentReviseResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-request-agents/{{quote_request_id}}/quote-agent-request-cancel
endpoint is available for an authenticated agent. -
To verify that the
QuoteRequestAgentSendResourceRoutePlugin
resource route plugin is set up correctly, make sure that thehttps://glue.mysprykershop.com/quote-request-agents/{{quote_request_id}}/quote-agent-request-cancel
endpoint is available for an authenticated company user.
Thank you!
For submitting the form