Уникальные аргументы SendGrid для отдельных писем

Я пытаюсь создать список уникальных аргументов для каждого письма, официальная ссылка SMTP api описывает эту функцию довольно кратко здесь .

И API-документы библиотеки SendGrid PHP, которые я использую, также мало помогли:

/** * setUniqueArguments * Set a list of unique arguments, to be used for tracking purposes * @param array $key_value_pairs - list of unique arguments */ public function setUniqueArguments(array $key_value_pairs) { $this->header_list['unique_args'] = $key_value_pairs; return $this; } /** * addUniqueArgument * Set a key/value pair of unique arguments, to be used for tracking purposes * @param string $key - key * @param string $value - value */ public function addUniqueArgument($key, $value) { $this->header_list['unique_args'][$key] = $value; return $this; } 

Таким образом, на самом деле я основывал свою реализацию на очевидном логическом завершении и решил создать многомерный json для части уникальных аргументов заголовка, один на один соответствует массиву значений подстановок и массиву получателей, но к сожалению, это не сработало и привело к тому, что неверная ошибка заголовка API XSMTP вернулась к моей электронной почте.

Если кто-то использовал эту функцию раньше и может кратко проинструктировать меня о том, как правильно ее использовать (возможно, после добавления addUniqueArgument после каждого добавления), это может быть большой помощью для меня.

Related of "Уникальные аргументы SendGrid для отдельных писем"

Я вижу, что вы сначала упоминаете уникальные аргументы, но затем упоминаете подстановки, которые являются совершенно несвязанным вопросом. Уникальные аргументы применимы к вызову API в целом, например, такие могут содержать идентификатор пакета в вашей системе, чтобы вы могли легче сопоставлять события электронной почты с вашими данными. Замены, однако, в основном заменяют строку в письмах, чтобы персонализировать каждое электронное письмо для своего получателя, и это относится к каждому получателю письма вместо вызова API.

Уникальные аргументы Sendgrid

Вам не нужно связываться с заголовками запросов JSON, если вы используете их библиотеку API, просто используйте библиотеку как любой другой объект PHP. Например, если вам нужно задать три переменные, var1 , var2 , var3 то это либо:

 $Sendgrid -> setUniqueArguments(array( 'var1' => 'value1', 'var2' => 'value2', 'var3' => 'value3' )); 

или это:

 $Sendgrid -> addUniqueArgument('var1', 'value1'); $Sendgrid -> addUniqueArgument('var2', 'value2'); $Sendgrid -> addUniqueArgument('var3', 'value3'); 

Разница заключается в том, что первая опция setUniqueArguments полностью заменяет любые другие переменные, которые вы добавили ранее, а вторая, addUniqueArgument , добавляет переменную в существующие.

Подстановки Sendgrid

Предположим, вы используете свою библиотеку API, и у вас есть 2 получателя: bob@example.com и alice @ example com, и вам нужно указать их имя в письме. В этом случае вы используете строку-заполнитель в тексте письма, в основном все, что не будет происходить в обычном режиме. В нашем случае предположим, что это может быть:

 Hello <<Name>> 

где <<Name>> является заполнителем для имени получателей. В этом случае вы можете построить вызов API как таковой (я оставляю детали, связанные с содержимым электронной почты и т. Д.):

 $Sendgrid -> addTo('bob@example.com'); $Sendgrid -> addTo('alice@example.com'); $Sendgrid -> addSubstitution('<<Name>>', array('Bob', 'Alice')); 

Значения в вызове addSubstituion должны быть в том же порядке, что и список получателей.