비즈뿌리오 알림톡 템플릿을 콘솔 위임(발송 전 실시간 조회) 방식에서 시스템 내 작성(draft) → 검수 신청(requested) → 승인(approved) 라이프사이클로 개편한다. 발송 판정의 SSoT 를 DB(bizppurio_templates)로 옮기고 발송 전 실시간 조회를 폐지. - 알림↔템플릿 바인딩 모델(notification_bindings) 제거, 알림 1건당 템플릿 1행으로 대체 - 검수 신청: template_code 자체 채번(codeCheck 재시도) → kapi add/update → request - 상태 동기화: 30분 스케줄러 + 수동 새로고침, 승인 전이 시 content 를 approved_content 로 동결 - SMS 본문 언어별 입력 복원(수신자 로케일 발송), SMS 단독 선택 시 알림톡 미발송 - 3면(코어/게시판/이커머스) '비즈뿌리오' 통합 탭 + 플러그인 '알림 템플릿 관리' 화면 - 중복 검수 신청은 서버 원자 선점(claimForInspection 조건부 UPDATE)으로 차단 - admin_basic 1.0.6 / board 1.0.5 / ecommerce 1.1.2: 채널 서브탭 통합 탭 선언(tab_channels) 지원 - 검증: 계획서 대비 5라운드 전수검증, §6.3 실측 매트릭스 Playwright 19 고정, PHPUnit 421 / Vitest 228 green, audit 0 error
160 lines
9.3 KiB
PHP
160 lines
9.3 KiB
PHP
<?php
|
||
|
||
return [
|
||
'channel' => [
|
||
'sms' => 'SMS',
|
||
'lms' => 'LMS',
|
||
'alimtalk' => 'アラートトーク',
|
||
],
|
||
'channel_group' => [
|
||
'text' => '文字',
|
||
'alimtalk' => '通知トーク',
|
||
],
|
||
'status' => [
|
||
'pending' => '待機中',
|
||
'sent' => '送信中',
|
||
'success' => '成功',
|
||
'failed' => '失敗',
|
||
],
|
||
'source' => [
|
||
'auto' => '自動',
|
||
'manual' => '手動',
|
||
'bulk' => '一括',
|
||
],
|
||
'result_category' => [
|
||
'success' => '成功',
|
||
'retry' => '再試行',
|
||
'permanent_failure' => '永久失敗',
|
||
'balance_low' => '残高不足',
|
||
],
|
||
'channels' => [
|
||
'source_label' => 'ビズプリオ',
|
||
'sms' => [
|
||
'name' => 'ビズプリオ 文字',
|
||
'description' => 'ビズプリオを通じてテキスト(SMS/LMS)で通知を送信します。',
|
||
],
|
||
'alimtalk' => [
|
||
'name' => 'ビズプリオ アラートトーク',
|
||
'description' => 'ビズプリオを通じてカカオアラートトークで通知を送信します。',
|
||
],
|
||
],
|
||
'readiness' => [
|
||
'sms_credentials_missing' => 'ビズプリオのアイディとパスワードを設定してください。',
|
||
'sms_sender_number_missing' => '発信番号を設定してください。',
|
||
'alimtalk_api_key_missing' => 'カカオ管理API キーを設定してください。',
|
||
'alimtalk_sender_key_missing' => 'アラートトーク発信プロフィールキーを設定してください。',
|
||
],
|
||
'settings' => [
|
||
'bizppurio_id_attribute' => 'ビズプリオアイディ',
|
||
'password_attribute' => 'パスワード',
|
||
'sender_number_attribute' => '発信番号',
|
||
],
|
||
'webhook' => [
|
||
'received' => 'レポートを受け取りました。',
|
||
],
|
||
'error' => [
|
||
'credentials_missing' => 'ビズプリオのアイディとパスワードを先に設定してください。',
|
||
'token_issue_failed' => 'ビズプリオ認証トークン発行に失敗しました。',
|
||
'token_issue_failed_with_reason' => 'ビズプリオ認証トークンの発行に失敗しました。(:reason)',
|
||
'send_failed' => 'メッセージ送信リクエストに失敗しました。',
|
||
'send_retryable' => 'メッセージ送信が一時的に失敗しました。(コード: :code)',
|
||
'invalid_response' => 'ビズプリオレスポンスを解析できません。',
|
||
'connection_failed' => 'ビズプリオ サーバーに接続できません。しばらく後にもう一度お試しください。',
|
||
'kakao_credentials_missing' => 'カカオ管理API 使用のためにアイディとAPI キーを先に設定してください。',
|
||
'kakao_request_failed' => 'カカオ管理API リクエストに失敗しました。',
|
||
'sender_key_missing' => 'アラートトーク発信プロフィールキーを先に設定してください。',
|
||
'image_unreadable' => 'アップロードした画像ファイルを読み込めません。',
|
||
],
|
||
'send_skipped' => [
|
||
'alimtalk_template_not_approved' => '承認されたアラートトークテンプレートがないか、アラートトーク送信がオフになっているため送信をスキップしました。(通知タイプ: :type)',
|
||
'sms_template_missing' => 'SMS本文が設定されていないため送信をスキップしました。(通知タイプ: :type)',
|
||
'recipient_phone_missing' => '受信者の電話番号がないため送信をスキップしました。(通知タイプ: :type)',
|
||
'message_body_empty' => '送信本文が空いているため送信をスキップしました。(通知タイプ: :type)',
|
||
],
|
||
'template' => [
|
||
'created' => '通知テンプレートを保存しました。',
|
||
'updated' => '通知テンプレートを更新しました。',
|
||
'requested' => '審査を申請しました。承認結果は自動的に同期され、[更新]ですぐに確認できます。',
|
||
'request_cancelled' => '審査申請を取り消しました。',
|
||
'approval_cancelled' => '承認を取り消しました。この通知のアラートトーク送信が停止されました。',
|
||
'released' => '休眠状態を解除しました。',
|
||
'synced' => 'カカオ審査ステータスを同期しました。',
|
||
'deleted' => '通知テンプレートを削除しました。',
|
||
'image_uploaded' => '画像をアップロードしました。',
|
||
'content_locked' => '現在のステータス(:status)ではアラートトークの内容を修正できません。審査中の場合は申請の取り消しを、承認済みの場合は承認の取り消しを先に行ってください。',
|
||
'content_missing' => 'アラートトークテンプレートの内容を先に作成してください。',
|
||
'request_not_allowed' => '現在のステータス(:status)では審査を申請できません。',
|
||
'cancel_request_not_allowed' => '審査中ステータスではないため、申請を取り消せません。(現在: :status)',
|
||
'cancel_approval_not_allowed' => '承認ステータスではないため、承認を取り消せません。(現在: :status)',
|
||
'release_not_allowed' => '休眠ステータスではないため、解除できません。(現在: :status)',
|
||
'code_generation_failed' => 'テンプレートコードを採番できませんでした。しばらくしてからもう一度お試しください。',
|
||
],
|
||
'validation' => [
|
||
'link_mo_required' => 'ウェブリンク(WL)ボタンにはモバイルリンクが必要です。',
|
||
'link_and_required' => 'アプリリンク(AL)ボタンにはAndroidスキームが必要です。',
|
||
'link_ios_required' => 'アプリリンク(AL)ボタンにはiOSスキームが必要です。',
|
||
'tel_number_required' => '電話(TN)ボタンには電話番号が必要です。',
|
||
'plugin_id_required' => 'プラグイン(P1~P3)ボタンにはプラグインIDが必要です。',
|
||
'highlight_title_too_long' => 'アイテムハイライトのタイトルは:max文字以内である必要があります。',
|
||
'highlight_description_too_long' => 'アイテムハイライトの説明は:max文字以内である必要があります。',
|
||
'image_ratio_invalid' => '画像は横:縦 2:1 の比率である必要があります。(例: 1000×500px)',
|
||
|
||
// 検証エラー文に使うフィールドラベル (FormRequest::attributes)
|
||
'attributes' => [
|
||
'notification_type' => '通知タイプ',
|
||
'content' => 'アラートトーク内容',
|
||
'template_name' => 'テンプレート名',
|
||
'message_type' => 'メッセージタイプ',
|
||
'emphasize_type' => '強調タイプ',
|
||
'template_content' => '本文',
|
||
'preview_message' => 'プレビュー文言',
|
||
'category_code' => 'カテゴリ',
|
||
'security_flag' => 'セキュリティテンプレート',
|
||
'extra' => '付加情報',
|
||
'title' => '強調タイトル',
|
||
'subtitle' => '強調サブタイトル',
|
||
'header' => 'ヘッダー',
|
||
'image_name' => '画像ファイル名',
|
||
'image_url' => '画像URL',
|
||
'item' => 'アイテムリスト',
|
||
'item_list' => 'アイテム一覧',
|
||
'item_title' => 'アイテム名',
|
||
'item_description' => 'アイテム説明',
|
||
'summary' => '要約',
|
||
'summary_title' => '要約タイトル',
|
||
'summary_description' => '要約説明',
|
||
'highlight' => 'ハイライト',
|
||
'highlight_title' => 'ハイライトタイトル',
|
||
'highlight_description' => 'ハイライト説明',
|
||
'highlight_image_url' => 'ハイライト画像URL',
|
||
'represent_link' => '代表リンク',
|
||
'buttons' => 'ボタン',
|
||
'button_name' => 'ボタン名',
|
||
'button_link_type' => 'ボタンリンクタイプ',
|
||
'quick_replies' => 'クイックリプライ',
|
||
'quick_reply_name' => 'クイックリプライ名',
|
||
'quick_reply_link_type' => 'クイックリプライリンクタイプ',
|
||
'link_mo' => 'モバイルリンク',
|
||
'link_pc' => 'PCリンク',
|
||
'link_and' => 'Androidスキーム',
|
||
'link_ios' => 'iOSスキーム',
|
||
'tel_number' => '電話番号',
|
||
'plugin_id' => 'プラグインID',
|
||
'image' => '画像ファイル',
|
||
'sms_body' => 'SMS本文',
|
||
'alimtalk_enabled' => 'アラートトーク利用',
|
||
'fallback_sms_enabled' => '代替SMS利用',
|
||
'sms_only' => 'SMS単独送信',
|
||
'is_active' => '有効',
|
||
'status' => 'ステータス',
|
||
'search' => '検索キーワード',
|
||
'page' => 'ページ',
|
||
'per_page' => '1ページあたりの件数',
|
||
],
|
||
],
|
||
'token_check' => [
|
||
'success' => '認証が正常に確認されました。ユーザーIDとパスワードが正しいです。',
|
||
'failed' => '認証の確認に失敗しました。詳細な理由をご確認ください。',
|
||
],
|
||
];
|