agrodata/worker-management

工人类管理。

2.1 2024-09-16 13:36 UTC

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)))