Test Failed
Push — master ( e81f34...58150d )
by
unknown
19:06
created

Misii::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 4
c 1
b 0
f 0
nc 1
nop 3
dl 0
loc 9
ccs 0
cts 5
cp 0
crap 2
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * API Gateway: Cliente de API en PHP.
7
 * Copyright (C) API Gateway <https://www.apigateway.cl>
8
 *
9
 * Este programa es software libre: usted puede redistribuirlo y/o modificarlo
10
 * bajo los términos de la GNU Lesser General Public License (LGPL) publicada
11
 * por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia,
12
 * o (a su elección) cualquier versión posterior de la misma.
13
 *
14
 * Este programa se distribuye con la esperanza de que sea útil, pero SIN
15
 * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
16
 * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la GNU Lesser General
17
 * Public License (LGPL) para obtener una información más detallada.
18
 *
19
 * Debería haber recibido una copia de la GNU Lesser General Public License
20
 * (LGPL) junto a este programa. En caso contrario, consulte
21
 * <http://www.gnu.org/licenses/lgpl.html>.
22
 */
23
24
namespace apigatewaycl\api_client\sii;
25
26
use apigatewaycl\api_client\ApiBase;
27
28
/**
29
 * Módulo para interactuar con la sección MiSii de un contribuyente en el sitio web del SII.
30
 *
31
 * Para más información sobre la API, consulte la `documentación completa de
32
 * MiSii <https://developers.apigateway.cl/#b585f374-f106-46a9-9f47-666d478b8ac8>`_.
33
 */
34
class Misii extends ApiBase
35
{
36
    /**
37
     * Cliente específico para interactuar con los endpoints de un Contribuyente de MiSii de la API de API Gateway.
38
     *
39
     * Hereda de ApiBase y utiliza su funcionalidad para realizar solicitudes a la API.
40
     *
41
     * @param array $credenciales Credenciales de autenticación.
42
     * @param string|null $token Token de autenticación para la API.
43
     * @param string|null $url URL base para la API.
44
     */
45
    public function __construct(
46
        array $credenciales,
47
        string $token = null,
48
        string $url = null)
49
    {
50
        parent::__construct(
51
            credenciales: $credenciales,
52
            token: $token,
53
            url: $url
54
        );
55
    }
56
57
    /**
58
     * Obtiene los datos de MiSii del contribuyente autenticado en el SII.
59
     *
60
     * @param mixed $auth_cache Parámetro de caché de autenticación. Si es 0,
61
     * se refrescará la caché. Si se obtiene "Too many requests", no usar este parámetro.
62
     * @return \Psr\Http\Message\ResponseInterface Respuesta JSON con los
63
     * datos del contribuyente.
64
     */
65
    public function obtenerDatosContribuyenteMisii(mixed $auth_cache = null)
66
    {
67
        $url = '/sii/misii/contribuyente/datos';
68
        if ($auth_cache != null) {
69
            $url = $url.'?auth_cache=0';
70
        }
71
72
        $body = [
73
            'auth' => $this->getAuthPass(),
74
        ];
75
        $response = $this->post($url, $body);
76
        return $response;
77
    }
78
}
79