Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CC-34932 Add Merchant Promotions & Discount feature IG #2990

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions _data/sidebars/pbc_all_sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1479,6 +1479,10 @@ entries:
nested:
- title: Marketplace Merchant
url: /docs/pbc/all/merchant-management/marketplace/install-and-upgrade/install-features/install-the-marketplace-merchant-feature.html
- title: Marketplace Merchant + Promotions & Discounts
url: /docs/pbc/all/merchant-management/marketplace/install-and-upgrade/install-features/install-the-marketplace-merchant-promotions-and-discounts-feature.html
include_versions:
- "202505.0"
- title: Marketplace Merchant B2B Contract Requests
url: /docs/pbc/all/merchant-management/marketplace/install-and-upgrade/install-features/install-the-marketplace-merchant-b2b-contract-requests-feature.html
include_versions:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
This document describes how to install the Marketplace Merchant + Promotions & Discounts feature.

## Prerequisites

Install the required features:

| NAME | VERSION | INSTALLATION GUIDE |
|------------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Marketplace Merchant | {{page.version}} | [Install the Marketplace Merchant feature](/docs/pbc/all/merchant-management/{{page.version}}/marketplace/install-and-upgrade/install-features/install-the-marketplace-merchant-feature.html) |
| Promotions & Discounts | {{page.version}} | [Install the Promotions & Discounts feature](/docs/pbc/all/discount-management/{{page.version}}/base-shop/install-and-upgrade/install-features/install-the-promotions-and-discounts-feature.html) |
| Spryker Core | {{page.version}} | [Install the Spryker Core feature](/docs/pbc/all/miscellaneous/{{page.version}}/install-and-upgrade/install-features/install-the-spryker-core-feature.html) |

## 1) Install the required modules

Install the required modules using Composer:

```bash
composer require spryker/merchant-discount-connector:"^1.0.0" --update-with-dependencies
```

{% info_block warningBox "Verification" %}

Make sure the following modules have been installed:

| MODULE | EXPECTED DIRECTORY |
|---------------------------|--------------------------------------------|
| MerchantDiscountConnector | vendor/spryker/merchant-discount-connector |

{% endinfo_block %}

## 2) Set up behavior

Set up the following behaviors:

| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
|--------------------------------------------------|------------------------------------------------------------------------------------------|---------------|---------------------------------------------------------------------|
| MerchantReferenceDecisionRulePlugin | Defines if a discount can be applied to a cart item with a merchant reference specified. | | Spryker\Zed\MerchantDiscountConnector\Communication\Plugin\Discount |
| MerchantReferenceDiscountableItemCollectorPlugin | Collects cart items with the reference of a merchant to which a discount should be applied. | | Spryker\Zed\MerchantDiscountConnector\Communication\Plugin\Discount |

**src/Pyz/Zed/Discount/DiscountDependencyProvider.php**

```php
<?php

namespace Pyz\Zed\Discount;

use Spryker\Zed\Discount\DiscountDependencyProvider as SprykerDiscountDependencyProvider;
use Spryker\Zed\MerchantDiscountConnector\Communication\Plugin\Discount\MerchantReferenceDecisionRulePlugin;
use Spryker\Zed\MerchantDiscountConnector\Communication\Plugin\Discount\MerchantReferenceDiscountableItemCollectorPlugin;

class DiscountDependencyProvider extends SprykerDiscountDependencyProvider
{
/**
* @return list<\Spryker\Zed\DiscountExtension\Dependency\Plugin\DecisionRulePluginInterface>
*/
protected function getDecisionRulePlugins(): array
{
return array_merge(parent::getDecisionRulePlugins(), [
new MerchantReferenceDecisionRulePlugin(),
]);
}

/**
* @return list<\Spryker\Zed\DiscountExtension\Dependency\Plugin\DiscountableItemCollectorPluginInterface>
*/
protected function getCollectorPlugins(): array
{
return array_merge(parent::getCollectorPlugins(), [
new MerchantReferenceDiscountableItemCollectorPlugin(),
]);
}
}
```

