Есть ли способ отправки электронной почты через Mautic API с собственными свойствами, отправленными в одном запросе с запросом на отправку?
Пример: я хочу отправить клиенту электронное письмо с описанием процесса. Поэтому я хочу подготовить шаблон электронной почты с отл. {special: orderId}, {special: orderPrice}, … и хотите сделать что-то подобное
$api->send(emailId, contactId, [
special => [
'orderId' => 123,
'orderPrice' => 1000
]
]);
Что-то дополнительное — у клиента есть несколько категорий нашего интернет-магазина в его избранных, и я хочу отправить основную новостную рассылку с надписью «Новое в вашей любимой категории» … и просто выбрать созданный шаблон электронной почты и отправить с параметрами
$parameters = [
1 => [
'name' => 'Product name',
'price' => 123,
'imgPath' => 'http://pathToImage'
...
],
...
]
Есть ли способ как это сделать? Я новичок в Mautic, но я думал, что он разработан для этих специальных предложений, но не знаю, как это сделать …
Большое спасибо за ответы.
Mautic v. 2.4
Я не думаю, что что-то подобное возможно, но это хорошая идея для запроса функции, который вы можете отправить здесь: https://github.com/mautic/mautic/issues
Что вам нужно сделать сейчас, чтобы добиться этого, вам нужно добавить пользовательские поля контактов, такие как orderId и orderPrice, сделать вызов API, чтобы обновить контакт с последним заказом, а затем отправить предопределенное электронное письмо с {contactfield=orderId}
а также {contactfield=orderPrice}
токены для контакта, и Mautic позаботится о замене токена для вас.
Да, вы можете использовать собственные токены в своих электронных письмах. Однако библиотека API не поддерживает это напрямую. Вам нужно поместить значения в структуру массива и вызвать makeRequest()
функционировать напрямую. Это потому, что библиотека API sendToContact()
Функция не имеет третьего аргумента для необязательных данных. Он передает пустой массив makeRequest()
/**
* Send email to a specific contact
*
* @param int $id
* @param int $contactId
*
* @return array|mixed
*/
public function sendToContact($id, $contactId)
{
return $this->makeRequest($this->endpoint.'/'.$id.'/contact/'.$contactId.'/send', array(), 'POST');
}
Таким образом, вы должны назвать это так:
$emailApi = $api->newApi("emails", $auth, $apiUrl);
$data = array(
'tokens' => array(
'{custom_token}' => 'My Custom Token'
)
);
$email = $emailApi->makeRequest('emails/'.$email_id.'/contact/'.$contact_id.'/send', $data, 'POST');
Затем вы можете использовать {custom_token} в своей электронной почте.