apihub-cdc/trayectorias-laborales-client-php

此软件包已弃用且不再维护。未建议替代软件包。
此软件包最新版本(v1.0.0)的许可证信息不可用。

v1.0.0 2020-09-02 16:43 UTC

This package is auto-updated.

Last update: 2021-08-31 00:56:44 UTC


README

查询职业轨迹(就业、证书和列表)的API。

要求

PHP 7.1或更高版本

附加依赖

  • 必须具备以下PHP依赖项
    • ext-curl
    • ext-mbstring
  • 如果没有,请在Linux上使用以下命令
#ejemplo con php en versión 7.3 para otra versión colocar php{version}-curl
apt-get install php7.3-curl
apt-get install php7.3-mbstring

安装

执行:composer install

入门指南

步骤1. 生成密钥和证书

  • 需要有一个PKCS12格式的容器。
  • 如果没有,请执行包含在lib/Interceptor/key_pair_gen.sh中的指令或以下命令。 可选:为了加密容器,将密码放在一个环境变量中。
export KEY_PASSWORD=your_password
  • 定义文件名和别名。
export PRIVATE_KEY_FILE=pri_key.pem
export CERTIFICATE_FILE=certificate.pem
export SUBJECT=/C=MX/ST=MX/L=MX/O=CDC/CN=CDC
export PKCS12_FILE=keypair.p12
export ALIAS=circulo_de_credito
  • 生成密钥和证书。
#Genera la llave privada.
openssl ecparam -name secp384r1 -genkey -out ${PRIVATE_KEY_FILE}
#Genera el certificado público.
openssl req -new -x509 -days 365 \
    -key ${PRIVATE_KEY_FILE} \
    -out ${CERTIFICATE_FILE} \
    -subj "${SUBJECT}"
  • 生成PKCS12格式的容器。
# Genera el archivo pkcs12 a partir de la llave privada y el certificado.
# Deberá empaquetar la llave privada y el certificado.
openssl pkcs12 -name ${ALIAS} \
    -export -out ${PKCS12_FILE} \
    -inkey ${PRIVATE_KEY_FILE} \
    -in ${CERTIFICATE_FILE} -password pass:${KEY_PASSWORD}

步骤2. 在开发者门户中上传证书

  1. 登录。
  2. 点击“我的应用”部分。
  3. 选择应用程序。
  4. 转到“为@tuApp的证书”标签页。

    applications.png

  5. 打开窗口后,选择之前创建的证书,然后点击“上传”按钮

    upload_cert.png

步骤3. 在开发者门户中下载信用圈证书

  1. 登录。
  2. 点击“我的应用”部分。
  3. 选择应用程序。
  4. 转到“为@tuApp的证书”标签页。

    applications.png

  5. 打开窗口后,点击“下载”按钮

    download_cert.png

非常重要,请将此容器存储在以下路径:/path/to/repository/lib/Interceptor/keypair.p12

同样,信用圈提供的证书存储在以下路径:/path/to/repository/lib/Interceptor/cdc_cert.pem

  • 如果没有按照这种方式存储,则必须指定容器和证书的路径。请参阅以下示例
$password = getenv('KEY_PASSWORD');
$this->signer = new \lae\Client\Interceptor\KeyHandler(
    "/example/route/keypair.p12",
    "/example/route/cdc_cert.pem",
    $password
);

注意:只有在容器被加密的情况下,才需要将密码放在一个环境变量中,并指明该变量的名称,如上图所示。

步骤4. 修改URL和凭证

在文件test/Api/ApiTest.php中,应修改访问基本认证的URL(url_API)、用户(basic_auth_username)和密码(basic_auth_password),以及API密钥(x_api_key),如下所示:

public function setUp()
{
    $this->x_api_key = "your_api_key";
    $this->basic_auth_username = "your-basic-auth-username";
    $this->basic_auth_password = "your-basic-auth-password";
    $this->url_API = "the_url";
    //..code
}  

步骤 5. 捕获请求数据

拥有 setUp() 很重要,该函数负责签名和验证请求数据。

注意:以下请求数据仅作示例。

public function testConsultarTrayectorias()
{
    $request = new Busqueda();
    $persona = new PersonaConsulta();
    $domicilio = new DomicilioConsulta();
    $catalogoSexoPersona = new CatalogoSexoPersona();

    $persona->setPrimerNombre("Juan");
    $persona->setApellidoPaterno("Pruebauno");
    $persona->setApellidoMaterno("Pruebauno");
    $persona->setFechaNacimiento("1986-12-01");
    $persona->setSexo($catalogoSexoPersona::M);
    
    $domicilio->setDireccion("TORNO 301 EL ROSARIO");
    $domicilio->setColonia("PEDREGAL DE SANTO DOMINGO");
    $domicilio->setCp("02100");
    
    $request->setClaveEmpresaConsulta("2007310044");
    $request->setFolioConsultaEmpleador("2620100");
    $request->setProductoRequerido(4);
    $request->setPuestoSolicitado("Vendedor");
    $request->setPersona($persona);
    $request->setDomicilio($domicilio);  

    try {
        $result = $this->apiInstance->consultarTrayectorias($this->x_api_key, $request);
        print_r($result);
        
        if($this->apiInstance->getStatusCode() == 200){
            print_r($result);
        }

        $this->assertTrue($this->apiInstance->getStatusCode() == 200);
    } catch (ApiException $e) {

        if($e->getCode() !== 204){
            echo ' code. Exception when calling ApiTest->consultarTrayectorias: ', $e->getResponseBody(), PHP_EOL;
        }
    }
}

单元测试

要执行单元测试

./vendor/bin/phpunit