1. Go to this page and download the library: Download invoka/sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
invoka / sdk example snippets
$invoka = new Invoka\Sdk\Invoka('API_…'); // ambiente 1 (pruebas) por defecto
$r = $invoka->facturas->emitir([...]);
$final = $invoka->comprobantes->esperar($r->claveAcceso());
if ($final->autorizado()) {
$invoka->comprobantes->pdf($r->claveAcceso())->guardar('/var/facturas');
}
use Invoka\Sdk\Invoka;
$invoka = new Invoka(getenv('INVOKA_API_KEY'), [
// Datos fijos de su empresa: se completan en cada comprobante (lo que mande en el comprobante manda).
'emisor' => [
'ruc' => '0991234567001',
'razon_social' => 'MI EMPRESA S.A.', // obligatoria en la factura
'nombre_comercial' => 'MI EMPRESA',
'direccion_matriz' => 'Av. Principal 123, Guayaquil',
'direccion_establecimiento' => 'Av. Principal 123, Guayaquil',
'obligado_contabilidad' => 'NO',
'codigo_establecimiento' => '001',
'codigo_puntoemision' => '001',
],
]);
$saldo = $invoka->creditos->saldo(); // también comprueba que la API key vale
echo $saldo['creditos_disponibles'];
$c = $invoka->comprobantes->consultar($clave);
$c->autorizado(); // true si el SRI lo autorizó
$c->requiereCorreccion(); // true si terminó con error: corrija y emita de nuevo
$c['estado_texto']; // "Autorizado", "Devuelto por el SRI…", "Firma electronica invalida o caducada"…
$c['errores']; // detalle del SRI cuando no se autorizó
$c['xml'], $c['pdf']; // URLs temporales (24 h) cuando está autorizado
$final = $invoka->comprobantes->esperar($clave, tiempoMaximo: 120, intervalo: 5);
$pdf = $invoka->comprobantes->pdf($clave); // Invoka\Sdk\Archivo
$pdf->guardar('/var/facturas'); // usa $pdf->nombre si es un directorio
return response($pdf->contenido, 200, ['Content-Type' => $pdf->tipo]);
$xml = $invoka->comprobantes->xml($clave); // XML autorizado
$invoka->comprobantes->reprocesar($clave); // tras corregir algo en el SRI (establecimiento, firma…)