{% info_block warningBox "Verification" %}

1. [Create a discount](/docs/pbc/all/discount-management/{{site.version}}/base-shop/manage-in-the-back-office/create-discounts.html) and define its condition as a query string with a `merchant-reference` field.
2. Add a product sold by the merchant you've defined in the discount to cart.
Make sure the discount has been applied.

{% endinfo_block %}
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ When Vale identifies an issue, it highlights the relevant text and displays an i
Additionally, Vale displays feedback in the VS Code **PROBLEMS** pane, which provides a list of all the issues found in the file.
To navigate directly to the relevant line of code in the file and make corrections, you need to click an issue in the **PROBLEMS** pane.

For more information about Vale, see [Vale's official documentation](https://vale.sh/docs/vale-cli/overview/).
For more information about Vale, see [Vale's official documentation](https://vale.sh/docs/cli).

## Install Vale

Expand Down
2 changes: 1 addition & 1 deletion docs/ca/dev/access/connect-to-services-via-ssh.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ redirect_from:
- /docs/cloud/dev/spryker-cloud-commerce-os/access/connecting-to-services-via-ssh.html
---

We add your SSH public key to the [bastion host](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/overview.html) during the onboarding, so you can access your environments' internal networks via SSH right after.
We add your SSH public key to the [bastion host](https://docs.aws.amazon.com/managedservices/latest/userguide/using-bastions.html) during the onboarding, so you can access your environments' internal networks via SSH right after.

You can use SSH in two ways:

Expand Down
4 changes: 2 additions & 2 deletions docs/ca/dev/getting-started-with-cloud-administration.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ After the initial setup, the following is configured and available:
You can access your cloud environments via the following means:

* IAM account: provides access to the AWS Management Console. For instructions, see [Access AWS Management Console](/docs/ca/dev/access/access-the-aws-management-console.html).
* SSH: provides access to internal services via [bastion host](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/overview.html). For instructions, see [Connect to services via SSH](/docs/ca/dev/access/connect-to-services-via-ssh.html).
* VPN: provides access to internal services via [bastion host](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/overview.html). You receive these access details during the onboarding.
* SSH: provides access to internal services via [bastion host](https://docs.aws.amazon.com/managedservices/latest/userguide/using-bastions.html). For instructions, see [Connect to services via SSH](/docs/ca/dev/access/connect-to-services-via-ssh.html).
* VPN: provides access to internal services via [bastion host](https://docs.aws.amazon.com/managedservices/latest/userguide/using-bastions.html). You receive these access details during the onboarding.
* SFTP: provides access to the SFTP folder mounted inside the Jenkins container. You receive these access details during the onboarding.


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Install the Marketplace Merchant + Promotions & Discounts feature
description: Learn how to integrate the Marketplace Merchant + Promotions & Discounts feature into a Spryker project.
last_updated: Dec 19, 2024
template: feature-integration-guide-template
---

{% include pbc/all/install-features/{{page.version}}/marketplace/install-the-marketplace-merchant-promotions-and-discounts-feature.md %} <!-- To edit, see /_includes/pbc/all/install-features/202505.0/marketplace/install-the-marketplace-merchant-promotions-and-discounts-feature.md -->
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ redirect_from:

## Partner Information

[ABOUT DATA VIRTUALITY](https://datavirtuality.com/)
[ABOUT DATA VIRTUALITY](https://www.cdata.com/virtuality/)

Data Virtuality successfully became the fastest growing big data start-up in Germany with offices in Leipzig, Frankfurt am Main and San Francisco.The Data Virtuality Platform enables detailed insights from real time and historical data with any BI tool. By combining data virtualization with an automated ETL engine, customers benefit from reducing their data integration effort by 80% and gaining faster business insights. Make your decisions based on facts. Become data driven while using and accessing all your data from multiple data sources! And everything just by using SQL.

Expand Down
Loading