diff --git a/README.es.md b/README.es.md index 0a89ee8..6392837 100644 --- a/README.es.md +++ b/README.es.md @@ -156,6 +156,13 @@ $results = $facturapi->ComercioExteriorCatalogs->searchTariffFractions([ ]); ``` +### Catálogos de Nómina + +```php +$deductions = $facturapi->NominaCatalogs->searchDeductions(["q" => "001"]); +$perceptions = $facturapi->NominaCatalogs->searchPerceptions(["q" => "001"]); +``` + ### Organizaciones: Definir Serie Por Defecto ```php diff --git a/README.md b/README.md index c5ffd4f..5191891 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,13 @@ $results = $facturapi->ComercioExteriorCatalogs->searchTariffFractions([ ]); ``` +### Payroll Catalogs + +```php +$deductions = $facturapi->NominaCatalogs->searchDeductions(["q" => "001"]); +$perceptions = $facturapi->NominaCatalogs->searchPerceptions(["q" => "001"]); +``` + ### Organizations: Set Default Series ```php diff --git a/src/Facturapi.php b/src/Facturapi.php index b235f03..26d5fa1 100644 --- a/src/Facturapi.php +++ b/src/Facturapi.php @@ -20,6 +20,7 @@ require_once __DIR__ . '/Resources/Catalogs.php'; require_once __DIR__ . '/Resources/CartaPorteCatalogs.php'; require_once __DIR__ . '/Resources/ComercioExteriorCatalogs.php'; +require_once __DIR__ . '/Resources/NominaCatalogs.php'; require_once __DIR__ . '/Resources/Retentions.php'; require_once __DIR__ . '/Resources/Tools.php'; require_once __DIR__ . '/Resources/Webhooks.php'; @@ -32,6 +33,7 @@ use Facturapi\Resources\Catalogs; use Facturapi\Resources\CartaPorteCatalogs; use Facturapi\Resources\ComercioExteriorCatalogs; +use Facturapi\Resources\NominaCatalogs; use Facturapi\Resources\Retentions; use Facturapi\Resources\Tools; use Facturapi\Resources\Webhooks; @@ -47,6 +49,7 @@ class Facturapi public Catalogs $Catalogs; public CartaPorteCatalogs $CartaPorteCatalogs; public ComercioExteriorCatalogs $ComercioExteriorCatalogs; + public NominaCatalogs $NominaCatalogs; public Retentions $Retentions; public Tools $Tools; public Webhooks $Webhooks; @@ -66,6 +69,7 @@ public function __construct(string $apiKey, ?array $config = null) $this->Catalogs = new Catalogs($apiKey, $config); $this->CartaPorteCatalogs = new CartaPorteCatalogs($apiKey, $config); $this->ComercioExteriorCatalogs = new ComercioExteriorCatalogs($apiKey, $config); + $this->NominaCatalogs = new NominaCatalogs($apiKey, $config); $this->Retentions = new Retentions($apiKey, $config); $this->Tools = new Tools($apiKey, $config); $this->Webhooks = new Webhooks($apiKey, $config); diff --git a/src/Resources/NominaCatalogs.php b/src/Resources/NominaCatalogs.php new file mode 100644 index 0000000..a94ed07 --- /dev/null +++ b/src/Resources/NominaCatalogs.php @@ -0,0 +1,28 @@ +search('deductions', $params); + } + + public function searchPerceptions($params = null): mixed + { + return $this->search('perceptions', $params); + } + + private function search(string $path, $params): mixed + { + try { + return json_decode($this->executeGetRequest($this->getRequestUrl($path, $params))); + } catch (FacturapiException $e) { + throw $e; + } + } +}