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

ActividadesEconomicas   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 47
ccs 0
cts 15
cp 0
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A listado_primera_categoria() 0 5 1
A listado_segunda_categoria() 0 5 1
A listarActividades() 0 12 2
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 obtener las actividades económicas del SII.
30
 *
31
 * Para más información sobre la API, consulte la `documentación completa de
32
 * Actividades Económicas <https://developers.apigateway.cl/#e64eb128-173a-48c7-ab0b-b6152e59c327>`_.
33
 *
34
 * Cliente específico para interactuar con los endpoints de actividades
35
 * económicas de la API de API Gateway.
36
 *
37
 * Provee métodos para obtener listados de actividades económicas, tanto de
38
 * primera como de segunda categoría.
39
 */
40
class ActividadesEconomicas extends ApiBase
41
{
42
    /**
43
     * Obtiene un listado de actividades económicas. Puede filtrar por categoría.
44
     *
45
     * @param int $categoria Categoría de las actividades económicas (opcional).
46
     * @return \Psr\Http\Message\ResponseInterface Respuesta JSON con el
47
     * listado de actividades económicas.
48
     */
49
    public function listarActividades(int $categoria = null)
50
    {
51
        $url = '/sii/contribuyentes/actividades_economicas';
52
        if ($categoria != null) {
0 ignored issues
show
Bug Best Practice introduced by
It seems like you are loosely comparing $categoria of type integer|null against null; this is ambiguous if the integer can be zero. Consider using a strict comparison !== instead.
Loading history...
53
            $url = $url.sprintf(
54
                '/categoria=%d',
55
                $categoria
56
            );
57
        }
58
        $response = $this->get($url);
59
60
        return $response;
61
    }
62
63
    /**
64
     * Obtiene un listado de actividades económicas de primera categoría.
65
     *
66
     * @return \Psr\Http\Message\ResponseInterface Respuesta JSON con el
67
     * listado de actividades económicas de primera categoría.
68
     */
69
    public function listado_primera_categoria()
70
    {
71
        $response = $this->listarActividades(1);
72
73
        return $response;
74
    }
75
76
    /**
77
     * Obtiene un listado de actividades económicas de segunda categoría.
78
     *
79
     * @return \Psr\Http\Message\ResponseInterface Respuesta JSON con el
80
     * listado de actividades económicas de segunda categoría.
81
     */
82
    public function listado_segunda_categoria()
83
    {
84
        $response = $this->listarActividades(2);
85
86
        return $response;
87
    }
88
}
89