客户在企业微信群发来一份报关PDF,文件名里列出了几票客户单号。设置好自动处理规则后,系统会分别找到这些运单,把同一份PDF追加到每票运单的“文件 → 其他”档案,员工不用逐票下载和上传,也不会消耗AI点数。
设置自动处理 · 触发条件 · 函数参数 · 其他业务示例 · 核对归档结果 · 处理未归档的单号
本文图片和样例使用专门建立的演示客户、运单和文件,不是客户业务资料。
规则只需设置一次。后续客户按原有方式在群里发文件即可。不要让其他自动处理规则同时处理同一批报关PDF;不确定时,请客服核对已有规则。
“触发条件”决定收到哪些消息时开始处理。下面是可复制的文字版,群名“报关文件处理群”为示例,请换成企业微信中实际显示的完整群名:
是否群聊消息()
&& $message.conversationName === '报关文件处理群'
&& 是否文件消息()
&& 是否为指定文件扩展名('pdf')
&& /报关/.test($file.name)
&&表示所有条件都要同时满足。上面的写法只处理指定群里、文件名包含“报关”的PDF;其他群、文字消息、图片消息和其他文件不会触发。
| 公式或函数 | 作用 | 按业务修改的方法 |
|---|---|---|
是否群聊消息() |
只接收群里的消息 | 无参数,通常保留 |
$message.conversationName === '报关文件处理群' |
按完整群名筛选 | 只改引号内的群名;不是只要包含这些字就匹配 |
是否文件消息() |
确认收到的是文件消息 | 无参数;图片消息不等于文件消息 |
是否为指定文件扩展名('pdf') |
按文件后缀筛选 | 填不带点的后缀,不区分大小写;多个后缀写成是否为指定文件扩展名('pdf', 'xlsx'),不是写成数组 |
/报关/.test($file.name) |
文件名中要包含“报关” | 可改为/签收/.test($file.name);不检查文件正文 |
如果要查找的文字带括号、加号等符号,可改用下面的写法,按引号里的完整文字查找,避免符号被当成特殊匹配规则:
$file.name.indexOf('报关(放行)') >= 0
不需要限制文件名中的说明词时,可以删除最后一行&& /报关/.test($file.name),但仍应保留群名和文件类型限制,避免其他资料也进入处理。
更换后缀只是改变消息筛选条件。还需在APP中开启对应文件的下载,并确认系统确实收到原文件和完整文件名;本文的长文件名采集验证针对PDF。
“执行脚本”填写下面这一行即可,系统会完成查单、归档和结果统计:
按文件名单号归档当前文件({prefixes: ['FBA'], fileType: 'OTHER'});
这个函数从当前文件名提取客户单号,只查找当前群唯一绑定客户的运单。缺单或同号对应多票时跳过该单号,其余能唯一找到的运单继续归档。它不读取文件正文、不判断文件是否真的是报关资料或发票,也不调用AI。
参数填写方法
只需填写业务要修改的选项,其余选项可以省略。参数英文名称保持原样;文字放在引号中,数字不加引号,多个前缀或排除项放在方括号中。
| 参数 | 是否必填 / 默认值 | 含义和例子 |
|---|---|---|
fileType |
必填 | 放到运单的哪类档案。使用下表中的英文值,例如'OTHER';不能直接填中文“其他” |
prefixes |
可省略;默认不限前缀 | 允许的客户单号开头。['FBA']只取FBA开头的候选,['ABC', 'XYZ']表示两种开头都接收,不区分大小写。[]也表示不限前缀。建议有固定前缀时明确填写,避免把日期或批次号当成客户单号 |
minLength |
可省略;默认6 |
单号最少有几个字符,必须为大于0的整数。英文字母、数字和保留的连接符都计入长度。五位单号ABC12需要设置为5或更小 |
excludes |
可省略;默认[] |
明确排除的完整单号,例如['ABC00']。不区分大小写;不是排除所有ABC开头的号码,也不是模糊匹配 |
keepChars |
可省略;默认'' |
单号内部需要保留的连接符。例如单号为ABC-123456时填'-';不填时横杠会把它拆成两段。英文字母和数字本来就会保留,不用填写 |
remark |
可省略;默认'易信达自动上传' |
归档后显示的文件备注,例如'签收资料自动归档';不会改变查单方式 |
例如,多个前缀应写prefixes: ['ABC', 'XYZ'],不要写成prefixes: 'ABC,XYZ';最短长度写minLength: 5,不要写成minLength: '5'。不使用的可选参数直接省略,不要填null或自行增加参数名称。
档案类型怎么选
fileType填写值 |
运单里的档案类型 | 需要知道的区别 |
|---|---|---|
'OTHER' |
其他 | 本文默认值。上传人显示规则创建人;与该运单最新一份“其他”档案内容相同则跳过 |
'DECLARATION' |
报关 | 放到“报关”档案;上传人显示规则创建人,与最新一份同类型档案比较。仍须符合当前运单业务允许的档案类型 |
'CLIENT_INVOICE' |
客户发票 | 上传人显示“小易自动上传”,权限仍按规则创建人校验。按最近优先、最多核对20份历史客户发票,范围内已有相同内容则跳过;此函数不会判断是否发票,也不会自动识别发票内容 |
这三个类型都会追加档案并对客户公开。类型参数只接受上表三种值,不能填“清关文件”“面单”等其他名称。如果业务需要先判断是否发票、再识别发票内容,请查看易信达消息自动化使用说明中的发票归档场景;那与本页按文件名查单的用途不同。
单号是怎样识别的
keepChars后,指定字符会保留在单号内部。这些参数不改变群绑定、权限和缺单处理,也不提供上传人、公开状态、覆盖旧档案或提高50单号上限的设置。执行脚本通常只保留这一行,不用另外写循环或统计脚本;数量和未处理原因会写入历史日志。
以下都是虚构示例,用于说明改哪些地方。实际使用时替换群名、前缀和说明词;不要把示例排除项直接带入自己的业务。
假设客户在“签收资料群”发送ABC123456+XYZ987654签收资料.pdf,两票客户单号分别为ABC123456和XYZ987654,资料仍放“其他”。
触发条件:
是否群聊消息()
&& $message.conversationName === '签收资料群'
&& 是否文件消息()
&& 是否为指定文件扩展名('pdf')
&& /签收/.test($file.name)
执行脚本:
按文件名单号归档当前文件({
prefixes: ['ABC', 'XYZ'],
fileType: 'OTHER',
remark: '签收资料自动归档'
});
这里同时改了群名、文件名说明词和允许的单号前缀;不需要改写查单或上传流程。
假设完整客户单号是ABC-123456和ABC-123457,文件名为ABC-123456+ABC-123457报关.pdf,需要放“报关”档案。
触发条件沿用上面的PDF写法,将群名改为实际报关资料群、说明词改为“报关”。执行脚本填写:
按文件名单号归档当前文件({
prefixes: ['ABC-'],
keepChars: '-',
fileType: 'DECLARATION',
remark: '报关资料自动归档'
});
keepChars: '-'表示横杠是单号的一部分。此时多个单号之间请用加号或空格分开;如果也用横杠分开,几个单号可能连成一个候选,导致查不到运单。
假设客户单号只有五位,如ABC12、ABC13;文件名还可能带固定的测试号码ABC00,这个号码不能用于归档。文件名示例为ABC12+ABC13+ABC00报关.pdf。
触发条件仍限制实际客户群、PDF和“报关”说明词。执行脚本填写:
按文件名单号归档当前文件({
prefixes: ['ABC'],
minLength: 5,
excludes: ['ABC00'],
fileType: 'OTHER'
});
这样会取ABC12、ABC13,排除ABC00。excludes只适合明确知道的完整排除项;它不会自动判断一个号码是不是日期或批次号。若日期、批次与客户单号格式相同,先调整命名约定,避免把不该查的号码放进文件名。
处理方式和单号格式相同的多个客户群,可以共用一条规则。触发条件中的群名判断可写成:
['客户甲资料群', '客户乙资料群'].indexOf($message.conversationName) >= 0
将这一行替换原来的$message.conversationName === '报关文件处理群',其余群聊、文件和PDF条件保留。执行脚本仍按这些群实际使用的前缀填写。
**每个群必须各自唯一绑定到相应客户。**系统按当前收到文件的群确定客户,不会因为共用规则而跨客户找单。同一群同时绑定两个客户仍然不会处理。不同客户的单号格式或归档位置差别较大时,分别建规则更便于核对。
本文默认的“其他”档案和“报关”档案会追加文件,原有档案保留。连续收到内容相同的PDF时,会显示“已有相同文件”,不重复追加;同名PDF内容改变后会追加。先收到内容A、再收到B、之后重新收到A,也会再次追加,方便保留当时收到的版本。“客户发票”的重复文件判断范围见上面的档案类型表。
“成功”表示这条规则执行完成,是否归档、归档几票要看“处理说明”和“执行过程”。不要只看成功标签。
失败记录可在解决原因后点“重新执行”,按规则当前设置重新处理。没有触发记录、原件未收到或规则明确跳过时,先核对原因,再请客户补发。操作方法见易信达消息自动化使用说明。