diff --git a/voxtelesys_integration/doctype/voxtelesys_settings/voxtelesys_settings.json b/voxtelesys_integration/doctype/voxtelesys_settings/voxtelesys_settings.json index 692c0fa..632fc79 100644 --- a/voxtelesys_integration/doctype/voxtelesys_settings/voxtelesys_settings.json +++ b/voxtelesys_integration/doctype/voxtelesys_settings/voxtelesys_settings.json @@ -3,34 +3,59 @@ "creation": "2025-01-01 00:00:00.000000", "doctype": "DocType", "engine": "InnoDB", - "field_order": ["enabled","api_token","column_break_1","outbound_trunk_group","caller_id","section_break_webhook","webhook_secret","webhook_url_display","section_break_voxml","voxml_base_url","recording_enabled","column_break_2","missed_call_create_issue","default_issue_queue","section_break_agent","agent_routing_mode"], + "field_order": [ + "enabled", + "api_token", + "column_break_1", + "outbound_trunk_group", + "caller_id", + "section_break_webhook", + "webhook_secret", + "webhook_url_display", + "sms_webhook_url_display", + "section_break_voxml", + "voxml_base_url", + "recording_enabled", + "column_break_2", + "missed_call_create_issue", + "default_issue_queue", + "section_break_agent", + "agent_routing_mode", + "section_break_sms", + "sms_enabled", + "sms_auto_attach_to_ticket" + ], "fields": [ - {"fieldname":"enabled","fieldtype":"Check","label":"Enabled","default":"0"}, - {"fieldname":"api_token","fieldtype":"Password","label":"Voxtelesys API Token","description":"Bearer token from the Voxtelesys developer portal (Voice API)","reqd":1}, - {"fieldname":"column_break_1","fieldtype":"Column Break"}, - {"fieldname":"outbound_trunk_group","fieldtype":"Data","label":"Outbound Trunk Group","description":"Trunk group name as configured in Voxtelesys portal"}, - {"fieldname":"caller_id","fieldtype":"Data","label":"Default Caller ID (E.164)","description":"e.g. +12025551234"}, - {"fieldname":"section_break_webhook","fieldtype":"Section Break","label":"Webhook Configuration"}, - {"fieldname":"webhook_secret","fieldtype":"Password","label":"Webhook Signing Secret","description":"Optional — verify webhook POSTs originate from Voxtelesys"}, - {"fieldname":"webhook_url_display","fieldtype":"Data","label":"Your Inbound Webhook URL","read_only":1,"description":"Set this URL in your Voxtelesys Voice API Profile"}, - {"fieldname":"section_break_voxml","fieldtype":"Section Break","label":"VoxXML / Voice Behaviour"}, - {"fieldname":"voxml_base_url","fieldtype":"Data","label":"Public Base URL","description":"Publicly accessible root of this ERPNext site (e.g. https://erp.broadcastmgmt.cloud)"}, - {"fieldname":"recording_enabled","fieldtype":"Check","label":"Enable Call Recording","default":"0"}, - {"fieldname":"column_break_2","fieldtype":"Column Break"}, - {"fieldname":"missed_call_create_issue","fieldtype":"Check","label":"Auto-create Helpdesk Issue on Missed Call","default":"1"}, - {"fieldname":"default_issue_queue","fieldtype":"Link","label":"Default Issue Queue","options":"HD Ticket Priority","description":"Helpdesk queue for auto-created missed-call issues"}, - {"fieldname":"section_break_agent","fieldtype":"Section Break","label":"Agent Routing"}, - {"fieldname":"agent_routing_mode","fieldtype":"Select","label":"Inbound Call Routing","options":"Round Robin\nAvailability-Based\nDirect (no routing)","default":"Round Robin"} + {"fieldname": "enabled", "fieldtype": "Check", "label": "Enabled", "default": "0"}, + {"fieldname": "api_token", "fieldtype": "Password", "label": "Voxtelesys API Token", "description": "Bearer token from the Voxtelesys developer portal. Used for both Voice and SMS APIs.", "reqd": 1}, + {"fieldname": "column_break_1", "fieldtype": "Column Break"}, + {"fieldname": "outbound_trunk_group", "fieldtype": "Data", "label": "Outbound Trunk Group", "description": "Trunk group name as configured in Voxtelesys portal"}, + {"fieldname": "caller_id", "fieldtype": "Data", "label": "Default Caller ID (E.164)", "description": "e.g. +12025551234 — used for outbound voice and as the default SMS sender"}, + {"fieldname": "section_break_webhook", "fieldtype": "Section Break", "label": "Webhook Configuration"}, + {"fieldname": "webhook_secret", "fieldtype": "Password", "label": "Webhook Signing Secret", "description": "Optional — HMAC-SHA256 secret used to verify webhook POSTs originate from Voxtelesys"}, + {"fieldname": "webhook_url_display", "fieldtype": "Data", "label": "Voice Webhook URL", "read_only": 1, "description": "Set this URL as the Answer URL on your Voxtelesys Voice API Profile"}, + {"fieldname": "sms_webhook_url_display", "fieldtype": "Data", "label": "SMS Webhook URL", "read_only": 1, "description": "Set this URL as the Inbound Webhook on your Voxtelesys SMS Profile"}, + {"fieldname": "section_break_voxml", "fieldtype": "Section Break", "label": "VoxXML / Voice Behaviour"}, + {"fieldname": "voxml_base_url", "fieldtype": "Data", "label": "Public Base URL", "description": "Publicly accessible root of this ERPNext site (e.g. https://erp.broadcastmgmt.cloud)"}, + {"fieldname": "recording_enabled", "fieldtype": "Check", "label": "Enable Call Recording", "default": "0"}, + {"fieldname": "column_break_2", "fieldtype": "Column Break"}, + {"fieldname": "missed_call_create_issue", "fieldtype": "Check", "label": "Auto-create Helpdesk Ticket on Missed Call", "default": "1"}, + {"fieldname": "default_issue_queue", "fieldtype": "Link", "label": "Default Ticket Priority", "options": "HD Ticket Priority", "description": "Priority applied to auto-created missed-call tickets"}, + {"fieldname": "section_break_agent", "fieldtype": "Section Break", "label": "Agent Routing"}, + {"fieldname": "agent_routing_mode", "fieldtype": "Select", "label": "Inbound Call Routing", "options": "Round Robin\nAvailability-Based\nDirect (no routing)", "default": "Round Robin", "description": "Round Robin cycles through users with a custom_voxtelesys_number set. Direct skips routing and plays the unavailable message."}, + {"fieldname": "section_break_sms", "fieldtype": "Section Break", "label": "SMS"}, + {"fieldname": "sms_enabled", "fieldtype": "Check", "label": "Enable SMS", "default": "1", "description": "Enables the SMS Send button on HD Ticket and the inbound SMS webhook handler"}, + {"fieldname": "sms_auto_attach_to_ticket", "fieldtype": "Check", "label": "Auto-attach Inbound SMS to Open Ticket", "default": "1", "description": "When an SMS arrives from a known Contact with an open HD Ticket, attach it as a Communication on that ticket"} ], "issingle": 1, "links": [], - "modified": "2025-01-01 00:00:00.000000", + "modified": "2026-05-12 00:00:00.000000", "modified_by": "Administrator", "module": "Voxtelesys Integration", "name": "Voxtelesys Settings", "owner": "Administrator", - "permissions": [{"create":1,"delete":1,"email":1,"export":1,"print":1,"read":1,"report":1,"role":"System Manager","share":1,"write":1}], + "permissions": [{"create": 1, "delete": 1, "email": 1, "export": 1, "print": 1, "read": 1, "report": 1, "role": "System Manager", "share": 1, "write": 1}], "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +}