Отправить пользовательское письмо со специальными свойствами из внешнего CRM через Mautic API

Есть ли способ отправки электронной почты через 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

0

Решение

Я не думаю, что что-то подобное возможно, но это хорошая идея для запроса функции, который вы можете отправить здесь: https://github.com/mautic/mautic/issues

Что вам нужно сделать сейчас, чтобы добиться этого, вам нужно добавить пользовательские поля контактов, такие как orderId и orderPrice, сделать вызов API, чтобы обновить контакт с последним заказом, а затем отправить предопределенное электронное письмо с {contactfield=orderId} а также {contactfield=orderPrice} токены для контакта, и Mautic позаботится о замене токена для вас.

0

Другие решения

Да, вы можете использовать собственные токены в своих электронных письмах. Однако библиотека 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} в своей электронной почте.

0

По вопросам рекламы [email protected]