@@ -134,50 +134,8 @@ <h3 class="phpdocumentor-sidebar__root-package"><a href="indices/files.html">Fil
134134 < section class ="section " id ="ejemplo ">
135135 < h1 > Ejemplo</ h1 >
136136
137-
138- < p > El siguiente es un ejemplo básico de cómo obtener un documento DTE emitido usando el cliente de API de LibreDTE:</ p >
139-
140- < pre > < code class ="language-php "> <?php
141-
142- # Definición de directorio autoload. Necesario si se usa la versión de GitHub.
143- require_once __DIR__ . '/vendor/autoload.php';
144-
145- # Importación de biblioteca de LibreDTE
146- use libredte\api_client\ApiClient;
147-
148- # Instanciación de cliente de API
149- $client = new ApiClient();
150-
151- # RUT del emisor sin Dígito Verificador.
152- $emisor_rut = 12345678;
153- # Filtros a aplicar en la búsqueda de DTEs.
154- $filtros = [
155- 'fecha_desde' => '2024-10-25',
156- 'fecha_hasta' => date('Y-m-d'),
157- ];
158-
159- # Recurso a consumir.
160- $resource = sprintf('/dte/dte_tmps/buscar/%d', $emisor_rut);
161-
162- # Se efectua la solicitud HTTP y se guarda la respuesta. En esta variable están el estado, cuerpo, etc.
163- $response = $client->post($resource, $filtros);
164-
165- echo "Status: ".$response['status']['code']."\n";
166-
167- if ($response['status']['code'] != 200) {
168- echo $response['body']."\n";
169- } else {
170- $documentos = $response['body'];
171- $dte_id = 'T'.$documentos[0]['dte'].'F'.$documentos[0]['folio'];
172-
173- echo "\nDTEs Temporales: \n";
174- echo "\n",'N DOCUMENTOS: ',count($documentos),"\n";
175- echo "\n",'DTE ID: ',$dte_id,"\n";
176- echo "\n",'DTE FECHA: ',$documentos[0]['fecha'],"\n";
177- }</ code > </ pre >
178-
179- < section class ="section " id ="desgloce-de-ejemplo ">
180- < h2 > Desgloce de ejemplo</ h2 >
137+ < section class ="section " id ="ejemplo-de-generar-un-dte-temporal ">
138+ < h2 > Ejemplo de Generar un DTE temporal</ h2 >
181139
182140
183141 < p > Antes de probar, integrar y/o utilizar el cliente de API, necesitas haber definido previamente las variables de entorno.</ p >
@@ -192,67 +150,74 @@ <h2>Desgloce de ejemplo</h2>
192150</ div >
193151
194152
195- < p > Se empieza por importar e instanciar el cliente de API.</ p >
153+ < p > El siguiente es un ejemplo básico de cómo emitir un DTE usando el cliente de API de LibreDTE:</ p >
154+
155+ < pre > < code class ="language-php "> <?php
196156
197- < pre > < code class =" language-php " > # Definición de directorio autoload. Necesario si se usa la versión de GitHub.
157+ # Definición de directorio autoload. Necesario si se usa la versión de GitHub.
198158require_once __DIR__ . '/vendor/autoload.php';
199159
200160# Importación de biblioteca de LibreDTE
201161use libredte\api_client\ApiClient;
202162
203163# Instanciación de cliente de API
204- $client = new ApiClient();</ code > </ pre >
205-
206-
207- < p > Luego, se definen las variables a utilizar.</ p >
208-
209- < pre > < code class ="language-php "> # RUT del emisor sin Dígito Verificador.
210- $emisor_rut = 12345678;
211- # Filtros a aplicar en la búsqueda de DTEs.
212- $filtros = [
213- 'fecha_desde' => '2015-01-01',
214- 'fecha_hasta' => date('Y-m-d'),
215- ];</ code > </ pre >
216-
217-
218- < p > Más adelante, se arma el recurso a utilizar, se consume, y se obtiene su respuesta HTTP.</ p >
164+ $client = new ApiClient();
165+ # RUT del emisor, con DV.
166+ $emisor_rut = '12345678-9';
167+
168+ # Datos del DTE temporal a crear.
169+ $datos = [
170+ 'Encabezado' => [
171+ 'IdDoc' => [
172+ 'TipoDTE' => 33,
173+ ],
174+ 'Emisor' => [
175+ 'RUTEmisor' => $emisor_rut,
176+ ],
177+ 'Receptor' => [
178+ 'RUTRecep' => '60803000-K',
179+ 'RznSocRecep' => 'Servicio de Impuestos Internos (SII)',
180+ 'GiroRecep' => 'Administración Pública',
181+ 'Contacto' => '+56 2 3252 5575',
182+ 'CorreoRecep' => 'facturacionmipyme@sii.cl',
183+ 'DirRecep' => 'Teatinos 120',
184+ 'CmnaRecep' => 'Santiago',
185+ ],
186+ ],
187+ 'Detalle' => [
188+ [
189+ //'IndExe' => 1, // para items exentos
190+ 'NmbItem' => 'Asesoría de LibreDTE',
191+ 'QtyItem' => 1,
192+ 'PrcItem' => 1000,
193+ ],
194+ ],
195+ 'Referencia' => [
196+ [
197+ 'TpoDocRef' => 801,
198+ 'FolioRef' => 'OC123',
199+ 'FchRef' => '2015-10-01',
200+ ]
201+ ],
202+ ];
219203
220- < pre > < code class =" language-php " > # Recurso a consumir.
221- $resource = sprintf( '/dte/dte_tmps/buscar/%d ', $emisor_rut) ;
204+ # Recurso a consumir.
205+ $resource = '/dte/documentos/emitir ';
222206
223207# Se efectua la solicitud HTTP y se guarda la respuesta.
224- $response = $client->post($resource, $filtros);</ code > </ pre >
225-
226-
227- < p > < code > $response</ code >
228- contiene toda la información de la respuesta HTTP, desde el cuerpo hasta el código de estado.</ p >
208+ $response = $client->post($resource, $datos);
229209
230-
231- < p > Por último, se despliega en consola el resultado. Si el código de la respuesta HTTP no es 200, se mostrará el mensaje de error. Si es 200, se desplegarán los documentos consultados.</ p >
232-
233- < pre > < code class ="language-php "> echo "Status: ".$response['status']['code']."\n";
210+ # Código del response
211+ echo "Status: ".$response['status']['code']."\n";
234212
213+ # Despliegue del body.
235214if ($response['status']['code'] != 200) {
236- echo $response['body']."\n";
215+ echo $response['body']."\n"; # Si falla, el body contendrá el mensaje de error.
237216} else {
238- $documentos = $response['body'];
239- $dte_id = 'T'.$documentos[0]['dte'].'F'.$documentos[0]['folio'];
240-
241217 echo "\nDTEs Temporales: \n";
242- echo "\n",'N DOCUMENTOS: ',count($documentos),"\n";
243- echo "\n",'DTE ID: ',$dte_id,"\n";
244- echo "\n",'DTE FECHA: ',$documentos[0]['fecha'],"\n";
218+ echo "\n",'FACTURAR DTE TEMP: ',json_encode($response['body']),"\n";
245219}</ code > </ pre >
246220
247- < div class ="phpdocumentor-admonition important ">
248- < svg class ="phpdocumentor-admonition__icon " fill ="none " stroke ="currentColor " viewBox ="0 0 24 24 " xmlns ="http://www.w3.org/2000/svg "> < path stroke-linecap ="round " stroke-linejoin ="round " stroke-width ="2 " d ="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z "> </ path > </ svg >
249- < article >
250-
251- < p > Este ejemplo solo funciona con DTEs temporales.</ p >
252-
253- </ article >
254- </ div >
255-
256221 < div class ="phpdocumentor-admonition seealso ">
257222 < svg class ="phpdocumentor-admonition__icon " fill ="none " stroke ="currentColor " viewBox ="0 0 24 24 " xmlns ="http://www.w3.org/2000/svg "> < path stroke-linecap ="round " stroke-linejoin ="round " stroke-width ="2 " d ="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14 "> </ path > </ svg >
258223 < article >
0 commit comments