实现完整的Freshdesk和Freshchat集成支持,包含会话守卫、错误定义、消息去重、配置管理、webhook处理、出站消息发送、状态监控、安全校验、配对功能和流式回复支持
56 lines
1.2 KiB
Python
56 lines
1.2 KiB
Python
FRESHCHAT_RATE_LIMIT = 350
|
|
FRESHDESK_RATE_LIMIT = 300
|
|
FRESHDESK_RATE_LIMIT_ENTERPRISE = 500
|
|
MAX_RETRIES = 3
|
|
DEFAULT_TIMEOUT = 30.0
|
|
MAX_ATTACHMENT_SIZE_MB = 20
|
|
MAX_MESSAGE_LENGTH = 40000
|
|
|
|
FRESHCHAT_STATUS_VALUES = ("new", "active", "assigned", "resolved")
|
|
FRESHDESK_STATUS_MAP = {
|
|
2: "Open",
|
|
3: "Pending",
|
|
4: "Resolved",
|
|
5: "Closed",
|
|
}
|
|
FRESHDESK_PRIORITY_MAP = {
|
|
1: "Low",
|
|
2: "Medium",
|
|
3: "High",
|
|
4: "Urgent",
|
|
}
|
|
|
|
MESSAGE_PART_TYPES = frozenset({
|
|
"text", "image", "file", "quick_replies",
|
|
"card", "carousel", "location", "private_note",
|
|
})
|
|
|
|
VALID_FRESHCHAT_EVENTS = frozenset({
|
|
"message_create",
|
|
"message_update",
|
|
"message_delete",
|
|
"conversation_create",
|
|
"conversation_update",
|
|
"conversation_assignment",
|
|
"conversation_resolution",
|
|
"conversation_reopen",
|
|
})
|
|
|
|
VALID_FRESHDESK_EVENTS = frozenset({
|
|
"ticket_created",
|
|
"ticket_updated",
|
|
"ticket_reply",
|
|
"ticket_note_added",
|
|
"ticket_assigned",
|
|
"ticket_deleted",
|
|
})
|
|
|
|
FRESHDESK_RETRY_MAX = 3
|
|
FRESHDESK_RETRY_BASE = 1.0
|
|
FRESHDESK_RETRY_MAX_DELAY = 10.0
|
|
|
|
RECONCILE_INTERVAL_SECONDS = 300
|
|
|
|
FRESHDESK_BLOCK_STREAMING_CHUNK_MIN_CHARS = 300
|
|
FRESHDESK_BLOCK_STREAMING_CHUNK_MAX_CHARS = 1500
|