ダイヤルSMSの入電通知

<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/dialsms-eyecatch-1024x576.jpg?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-850" srcset="https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/dialsms-eyecatch.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/dialsms-eyecatch.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/dialsms-eyecatch.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/dialsms-eyecatch.jpg?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure> <p>ダイヤルSMSは、契約した電話番号に興味のある人が電話をかけてきたら、情報をSMSで24時間自動で送信するサービス。入電対応も不要なので、人件費もかからず、コスパ◎。</p> <p>ダイヤルSMSに入電があったら、通知が欲しい…という時には『着信URL』を上手に使いましょう。この着信URLは、少し開発の知識が必要です。初心者の私が設定してみましたので、ぜひお試しください。</p> <p>URLを準備するのですから、Webサーバーが必要になります。</p> <p><strong>①サーバー準備→URLを設定</strong></p> <p>今回、私は<a href="https://render.com/" data-type="link" data-id="https://render.com/">Render</a>というサーバーを使いました。こちらは現在英語のみの対応となっているようですが、料金表では『Hobby』プランが無料となっており、今回のプロジェクトのサポートに十分です。</p> <p>使い方は<a href="https://note.com/shuzooooo/n/n6b40c5546cb0" data-type="link" data-id="https://note.com/shuzooooo/n/n6b40c5546cb0">こちらが</a>参考になるかもしれません。3. Webhokの設定にて Render.com のサービスのURLをコピーしたら、それを、EZSMSのダイヤルSMS設定画面にて、着信URLとして入力してください。</p> <figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="687" src="https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-04-02-15.23.11.png?resize=1024%2C687&#038;ssl=1" alt="" class="wp-image-846" srcset="https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-04-02-15.23.11.png?resize=1024%2C687&amp;ssl=1 1024w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-04-02-15.23.11.png?resize=300%2C201&amp;ssl=1 300w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-04-02-15.23.11.png?resize=768%2C515&amp;ssl=1 768w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-04-02-15.23.11.png?resize=1536%2C1030&amp;ssl=1 1536w, https://i0.wp.com/ezsms.blogs.xoxzo.com/wp-content/uploads/2025/04/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-04-02-15.23.11.png?w=1664&amp;ssl=1 1664w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure> <p>これで、EZSMSのダイヤルSMSに入電があると、この着信URLへ着信の情報がPOST送信される設定が完了しました。</p> <p><strong>②サーバー側での準備</strong></p> <p>着信用URLで受け取った情報を、お好みに処理する設定をしておく必要があります。これには、サーバー側にスクリプトを置くのですが、PHPやPython、Node.js、Rubyなどのバックエンド言語を使います。</p> <p>私は今回、着信を受けたらメールで通知してもらえるように設定することにしました。</p> <p>メール送信者として、Gメールを使います。また、Gメールアカウントのアプリパスワードが必要になります。これは、普段ログインに使うパスワードとは違います。詳しくは<a href="https://support.google.com/mail/answer/185833?hl=ja" data-type="link" data-id="https://support.google.com/mail/answer/185833?hl=ja">こちらを</a>参照してください。このページからアプリパスワードの作成も行うことができます。</p> <p>通知を受信したいメールアドレスも準備してください。</p> <p>Gメールアドレス、アプリパスワード、そして受信用のメールアドレスが準備できたら、スクリプトを書きます。私の例では、pythonを使いました。</p> <pre class="wp-block-code"><code>from flask import Flask, request, render_template import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import os import json import pytz app = Flask(__name__) app.secret_key = os.environ.get('SECRET_KEY', 'your_secret_key') from datetime import datetime def format_timestamp(timestamp): try: dt_utc = datetime.utcfromtimestamp(float(timestamp)) dt_jst = dt_utc.replace(tzinfo=pytz.utc).astimezone(pytz.timezone("Asia/Tokyo")) return dt_jst.strftime('%Y-%m-%d %H:%M:%S') except Exception as e: print(f"⚠️ タイムスタンプ変換エラー: {e}") return "Unknown" # 📧 メール送信関数 def send_email(caller, recipient, call_time): sender_email = "your-gmail-address@gmail.com" # 送信元のGmailアドレス receiver_email = "your-email-to-receive-notification@email.com" # 受信先のメールアドレス password = "gmail-app-password" # Gmailの「アプリパスワード」を使う subject = "📞 新しいWebhook通知" body = f""" 新しい通話データを受信しました! 📌 Caller: {caller} 📌 Recipient: {recipient} 📌 Call Time: {call_time} """ msg = MIMEMultipart() msg&#91;"From"] = sender_email msg&#91;"To"] = receiver_email msg&#91;"Subject"] = subject msg.attach(MIMEText(body, "plain")) try: with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server: server.login(sender_email, password) server.sendmail(sender_email, receiver_email, msg.as_string()) print("📧 メール送信成功!") except Exception as e: print(f"⚠️ メール送信エラー: {e}") @app.route('/webhook', methods=&#91;'POST']) def webhook(): # 📌 受信したデータの形式をログに記録 print("📌 受信したデータ (リクエストボディ):", request.data) try: if request.is_json: data = request.get_json() else: data = request.form.to_dict() # form データを辞書に変換 print("📌 パースしたデータ:", data) # データ構造を確認 # JSON形式の場合、ネストされているかチェック if "results" in data: parsed_data = json.loads(data&#91;"results"]) caller = parsed_data.get("caller", "Unknown") recipient = parsed_data.get("recipient", "Unknown") call_time = parsed_data.get("call_time", "Unknown") else: caller = data.get("caller", "Unknown") recipient = data.get("recipient", "Unknown") call_time = data.get("call_time", "Unknown") except Exception as e: print(f"⚠️ データ取得エラー: {e}") return "Invalid Data Format", 400 # 🔹 タイムスタンプを変換 formatted_time = format_timestamp(call_time) print("===== 📞 Webhook Data Received! =====") print(f"Caller: {caller}") print(f"Recipient: {recipient}") print(f"Call Time: {formatted_time}") # 🔹 変換後の時間を表示 print("======================================") # 📧 メール送信(変換後の時間を使う) send_email(caller, recipient, formatted_time) return "Data received!", 200 @app.route('/display') def display_data(): return render_template( 'display.html', caller=request.args.get('caller', 'No Data'), recipient=request.args.get('recipient', 'No Data'), call_time=request.args.get('call_time', 'No Data') ) import os app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000))) </code></pre> <p>25行目から27行目は、準備したものに置き換えてください。</p> <p>これを、<strong>app.py</strong> という名前で保存します。私は、Githubアカウントに連携したVS Codeを使って準備し、GithubからRender(サーバー) へ繋いでデプロイさせました。</p> <p><strong>③テストしてみる</strong></p> <p>さぁ、契約したダイヤルSMS番号へ電話をかけてみましょう。電話が応答されると、まず、Renderのサービス内のログ画面に、ダイヤルSMSの着信データがPOST送信されたことが表示されます。</p> <pre class="wp-block-code"><code>"POST /webhook HTTP/1.1" 200 -</code></pre> <p>そして、受信用に設定したメールアドレスへ、メールが届いているはずです。</p> <p>件名は『📞 新しいWebhook通知』</p> <p>本文は『&nbsp; 新しい通話データを受信しました!&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; 📌 Caller: (架電者の電話番号)<br>&nbsp;&nbsp;&nbsp; 📌 Recipient: (契約したダイヤルSMS番号)<br>&nbsp;&nbsp;&nbsp; 📌 Call Time: (入電日時)』です。</p> <p>便利なダイヤルSMSの機能を、最大限に活かしてください。</p> <p></p>

Tags :

PCからSMSを送信する SMS マーケティング SMS配信 マーケティング