Merge branch 'master' into develop
This commit is contained in:
@@ -10,25 +10,37 @@ Version `1.7.0` of Medusa introduces a breaking change in the [CustomerService](
|
|||||||
|
|
||||||
In this new version, the method [`retrieveByEmail` in the Customer Service](../../../references/services/classes/CustomerService.md#retrievebyemail) has been deprecated in favor of other methods. Read the actions required below to learn which methods to use instead.
|
In this new version, the method [`retrieveByEmail` in the Customer Service](../../../references/services/classes/CustomerService.md#retrievebyemail) has been deprecated in favor of other methods. Read the actions required below to learn which methods to use instead.
|
||||||
|
|
||||||
|
In addition, after introducing the Claim Order feature, this version of Medusa introduces changes in the database that allows two customers having the same email based on the value of the `has_account` field. This change requires running migrations after the update.
|
||||||
|
|
||||||
## Actions Required
|
## Actions Required
|
||||||
|
|
||||||
Instead of using `customerService.retrieveByEmail`, you should now use the methods `customerService.retrieveRegisteredByEmail` or `customerService.retrieveUnRegisteredByEmail`.
|
### Run Migrations
|
||||||
|
|
||||||
|
Run the following command to run migrations:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
medusa migrations run
|
||||||
|
```
|
||||||
|
|
||||||
|
### Change Used Methods
|
||||||
|
|
||||||
|
Instead of using `customerService.retrieveByEmail`, you should now use the methods `customerService.retrieveRegisteredByEmail` or `customerService.retrieveUnregisteredByEmail`.
|
||||||
|
|
||||||
The `customerService.retrieveRegisteredByEmail` method allows you to retrieve a registered customer by email:
|
The `customerService.retrieveRegisteredByEmail` method allows you to retrieve a registered customer by email:
|
||||||
|
|
||||||
```tsx
|
```ts
|
||||||
customerService.retrieveRegisteredByEmail("example@gmail.com");
|
customerService.retrieveRegisteredByEmail("example@gmail.com");
|
||||||
```
|
```
|
||||||
|
|
||||||
On the other hand, the `retrieveUnregisteredByEmail` method allows to retrieve guest customers by email:
|
On the other hand, the `retrieveUnregisteredByEmail` method allows to retrieve guest customers by email:
|
||||||
|
|
||||||
```jsx
|
```jsx
|
||||||
customerService.retrieveUnRegisteredByEmail("example@gmail.com");
|
customerService.retrieveUnregisteredByEmail("example@gmail.com");
|
||||||
```
|
```
|
||||||
|
|
||||||
To retrieve a customer by email regardless of whether they are registered or not, you can use the `customerService.list` method instead:
|
To retrieve a customer by email regardless of whether they are registered or not, you can use the `customerService.list` method instead:
|
||||||
|
|
||||||
```tsx
|
```ts
|
||||||
customerService.list({
|
customerService.list({
|
||||||
email: "example@gmail.com"
|
email: "example@gmail.com"
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -5,11 +5,17 @@ import TabItem from '@theme/TabItem';
|
|||||||
|
|
||||||
In this document, you’ll learn how to implement the claim order flow in a storefront to allow customers to claim their orders.
|
In this document, you’ll learn how to implement the claim order flow in a storefront to allow customers to claim their orders.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
|
||||||
|
This flow was added starting from Medusa v1.7. You can learn more about upgrading in the [upgrade guide](../backend/upgrade-guides/1-7-0.md).
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## Flow Overview
|
## Flow Overview
|
||||||
|
|
||||||
When a guest customer places an order, their order is not associated with any customer. The order is only associated with an email that the guest customer provides during checkout.
|
When a guest customer places an order, their order is not associated with any customer. The order is only associated with an email that the guest customer provides during checkout.
|
||||||
|
|
||||||
This email must be an email that isn’t used with an existing account. Also, this email cannot be used later on to create a new account. It can, however, be used to create another order as a guest customer.
|
This email must be an email that isn’t used with an existing account. It can, however, be used to create another order as a guest customer.
|
||||||
|
|
||||||
After this customer registers with a different email and logs in, they can claim their order by providing the order’s ID. An email will then be sent to the email address associated with the order.
|
After this customer registers with a different email and logs in, they can claim their order by providing the order’s ID. An email will then be sent to the email address associated with the order.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user