agrodata/docusign

SERASA 集成文件源读取包

1.3 2024-09-20 14:11 UTC

This package is not auto-updated.

Last update: 2024-09-20 17:22:21 UTC


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