編集:
5.4 より古いバージョンの PHP を使用している場合の修正については、この回答の編集を参照してください。
可能であれば、代わりにアップグレードしてみてください:-)
まず、Mailjet に関心をお寄せいただきありがとうございます。
さて、あなたに答えを与える前に、あなたがここで何を求めているかについてのガイドがあることを知っておいてください:-) . また、そのライブラリの Github リポジトリ
の README には、連絡先と連絡先リストに関するセクションの例があります。
次にこのライブラリに問題が発生した場合に最初にどこを確認すればよいかがわかったので、修正に取り掛かりましょうか。;-)
修正
配列にはフィールドadd_Params
が必要です。
これは次のようになります。ContactID
$add_params = [
"method" => "POST",
"ListID" => [TheListID],
"ContactID" => [TheContactID],
"IsActive" => True
];
これで問題が解決するはずです。
理由を知りたい方は読み進めてください。
また、最後に説明されている連絡先を作成して新しいリストに追加する完全なプロセス。
「なぜ」
リソースは、リソースをリソースlistrecipient
にリンクする方法です。
これは、必要なすべてのパラメーターなしでリソースを作成するときに、API が何をすべきかを認識していないことを意味します (詳細については、こちら)。contact
contactslist
listrecipient
全体のプロセス
contact
aと acontactslist
リソースを作成し、前者を後者に追加しましょう。(クラスのインスタンスが
あると仮定します。)$mj
Mailjet
編集
作成しようとしている連絡先がまだ作成されていないことを確認してください。
詳細については、こちらを参照してください。
$makeContactParams = [
"method" => "POST",
"Email" => "testSO@example.org"
];
$contact = $mj->contact($makeContactParams);
echo "Contact ID: ".$contact->Data[0]->ID."\n";
$contactslistParams = [
"method" => "POST",
"Name" => "TestSO"
];
$list = $mj->contactslist($contactslistParams);
echo "List ID: ".$list->Data[0]->ID."\n\n";
$listRecepParams = [
"method" => "POST",
"ListID" => $list->Data[0]->ID,
"ContactID" => $contact->Data[0]->ID,
"IsActive" => True
];
$recep = $mj->listrecipient($listRecepParams);
これがあなたの問題を解決し、そもそもなぜそこにあったのかを理解するのに役立つことを願っています:-)