DteContribuyentes::verificarAutorizacion()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 16
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 9
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 16
ccs 0
cts 12
cp 0
crap 6
rs 9.9666
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
use Psr\Http\Message\ResponseInterface;
28
29
/**
30
 * Módulo para interactuar con las opciones de Documentos Tributarios
31
 * Electrónicos (DTE) del SII.
32
 *
33
 * Para más información sobre la API, consulte la `documentación completa
34
 * de los DTE <https://developers.apigateway.cl/#8c113b9a-ea05-4981-9273-73e3f20ef991>`_.
35
 *
36
 * Cliente específico para interactuar con los endpoints de contribuyentes
37
 * de la API de API Gateway.
38
 *
39
 * Proporciona métodos para consultar la autorización de emisión de DTE
40
 * de un contribuyente.
41
 */
42
class DteContribuyentes extends ApiBase
43
{
44
    /**
45
     * Verifica si un contribuyente está autorizado para emitir DTE.
46
     *
47
     * @param string $rut RUT del contribuyente a verificar.
48
     * @param bool|null $certificacion Indica si se consulta en ambiente
49
     * de certificación (opcional).
50
     * @return \Psr\Http\Message\ResponseInterface Respuesta JSON con el
51
     * estado de autorización del contribuyente.
52
     */
53
    public function verificarAutorizacion(
54
        string $rut,
55
        bool $certificacion = null
56
    ): ResponseInterface {
57
        $certificacion_flag = $certificacion ? 1 : 0;
58
        $url = sprintf(
59
            '/sii/dte/contribuyentes/autorizado/%s?certificacion=%d',
60
            $rut,
61
            $certificacion_flag
62
        );
63
        $body = [
64
            'auth' => $this->getAuthPass(),
65
        ];
66
        $response = $this->post(resource: $url, data: $body);
67
68
        return $response;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $response could return the type null which is incompatible with the type-hinted return Psr\Http\Message\ResponseInterface. Consider adding an additional type-check to rule them out.
Loading history...
69
    }
70
}
71