
manychatで「Publish error」が出るときの解決策
エラーって難しいですよね。
エラーが出たらそれに対応したエラーが出る、と思えますが、一般的にはエラーの表示は人が設定したもので、フローチャート的な表示になっています。
Aというところで詰まったら、αというエラー表示を出力する。
Bというところで詰まったら、βというエラー表示を出力する。
といったように、「こうなったらこうする」というエラー表示の仕方が一般的なため、エラーの表示がエラーの理由を適切に表示しているとは限らないんです。
先日使っていたmanychatでエラーが表示されるもののミスとエラーの内容が一致していませんでした。
出たエラーの内容は「Publish error」。

「Set Live」をクリックすると出るエラーでした。
manychatでのエラーは、ミスをしている箇所が判明していれば自動でエラー箇所にズームしてもらえます。
しかしこのエラーはミスの箇所が明確でないためか、ただ「Publish error」となるだけでした。
読み取るに、どこか設定でミスしている、と推測できたため、エラーを検索してみました。
https://support.manychat.com/support/solutions/articles/36000131826-flows-troubleshooting
出てきた内容はエラーが出た時にどうやって対応するかというもので、facebookとの連携を再度行うなど、該当すると思われるところは試しましたが、解決できませんでした。
英語だけで検索したり、Youtubeでの検索も行い、「notification」からアカウントの更新なども行いましたが解決できませんでした。
そこで行なったことが、「テンプレートの利用」でした。
テンプレートでできないなら設定のミス、テンプレートで動くなら作ったフローのミス、と問題を切り分けようとしたんです。
土台として利用した「Use a Quiz to Qualify Leads」をテンプレートだけで「Set Live」しました。
なぜかポイントの数値が高すぎてのエラーが出たので、フロー中の
「Actions」内にある、「Increase points by ~」の値を1にしました。

全箇所その対応をすると、「Set Live」で問題なく動いてしまいました。汗

ということで残念ながら問題は自分の作ったフロー側にあると、問題箇所を探していきました。
そのために行なったことが、面倒ではありますがフローを減らしていくことです。
問題となりそうなフローのアクションを減らして、「Set Live」ができるかを確認します。
と、このときに復旧するのを楽にするため、コピーしておくのを忘れずに行いました。
コピーは簡単で、「Set Live」の隣にある点が3つあるところをクリックすると、「Duplicate」という箇所があるので、ここをクリックします。
複製はコピーと思いがちですが、「Duplicate」でもあります。
コピーしてからフローをプチプチと消したところ、ようやくエラー原因の箇所が見つかりました。
それが、フロー内の「condition」の箇所でした。

manychatでは診断機能を作っていて、4つの数字の中で一番大きい値だったものを診断結果として出力します。
そのためフローの「condition」で数値を比較して行なっていたのですが、、、
パラメータの比較は{・}というところをクリックするとパラメータが選択できて、ここから選んでいました。
{・}をクリックすると比較対象となるパラメータが複数選べたため、複数パラメータを選んで行なっていたのですが、ここがエラーの原因でした。
「condition」1つで複数のパラメータ比較はできなかったんです。

↑のように「conditon」内に複数パラメータが入っているとエラーになる、ということです。
そのため比較するパラメータを1つに置き換えて、フローを組み直しました。

このように書き換えたところ、無事「Set Live」を押してもエラーがでることなく、動作させることができました。
エラーの原因は「condition」で複数パラメータを比較対象に利用していたことですが、出力されていたエラーは「Publish error」と噛み合っていないエラー出力で、苦戦してしまいました。