RIDE y almacenamiento
Genera el RIDE en PDF y guarda todos los artefactos del comprobante en disco local o S3.
Generar el RIDE
php
use MTZ\Toolkit\RideGenerator\Data\RideData;
use MTZ\Toolkit\RideGenerator\Enums\RideDocumentType;
use MTZ\Toolkit\RideGenerator\RideGenerator;
$pdf = (new RideGenerator())->generate(
RideData::make(
documentType: RideDocumentType::Invoice,
accessKey: $accessKey,
data: $ridePayload,
authorizationNumber: $accessKey,
authorizationDate: '17/03/2024 14:33:35',
),
);
$pdf->saveTo('/ruta/ride.pdf');Detalles del payload y personalizacion de plantillas en RideGenerator.
Guardar artefactos
php
use MTZ\Toolkit\Documents\DocumentStore;
use MTZ\Toolkit\Storage\LocalDocumentStorage;
$store = new DocumentStore(new LocalDocumentStorage('/var/comprobantes'));
$date = new DateTimeImmutable('2026-05-13');
$owner = '1790012345001';
$store->putGeneratedXml($owner, $date, $accessKey, $xml);
$store->putSignedXml($owner, $date, $accessKey, $signedXml);
$store->putAuthorizedXml($owner, $date, $accessKey, $authorizedXml);
$store->putRidePdf($owner, $date, $accessKey, $pdf->content);En S3 con URL temporal
php
use Aws\S3\S3Client;
use MTZ\Toolkit\Storage\S3DocumentStorage;
$storage = new S3DocumentStorage(new S3Client([/* ... */]), 'mi-bucket');
$store = new DocumentStore($storage);
$path = $store->putRidePdf($owner, $date, $accessKey, $pdf->content);
$url = $storage->temporaryUrl($path, new DateTimeImmutable('+10 minutes'));Ver Storage para la estructura de rutas y todos los artefactos.