PHPackages                             paperclip/fabo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. paperclip/fabo

ActiveLibrary[API Development](/categories/api)

paperclip/fabo
==============

Integración a la API de Fabo - PHP

1.0.1(3mo ago)036GPL-3.0-or-laterPHPPHP &gt;=8.0

Since Feb 10Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/paperclip-eirl/fabo-php)[ Packagist](https://packagist.org/packages/paperclip/fabo)[ Docs](https://fabo.dev)[ RSS](/packages/paperclip-fabo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)DependenciesVersions (5)Used By (0)

Fabo - PHP
==========

[](#fabo---php)

Librería de acceso a la API de [fabo.dev](https://fabo.dev/) para PHP 8.0 o mayor.

Instalación
-----------

[](#instalación)

La instalación se realiza vía [Composer](https://packagist.org/packages/paperclip/fabo):

```
composer require paperclip/fabo
```

Uso
---

[](#uso)

El constructor de la clase `Paperclip\Fabo\Fabo` requiere dos parámetros:

- `$token`, el token recibido cuando creas el acceso a la API de Fabo.
- `$url`, la URL para acceder a la API de Fabo, también recibida cuando creas el acceso.

Al instanciar un objecto `Paperclip\Fabo\Fabo`, puedes ejecutar un [comando de la API](https://docs.paperclip.com.pe/api-facturaci%C3%B3n/#comandos) como método del objeto:

- [`Fabo::emitir(...$parámetros):array`](https://docs.paperclip.com.pe/api-facturaci%C3%B3n/documentaci%C3%B3n/comando-emitir/): Genera un nuevo comprobante, ya sea factura, boleta, o sus notas correspondientes.
- [`Fabo::baja(...$parámetros): array`](https://docs.paperclip.com.pe/api-facturaci%C3%B3n/documentaci%C3%B3n/comando-baja/): Solicita la baja (anulación) un comprobante.
- [`Fabo::correo(...$parámetros):array`](https://docs.paperclip.com.pe/api-facturaci%C3%B3n/documentaci%C3%B3n/comando-correo/): Envia el PDF y el XML por correo electrónico a los destinatarios especificados.
- [`Fabo::consultarRuc(...$parámetros):array`](https://docs.paperclip.com.pe/api-facturaci%C3%B3n/documentaci%C3%B3n/comando-consultarruc/): Obtiene información sobre un RUC, o un DNI con empresa.
- [`Fabo::hola(...$parámetros):array`](https://docs.paperclip.com.pe/api-facturaci%C3%B3n/documentaci%C3%B3n/comando-hola/): Comando para realizar pruebas de comunicación.

Cada método debes llamarlos con los parámetros requeridos por cada comando, usando parámetros con nombre.

Excepciones
-----------

[](#excepciones)

Cuando la API retorna un error, se genera varias excepciones según el tipo de error. Todas las excepciones extienden `Paperclip\Fabo\ExcepciónFabo`:

- **`Paperclip\Fabo\ExcepciónAutorización`**: Excepción lanzada cuando hubo un error en la fase de autorización, como un UUID o token inválido.
- **`Paperclip\Fabo\ExcepciónNegociación`**: Excepción lanzada cuando hubo un error en la fase de negociaciación con la API, como error en la cabecera HTML del formato a usar, etc.
- **`Paperclip\Fabo\ExcepciónParámetros`**: Excepción lanzada cuando hubo un error en los parámetros enviados a la API.
- **`Paperclip\Fabo\ExcepciónFatal`**: Excepción lanzada cuando hubo un error no previsto en la API o en esta librería.

Ejemplo
-------

[](#ejemplo)

Este código emite una factura electrónica:

```
