TwilioのFAX APIの代わりになるサービスを見つけたので利用してみた

#TwilioのFax APIが2021年で終了する
2021年でTwillioのFaxAPIの提供が終了するので、Twilioの他のサービスを探してみた。
いろいろ探ってみたところ知り合いのDevelopperから価格も使用もTwilioに似ているサービスがあると聞いて早速試してみた。

#代替のFAX APIの条件
・Twilioと類似のREST API (変更が多いと工数がかかってしまうため）
・twilioと同価格帯
・送受信が可能

いろいろ探してみた結果クラウドユニオンのFax APIが良さそうだと判明。

##Fax送信 APIコードサンプル比較
TwilioのFaxサンプルコードはこちら

```cs

curl -X POST https://fax.twilio.com/v1/Faxes \
--data-urlencode "From=+15017122661" \
--data-urlencode "To=+15555555555" \
--data-urlencode "MediaUrl=https://example.com" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

```

クラウドユニオンのコードサンプルはこちら

```cs

curl --request POST \
  --url https://api-example1.cloudunion.co.jp/v1/Faxes \
  --header 'Authorization: ' \
  --header 'Content-Type: ' \
  --header 'x-api-key: ' \
  --data '{"From":"05012341234","To":"05067896789","MediaUrl":"https://example.com/doc/00001.pdf","Quality":"Standard"}'
```
認証方法が異なっていそうだが、基本的には必要情報など大差ないイメージでスイッチしやすい印象

##FAX送信番号
Faxの送信の際の電話番号であるが、Twilioは１５０円/月程度で購入が可能であるが、クラウドユニオンの方は同価格帯の電話番号の購入は可能だが、同時配信のためのチャネル概念によりチャネル費用が発生するとのこと。

Twilioにはチャネル概念がなかったのでその違いを調べてみたが、どうやらチャネルの概念は日本の通信網だとマストな概念らしく、Twilioは海外サービスゆえ接続が海外からだったためにチャネル概念がなく、チャネル費用が不要であった。しかし、ITの普及により海外サービサーの提供するFAXサービスがほぼ消滅している今、日本通信網の利用がマストになりチャネル費用がかかるらしい。

チャネル費用は何通のファックスを同時に配信したいかで変わってくる。

なお、クラウドユニオンの場合送信番号に利用できるのは
・0ABJ番号(0で始まる10桁の電話番号 ※00XY番号（2桁目が0）と0570番号を除く)
・050で始まる11桁の番号
のみらしいので非通知での送信ができないとのこと。

また、050で始まる番号の場合は0120や0800などのフリーダイヤルへは送信ができない

##FAX送信APIレスポンス

Twilioのレスポンスは

```cs
{
  "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "api_version": "v1",
  "date_created": "2015-07-30T20:00:00Z",
  "date_updated": "2015-07-30T20:00:00Z",
  "direction": "outbound",
  "from": "+15017122661",
  "media_url": null,
  "media_sid": null,
  "num_pages": null,
  "price": null,
  "price_unit": null,
  "quality": "superfine",
  "sid": "FXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "queued",
  "to": "+15555555555",
  "duration": null,
  "links": {
    "media": "https://fax.twilio.com/v1/Faxes/FXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Media"
  },
  "url": "https://fax.twilio.com/v1/Faxes/FXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
```
となっており、価格などが取れる一方でクラウドユニオンは価格は取れないがそれ以外は同じように取得可能。

以下はそれぞれの違いを検証する

##FAX品質
Twilioのレスポンス内にあるQulityはFaX解像度をいう。
Twilio内ではこのように定義される

standard;204x98
medium quality;204x196
superfine; 204x392

クラウドユニオンはほぼ同じ解像度で定義しているが、medium qualityがfineへsuperfineの解像度が微妙に異なる。そしてデフォルトはfineとのこと

standard;204x98
fine;204x196
superfine;204x391

##FAXの状況ステータス
TwillioのStatusのレスポンスの項目は以下となっている

queued	Faxがキューイングされ、処理を待っています。
processing	Faxがダウンロード、アップロードされた、または別のフォーマットに変換されました。
sending	Faxが送信処理中です。
delivered	　Faxが正常に転送されました。
receiving	Faxが受信処理中です。
received	Faxが正常に受信されました。
no-answer	宛先側が応答しなかったため、Faxの送信に失敗しました。
busy	宛先側から「Busy」信号を受け取ったため、送信に失敗しました。
failed	Faxの送信・受信に失敗しました。
canceled	TwiMLで拒否(Reject)した、またはRest APIによるキャンセルが発生しました。

一方、クラウドユニオンは
Statusの中でFAXの送受信ステータス：pending(受付中),processing(処理中),completed(成功),failed(失敗),busy(通話中),no-answer(無応答),CHANNEL_UNACCEPTABLE(同時実行チャネル数オーバー)を取得する。

概ね大きな差異はないので、Twillioを利用しているユーザーには利用しやすいプロダクトのよう

##FAX 価格
Twilio価格（弊社の場合）
送信1通およそ7-8円
受信1通およそ2-3円　
番号取得　1番号110円/月

クラウドユニオン価格
送信1通10円
受信無料
チャネル　1チャネル1500円/月

チャネル概念があるというのは前述しているが、Twilioと近しい価格の送信1通10円で利用が可能。
1チャネルあたり1500円かかるが050の送信番号を利用すれば受信が無料になりコストメリットが大きい。

##利用実感
Twilioと到達率も大差なく、価格も大差ないのでTwilioの代替ルートとして最適だと思った。
ただ、Twilioにあるようなアドバンスドな機能はないので、FAXサービスをフルに活用したいという企業には物足りないかもしれない。
逆に言えばAPIは非常にシンプルなので、開発工数も少なくて済むので、あくまでもTwilioのFAX APIの代わりとして利用するにはgood


##クラウドユニオンのFAX利用方法
2021年12月更新
クラウドユニオンによると以下から問い合わせできるとのことなので
ここから問い合わせすることをお勧めする

<a href= "https://cm.to/J5QBsMC" >お問い合わせはこちら</a>


契約前にAPI仕様書も提供してもらい、実現可能か検討するのもあり

Twillioのサービス終了前にぜひ一度テストしてみては