LINE BOTを使ってみよう。(MessagingAPIで利用できる料金プランによる制限)

2019-08-25PHP

Line開発をする上でのプラン選び

Lineでの開発をする場合、「Reply API」「Push API」は使いたいものです。
でも、可能な限り料金はかからない方がよい。

プランの制限

プランを見てみると

Line料金プラン

無料プランでみると「Developer Trial」「フリー」があります。
フリーの場合、「Push API」が使用できません。
では、選択肢は「Developer Trial」しかありません。
しかし、「Developer Trial」では、追加可能友だち数が50人という制限があります。

50人以上の登録があった場合、お友達登録の時に制限のエラーがでてしまいます。

これを回避するには、と考えたとき。

私は、次の方法をとってみました。
50人の制限に達した場合、新しいプロバイダを作成して、新しいプロバイダに登録をしてもらいます。

複数のプロバイダを連携させる

この時、プロバイダが2つ(L1,L2とします)となったとき
L1から投稿したらL2にも反映しなくてはなりません。
Webhook URL に指定するプログラム内で、L2に連携する処理を入れればいいだけ。。

	// Line送信
	$channel_id     = '**********';
	$my_id          = '**********';
	$access_token   = '**********';
	sendLine( $AName, $ABody, $my_id, $channel_id, $access_token);
	// Line送信
	$channel_id     = '**********';
	$my_id          = '**********';
	$access_token   = '**********';
	sendLine( $AName, $ABody, $my_id, $channel_id, $access_token);

sendLineはLinePushするロジックを書いています。
プロバイダがいくつ増えても、一つに投函したものは、すべてに連携できます。

Webhook の注意点

複数のプロバイダで連携させたい場合、当初Webhook URLをおなじCallBackプログラムを指定したらよいと考えていましたが、同じWebhook URLを指定した場合、Line に Pushすることができません。
L1では、うまく送信できてもL2では「Failed to send messages」となり送信できません。
原因は特定できてないのですが、L1とL2を異なるCallBackプログラムにすると問題なく送信できます。

【この設定を二つのプロバイダに設定するとNG】

Callback_ecmn_test1.phpとCallback_ecmn_test2.phpと分けるとうまく行えます。

ひとまず、これで無料プランで50人以上のお友達登録での運用ができます。

[前の記事]LINE BOTを使ってみよう。 (Failed to send messages)
[次の記事]LINE BOTを使ってみよう。(ラインビーコンを使ってみた)