agrodata / docusign
SERASA 集成文件源读取包
1.3
2024-09-20 14:11 UTC
Requires
- php: ^8.2
- aws/aws-sdk-php: ^3.233
- illuminate/auth: ^9.19.0||^10.0||^11.0
- illuminate/support: ^9.19.0||^10.0||^11.0
README
Serasa 读取器
通过 SFTP 集成读取 Serasa 文件的包类图/流程图
该包包含 2 个服务,继承 SFTP 连接:文件写入器(Writer)和文件读取器(Reader)。这些方法负责根据 Serasa 收到的文档在 Serasa 的 SFTP 上查询和写入文件。
安装
Laravel
使用以下命令安装包:
composer require agrodata/serasa-reader
在文件 config/app.php
中注册 Provider
<?php #config/app.php
...
'providers' => [
Agrodata\SerasaServiceProvider::class
],
...
Lumen
在文件 `
bootstrap/app.php`
中注册 provider
在文件末尾的 "Register Service Providers" 部分,添加以下行:
<?php #bootstrap/app.php
$app->register(\Agrodata\SerasaServiceProvider::class);
在文件 bootstrap/app.php
中取消注释行 `
$app->withFacades();`
配置
将文件从目录 vendor/agrodata/serasa-reader/config/serasa-sftp.php
复制到本地配置文件夹 config/serasa-sftp.php
,或复制以下代码以覆盖库的默认配置。
<?php #config/serasa-sftp.php
return [
/**
* homolog: 200.245.207.128
* prod: 200.245.207.128
*/
'host' => env('SERASA_SFTP_HOST', '200.245.207.128'),
'port' => env('SERASA_SFTP_PORT', 8022),
'username' => env('SERASA_SFTP_USER'),
'password' => env('SERASA_SFTP_PASS'),
'privateKey' => env('SERASA_SFTP_PRIVATEKEY'),
'my_cnpj' => env("SERASA_SFTP_MY_CNPJ"),
'my_social_reason' => env("SERASA_SFTP_MY_SOCIAL_REASON"),
'logon' => env("SERASA_SFTP_LOGON"),
'gerencie-pf' => [
'profile' => env('SERASA_SFTP_PF_PROFILE_NAME', ""),
'remote-path' => env('SERASA_SFTP_PF_REMOTE_PATH', "797-CREDIT_BUREAU_TESTE"),
],
'gerencie-pj' => [
'profile' => env('SERASA_SFTP_PJ_PROFILE_NAME', ""),
'remote-path' => env('SERASA_SFTP_PJ_REMOTE_PATH', "861-GERENCIE_TESTE"),
]
];
测试
连接
<?php
(new \Agrodata\Serasa\Connection\TestSftpConnection)->test(); #retorna boolean
文件包含/排除
要包含/排除 Serasa 中的个人/公司,请使用以下方法之一。这些方法接受 CPF 或 CNPJ,格式化或不格式化。发送后,方法将在 Serasa 集成文件夹中创建包含/排除文件,格式根据文档指定。
<?php
(new \Agrodata\Serasa\SerasaService())->include("09988521630")
#and
(new \Agrodata\Serasa\SerasaService)->exclude("09988521630");
本地测试
法人实体读取返回文件示例
<?php
(new Agrodata\Serasa\Read\GerenciePJ())->toArray(fopen('C:\Users\naira\Desktop\R.085.L5709.IPMONITO.RET.D230207.H194615.txt', 'r'))
创建包含读取 Serasa 文件结果的文件
<?php
file_put_contents("file.json", json_encode((new Agrodata\Serasa\Read\GerenciePJ)->toArray(fopen('C:\Users\naira\Downloads\R.085.L5709.IPMONITO.RET.D230327.H204228.TXT', 'r'), true)))