Fabo - PHP
Librería de acceso a la API de fabo.dev para PHP 8.0 o mayor.
Instalación
La instalación se realiza vía Composer:
1 |
|
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 como método del objeto:
Fabo::emitir(...$parámetros):array
: Genera un nuevo comprobante, ya sea factura, boleta, o sus notas correspondientes.Fabo::baja(...$parámetros): array
: Solicita la baja (anulación) un comprobante.Fabo::correo(...$parámetros):array
: Envia el PDF y el XML por correo electrónico a los destinatarios especificados.Fabo::consultarRuc(...$parámetros):array
: Obtiene información sobre un RUC, o un DNI con empresa.Fabo::hola(...$parámetros):array
: 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
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
Este código emite una factura electrónica:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
Al ejecutar este código con un $token
y $url
válido, mostrará algo similiar a:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|