2020年下半年,人社部发了推荐首批优质公共就业和人才服务机构入驻“就业在线”平台的通知,通辽市和包头、呼和浩特被内蒙古自治区选为试点盟市需要以api接口模式接入“就业在线“平台。本次对接官方提供的文档全是JAVA语言的,而通辽市人才网是PHP网站,可借鉴的内容有限,而我作为技术负责人,也是摸着石头过河。最终,依靠搜索的一些资料,以及自己不断的测试,终于完成了对接任务,这里把其中涉及的技术难点和解决方案分享给大家,让更多PHP的人才网站可以借鉴和对接国家就业在线平台。
前言
随着类似国家就业在线平台这样的资源汇聚平台的上线,各地的人才网站可以减少让当地用工单位和求职人员重复注册、重复发布等工作,进一步提高招聘和求职效率。但如何以API的形式实现人才网站和国家就业在线平台对接,实现每天自动同步数据至国家就业在线平台,不同语言的网站,细节上面都有所不同。本文以通辽市人才网为例,介绍了PHP语言的网站如何与国家就业在线实现API对接。
提示:以下是本篇文章正文内容,下面案例可供参考
一、加密处理
渠道方与“就业在线“平台之间的请求报文业务数据采用“就业在线“平台对称加密算法对报文进行加密处理,渠道方或“就业在线“平台可使用对称加密算法对加密报文进行解密获取业务数据。
对称加密算法名称:AES。(加密模式: ECB,密钥长度:128bit,填充模式: pkcs5,不需要iv偏移量,密码和输出结果使用hex编码,内容编码方式使用utf-8)。
1.PHP AES加密
代码如下:
/**
* AES/ECB/PKCS5Padding 加密
*
*
* @param $data
* @return string
*/
public function encrypt($data)
{
/*
* 秘钥key的长度为128位
* 系统提供的是长度为32的字符串(16进制),转换为二进制串再传入加密函数
*/
$enData = openssl_encrypt($data, $this->_cipher, hex2bin($this->_key), 1);
return bin2hex($enData);
}
2.调用示例
代码如下(示例):
$encryptBody = $aesHelper->encrypt($body);
二、消息发送
PHP版本的阿里云CSB-SDK,可以参考如下GITHUB网址里面的示例,此处不再赘述:
阿里云CSB-SDK PHP示例
三、常见问题
1.中文乱码的处理
大家在编码调试过程中如果出现中文乱码的情况,可以百度一下PHP里面的JSON_UNESCAPED_UNICODE,查一下它的用法,相信会对您有帮助的_
2.招聘会同步失败
我在调试招聘会同步的时候,老是报“异常:信息内容过滤出错”,问技术支持说是阿里校验的,具体是哪部分出错也辨别不出来,后来我自己摸索了半天,发现竟是因为招聘会介绍是选择从WORD复制引起的,像这种的只能靠我们自己在录入招聘会介绍时规避了……
3.如何实现数据自动同步
通辽市人才网的做法是这样的:在堡塔LINUX服务器上添加访问URL的计划任务,比如每天晚上12点网站不忙的时候开启同步,添加数据同步的URL地址即可。
总结
友情提醒,以上都是技术层面的讨论,大家如果要在国家就业在线上面开设旗舰店,还需要填写申请表,有地市级人社局的盖章才可以最终上线。最后,我发一下我们通辽市人才网在国家就业在线旗舰店的网址和截图,希望大家多多捧场,为我们大通辽的就业服务工作贡献一份力量!