This is a beta release of documentation for Magento 2.4, published for previewing soon-to-be-released functionality. Content in this version is subject to change. Links to the v2.4 code base may not properly resolve until the code is officially released.

sendEmailToFriend mutation

Use the sendEmailToFriend mutation to allow Magento to send a message on behalf of a customer to the specified email addresses.

The Stores > Configuration > Catalog > Email to a friend > Enabled field must be set to Yes to implement this mutation.

Syntax

mutation: {sendEmailToFriend(input: SendEmailToFriendInput): {SendEmailToFriendOutput}}

Example usage

The following example sends a message to two friends.

Request:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
mutation {
  sendEmailToFriend(
    input: {
      product_id: 10
      sender: {
        name: "Veronica Cost"
        email: "roni_cost@example.com"
        message: "Sarah needs this! http://luma.example.com/savvy-shoulder-tote.html"
      }
      recipients: [
        { name: "Amie Franklin", email: "afranklin@example.com" }
        { name: "Tomoko", email: "tomoko@example.com" }
      ]
    }
  ) {
    sender {
      name
      email
    }
    recipients {
      name
      email
    }
  }
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "data": {
    "sendEmailToFriend": {
      "sender": {
        "name": "Veronica Cost",
        "email": "roni_cost@example.com",
      },
      "recipients": [
        {
          "name": "Amie Franklin",
          "email": "afranklin@example.com"
        },
        {
          "name": "Tomoko",
          "email": "tomoko@example.com"
        }
      ]
    }
  }
}

Input attributes

The SendEmailToFriendInput object contains the following attributes:

Attribute Data Type Description
product_id Int! The ID of the product that the customer is referencing
recipients [SendEmailToFriendRecipientInput]! An array containing information about each recipient
sender SendEmailToFriendSenderInput! Information about the customer and the content of the message

SendEmailToFriendRecipientInput object

The SendEmailToFriendRecipientInput object must contain the following attributes:

Attribute Data Type Description
email String! The email address of the recipient
name String! The name of the recipient

SendEmailToFriendSenderInput object

The SendEmailToFriendSenderInput object must contain the following attributes:

Attribute Data Type Description
email String! The email address of the sender
message String! The text of the message to be sent
name String! The name of the sender

Output attributes

The SendEmailToFriendOutput object contains the following attributes:

Attribute Data Type Description
recipients [SendEmailToFriendRecipient] An array containing information about each recipient
sender SendEmailToFriendSender Information about the customer and the content of the message

SendEmailToFriendRecipient object

The SendEmailToFriendRecipientInput object can contain the following attributes:

Attribute Data Type Description
email String The email address of the recipient
name String The name of the recipient

SendEmailToFriendSender object

The SendEmailToFriendSender object can contain the following attributes:

Attribute Data Type Description
email String The email address of the sender
message String The text of the message
name String The name of the sender

Errors

Some errors occur because the Email a friend feature is not properly configured. Go to Stores > Configuration > Catalog > Email to a friend in the Admin to adjust the settings.

Error Description
"Email to a Friend" is not enabled. “Email to a Friend” is disabled. To activate it, use the Admin to set the Enabled field to Yes.
Please provide Name of sender. The value specified in the input.sender.name argument is empty.
Please provide Email of sender. The value specified in the input.sender.email argument is empty.
Please provide Message. The value specified in the input.sender.message argument is empty.
Please provide Name for all of recipients. The value specified in the input.recipients[].name argument is empty.
Please provide Email for all of recipients. The value specified in the input.recipients[].email argument is empty.
The current customer isn't authorized. “Email to a Friend” is available for registered users only. To make it available for guests, use the Admin to set the Allow for Guests option to Yes.
The product that was requested doesn't exist. Verify the product and try again. The product specified in the product_id argument is not visible in the current website.
You can't send messages more than XXX times an hour. The user cannot send more messages in an hour than specified in the Max Products Sent in 1 Hour option in the Admin.