FaximoサービスでFAXメッセージを送信し、FAX履歴を検索
- id: prepare_fax_document
name: prepare_fax_document
tool: INPUT_FILE
input:
- name: description
value: "FAX経由で送信する文書をアップロード"
- id: send_important_fax
name: send_important_fax
tool: FAXIMO_SEND_FAX
config:
- name: login_id
value: "{{secrets.FAXIMO_LOGIN_ID}}"
- name: password
value: "{{secrets.FAXIMO_PASSWORD}}"
input:
- name: service_type
value: "faximo" # または "faximoSilver"
- name: sendto
value: "+1-555-123-4567,+1-555-987-6543" # 複数のFAX番号
- name: subject
value: "重要なビジネス文書 - {{date | format('YYYY-MM-DD')}}"
- name: body
value: |
受信者様
重要なビジネス文書を添付しましたので、ご確認ください。
このFAXはJinbaflowにより自動送信されました。
敬具
会社名
- name: attachments
value: "{{steps.prepare_fax_document.result.file_url}}"
- name: priority
value: "high"
- name: receipt_required
value: true
- id: log_fax_result
name: log_fax_result
tool: OUTPUT_TEXT
input:
- name: text
value: |
FAX送信完了!
結果コード: {{steps.send_important_fax.result.result_code}}
プロセスキー: {{steps.send_important_fax.result.process_key}}
受付時刻: {{steps.send_important_fax.result.acceptance_time}}
詳細番号: {{steps.send_important_fax.result.unique_detail_number}}
- id: prepare_recipient_list
name: prepare_recipient_list
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
# FAX受信者リストの準備
recipients = [
{"name": "会社A", "fax": "+1-555-111-2222"},
{"name": "会社B", "fax": "+1-555-333-4444"},
{"name": "会社C", "fax": "+1-555-555-6666"}
]
# カンマ区切りのFAX番号を作成
fax_numbers = ",".join([r["fax"] for r in recipients])
print(f"FAX_NUMBERS: {fax_numbers}")
# 受信者サマリーを作成
print(f"TOTAL_RECIPIENTS: {len(recipients)}")
for i, recipient in enumerate(recipients, 1):
print(f"RECIPIENT_{i}: {recipient['name']} - {recipient['fax']}")
- id: upload_campaign_document
name: upload_campaign_document
tool: INPUT_FILE
input:
- name: description
value: "FAXキャンペーン用マーケティング文書をアップロード"
- id: send_bulk_fax
name: send_bulk_fax
tool: FAXIMO_SEND_FAX
config:
- name: login_id
value: "{{secrets.FAXIMO_LOGIN_ID}}"
- name: password
value: "{{secrets.FAXIMO_PASSWORD}}"
input:
- name: service_type
value: "faximo"
- name: sendto
value: "{{steps.prepare_recipient_list.result.stdout | regex_search('FAX_NUMBERS: (.+)') | first}}"
- name: subject
value: "月次ニュースレター - {{date | format('MMMM YYYY')}}"
- name: body
value: |
貴重なパートナー様
月次ニュースレターを添付いたします。
この通信には、弊社サービスに関する重要な更新情報が含まれています。
継続的なパートナーシップに感謝いたします。
敬具
マーケティングチーム
- name: attachments
value: "{{steps.upload_campaign_document.result.file_url}}"
- name: send_time
value: "immediate"
- name: notification_email
value: "admin@yourcompany.com"
- id: track_campaign_status
name: track_campaign_status
tool: OUTPUT_FILE
input:
- name: content
value: |
FAXキャンペーンレポート
==================
日付: {{date | format('YYYY-MM-DD HH:mm:ss')}}
キャンペーン: 月次ニュースレター
結果:
- 結果コード: {{steps.send_bulk_fax.result.result_code}}
- プロセスキー: {{steps.send_bulk_fax.result.process_key}}
- 受付時刻: {{steps.send_bulk_fax.result.acceptance_time}}
- 詳細番号: {{steps.send_bulk_fax.result.unique_detail_number}}
受信者数: {{steps.prepare_recipient_list.result.stdout | regex_search('TOTAL_RECIPIENTS: (\\d+)') | first}}
ステータス: 処理中
次のステップ:
1. 配信ステータスを監視
2. 配信失敗を確認
3. 配信確認をフォローアップ
- name: filename
value: "fax_campaign_report_{{date | format('YYYY-MM-DD')}}.txt"
- name: fileType
value: "txt"
- id: search_recent_fax_history
name: search_recent_fax_history
tool: FAXIMO_SEARCH_HISTORY
config:
- name: login_id
value: "{{secrets.FAXIMO_LOGIN_ID}}"
- name: password
value: "{{secrets.FAXIMO_PASSWORD}}"
input:
- name: service_type
value: "faximo"
- name: date_from
value: "{{date | date_add(-30, 'days') | format('YYYY-MM-DD')}}" # 過去30日
- name: date_to
value: "{{date | format('YYYY-MM-DD')}}"
- name: status_filter
value: "all" # または "success", "failed", "pending"
- id: analyze_fax_performance
name: analyze_fax_performance
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import json
from collections import Counter
# FAX履歴結果を解析
fax_history = {{steps.search_recent_fax_history.result.history}}
if not fax_history:
print("指定期間のFAX履歴が見つかりません。")
else:
# 配信ステータスを分析
statuses = [fax.get('status', 'unknown') for fax in fax_history]
status_counts = Counter(statuses)
total_faxes = len(fax_history)
successful_faxes = status_counts.get('delivered', 0)
failed_faxes = status_counts.get('failed', 0)
pending_faxes = status_counts.get('pending', 0)
success_rate = (successful_faxes / total_faxes * 100) if total_faxes > 0 else 0
print("FAXパフォーマンス分析")
print("=" * 30)
print(f"送信FAX総数: {total_faxes}")
print(f"配信成功: {successful_faxes}")
print(f"配信失敗: {failed_faxes}")
print(f"配信待機中: {pending_faxes}")
print(f"成功率: {success_rate:.1f}%")
print()
# 上位受信者
recipients = [fax.get('recipient', 'unknown') for fax in fax_history]
top_recipients = Counter(recipients).most_common(5)
print("上位受信者:")
for recipient, count in top_recipients:
print(f" {recipient}: {count} FAX")
- id: create_performance_report
name: create_performance_report
tool: OUTPUT_FILE
input:
- name: content
value: |
FAXパフォーマンスレポート
======================
レポート期間: {{steps.search_recent_fax_history.input.date_from}} から {{steps.search_recent_fax_history.input.date_to}}
生成日時: {{date | format('YYYY-MM-DD HH:mm:ss')}}
{{steps.analyze_fax_performance.result.stdout}}
推奨事項:
- 配信失敗を監視し、必要に応じて再送信
- 送信失敗の受信者FAX番号を確認
- 配信時間の最適化を検討
- 互換性向上のため文書フォーマットを確認
詳細な配信ログについては、Faximoサービスダッシュボードを確認してください。
- name: filename
value: "fax_performance_report_{{date | format('YYYY-MM-DD')}}.txt"
- name: fileType
value: "txt"
{
"result_code": "SUCCESS",
"process_key": "FAX123456789",
"acceptance_time": "2024-01-15 14:30:00",
"unique_detail_number": "DTL001234567"
}
{
"history": [
{
"id": "FAX123456",
"recipient": "+1-555-123-4567",
"subject": "ビジネス文書",
"status": "delivered",
"send_time": "2024-01-15 14:30:00",
"delivery_time": "2024-01-15 14:32:15"
}
]
}