agrodata / worker-management
2.1
2024-09-16 13:36 UTC
Requires
- php: ^8.1
- illuminate/support: ^9.19.0||^10.0||^11.0
- illuminate/validation: ^9.19.0||^10.0||^11.0
- kyslik/column-sortable: ^6.5
- michaelachrisco/readonly: ^0.60.0
- tucker-eric/eloquentfilter: ^3.1
README
Serasa Reader
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)))