Я воспользовался очень простой подписью, используя адрес электронной почты + имя, хотя теперь я хотел бы добавить дополнительные данные, такие как номер телефона, веб-сайт и т. Д.
Мой вопрос: где в документе API я могу найти, что еще поддерживается, кроме FNAME И LNAME?
На данный момент у меня есть:
$merge_vars = array( 'FNAME' => $fname, 'LNAME' => $lname );
Я использую метод listSubscribe
и это информация, которая приведена выше:
@param array $merge_vars optional merges for the email (FNAME, LNAME, etc.) (see examples below for handling "blank" arrays). Note that a merge field can only hold up to 255 bytes. Also, there are a few "special" keys: string EMAIL set this to change the email address. This is only respected on calls using update_existing or when passed to listUpdateMember() array GROUPINGS Set Interest Groups by Grouping. Each element in this array should be an array containing the "groups" parameter which contains a comma delimited list of Interest Groups to add. Commas in Interest Group names should be escaped with a backslash. ie, "," => "\," and either an "id" or "name" parameter to specify the Grouping - get from listInterestGroupings() string OPTINIP Set the Opt-in IP fields. <em>Abusing this may cause your account to be suspended.</em> We do validate this and it must not be a private IP address. array MC_LOCATION Set the members geographic location. By default if this merge field exists, we'll update using the optin_ip if it exists. If the array contains LATITUDE and LONGITUDE keys, they will be used. NOTE - this will slow down each subscribe call a bit, especially for lat/lng pairs in sparsely populated areas. Currently our automated background processes can and will overwrite this based on opens and clicks. <strong>Handling Field Data Types</strong> - most fields you can just pass a string and all is well. For some, though, that is not the case... Field values should be formatted as follows: string address For the string version of an Address, the fields should be delimited by <strong>2</strong> spaces. Address 2 can be skipped. The Country should be a 2 character ISO-3166-1 code and will default to your default country if not set array address For the array version of an Address, the requirements for Address 2 and Country are the same as with the string version. Then simply pass us an array with the keys <strong>addr1</strong>, <strong>addr2</strong>, <strong>city</strong>, <strong>state</strong>, <strong>zip</strong>, <strong>country</strong> and appropriate values for each string date use YYYY-MM-DD to be safe. Generally, though, anything strtotime() understands we'll understand - <a href="http://us2.php.net/strtotime" target="_blank">http://us2.php.net/strtotime</a> string dropdown can be a normal string - we <em>will</em> validate that the value is a valid option string image must be a valid, existing url. we <em>will</em> check its existence string multi_choice can be a normal string - we <em>will</em> validate that the value is a valid option double number pass in a valid number - anything else will turn in to zero (0). Note, this will be rounded to 2 decimal places string phone If your account has the US Phone numbers option set, this <em>must</em> be in the form of NPA-NXX-LINE (404-555-1212). If not, we assume an International number and will simply set the field with what ever number is passed in. string website This is a standard string, but we <em>will</em> verify that it looks like a valid URL
В настройках списка вы найдете «Поля списка и * | MERGE | * Тэги». Вы можете добавить сюда все, что хотите!
Вы также можете добавить «merge vars» программно через api:
Когда вы добавляете пользователя в этот список через listSubscribe, просто используйте слияние варов, как вы бы сделали с FNAME
$merge_vars = array( 'FNAME' => $fname, 'LNAME' => $lname, 'PHONE' => '010203040506', 'OTHERCUSTOM' => 'custom field' );
Если вам нужно обновить информацию о пользователе, просто верните флаг update_existing в значение true.