Skip to content

Commit da2ef32

Browse files
committed
deploy: f510342
1 parent 22289ab commit da2ef32

2 files changed

Lines changed: 73 additions & 88 deletions

File tree

guide/getting-started/example.html

Lines changed: 53 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -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">&lt;?php
141-
142-
# Definición de directorio autoload. Necesario si se usa la versión de GitHub.
143-
require_once __DIR__ . &#039;/vendor/autoload.php&#039;;
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-
&#039;fecha_desde&#039; =&gt; &#039;2024-10-25&#039;,
156-
&#039;fecha_hasta&#039; =&gt; date(&#039;Y-m-d&#039;),
157-
];
158-
159-
# Recurso a consumir.
160-
$resource = sprintf(&#039;/dte/dte_tmps/buscar/%d&#039;, $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-&gt;post($resource, $filtros);
164-
165-
echo &quot;Status: &quot;.$response[&#039;status&#039;][&#039;code&#039;].&quot;\n&quot;;
166-
167-
if ($response[&#039;status&#039;][&#039;code&#039;] != 200) {
168-
echo $response[&#039;body&#039;].&quot;\n&quot;;
169-
} else {
170-
$documentos = $response[&#039;body&#039;];
171-
$dte_id = &#039;T&#039;.$documentos[0][&#039;dte&#039;].&#039;F&#039;.$documentos[0][&#039;folio&#039;];
172-
173-
echo &quot;\nDTEs Temporales: \n&quot;;
174-
echo &quot;\n&quot;,&#039;N DOCUMENTOS: &#039;,count($documentos),&quot;\n&quot;;
175-
echo &quot;\n&quot;,&#039;DTE ID: &#039;,$dte_id,&quot;\n&quot;;
176-
echo &quot;\n&quot;,&#039;DTE FECHA: &#039;,$documentos[0][&#039;fecha&#039;],&quot;\n&quot;;
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">&lt;?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.
198158
require_once __DIR__ . &#039;/vendor/autoload.php&#039;;
199159

200160
# Importación de biblioteca de LibreDTE
201161
use 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-
&#039;fecha_desde&#039; =&gt; &#039;2015-01-01&#039;,
214-
&#039;fecha_hasta&#039; =&gt; date(&#039;Y-m-d&#039;),
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 = &#039;12345678-9&#039;;
167+
168+
# Datos del DTE temporal a crear.
169+
$datos = [
170+
&#039;Encabezado&#039; =&gt; [
171+
&#039;IdDoc&#039; =&gt; [
172+
&#039;TipoDTE&#039; =&gt; 33,
173+
],
174+
&#039;Emisor&#039; =&gt; [
175+
&#039;RUTEmisor&#039; =&gt; $emisor_rut,
176+
],
177+
&#039;Receptor&#039; =&gt; [
178+
&#039;RUTRecep&#039; =&gt; &#039;60803000-K&#039;,
179+
&#039;RznSocRecep&#039; =&gt; &#039;Servicio de Impuestos Internos (SII)&#039;,
180+
&#039;GiroRecep&#039; =&gt; &#039;Administración Pública&#039;,
181+
&#039;Contacto&#039; =&gt; &#039;+56 2 3252 5575&#039;,
182+
&#039;CorreoRecep&#039; =&gt; &#039;facturacionmipyme@sii.cl&#039;,
183+
&#039;DirRecep&#039; =&gt; &#039;Teatinos 120&#039;,
184+
&#039;CmnaRecep&#039; =&gt; &#039;Santiago&#039;,
185+
],
186+
],
187+
&#039;Detalle&#039; =&gt; [
188+
[
189+
//&#039;IndExe&#039; =&gt; 1, // para items exentos
190+
&#039;NmbItem&#039; =&gt; &#039;Asesoría de LibreDTE&#039;,
191+
&#039;QtyItem&#039; =&gt; 1,
192+
&#039;PrcItem&#039; =&gt; 1000,
193+
],
194+
],
195+
&#039;Referencia&#039; =&gt; [
196+
[
197+
&#039;TpoDocRef&#039; =&gt; 801,
198+
&#039;FolioRef&#039; =&gt; &#039;OC123&#039;,
199+
&#039;FchRef&#039; =&gt; &#039;2015-10-01&#039;,
200+
]
201+
],
202+
];
219203

220-
<pre><code class="language-php"># Recurso a consumir.
221-
$resource = sprintf(&#039;/dte/dte_tmps/buscar/%d&#039;, $emisor_rut);
204+
# Recurso a consumir.
205+
$resource = &#039;/dte/documentos/emitir&#039;;
222206

223207
# Se efectua la solicitud HTTP y se guarda la respuesta.
224-
$response = $client-&gt;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-&gt;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 &quot;Status: &quot;.$response[&#039;status&#039;][&#039;code&#039;].&quot;\n&quot;;
210+
# Código del response
211+
echo &quot;Status: &quot;.$response[&#039;status&#039;][&#039;code&#039;].&quot;\n&quot;;
234212

213+
# Despliegue del body.
235214
if ($response[&#039;status&#039;][&#039;code&#039;] != 200) {
236-
echo $response[&#039;body&#039;].&quot;\n&quot;;
215+
echo $response[&#039;body&#039;].&quot;\n&quot;; # Si falla, el body contendrá el mensaje de error.
237216
} else {
238-
$documentos = $response[&#039;body&#039;];
239-
$dte_id = &#039;T&#039;.$documentos[0][&#039;dte&#039;].&#039;F&#039;.$documentos[0][&#039;folio&#039;];
240-
241217
echo &quot;\nDTEs Temporales: \n&quot;;
242-
echo &quot;\n&quot;,&#039;N DOCUMENTOS: &#039;,count($documentos),&quot;\n&quot;;
243-
echo &quot;\n&quot;,&#039;DTE ID: &#039;,$dte_id,&quot;\n&quot;;
244-
echo &quot;\n&quot;,&#039;DTE FECHA: &#039;,$documentos[0][&#039;fecha&#039;],&quot;\n&quot;;
218+
echo &quot;\n&quot;,&#039;FACTURAR DTE TEMP: &#039;,json_encode($response[&#039;body&#039;]),&quot;\n&quot;;
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>

guide/index.html

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,29 @@ <h3 class="phpdocumentor-sidebar__root-package"><a href="indices/files.html">Fil
134134
<section class="section " id="docs-libredte-api-client-php">
135135
<h1>Docs: libredte-api-client-php</h1>
136136

137+
<a href="https://github.com/libredte/libredte-api-client-php/actions/workflows/ci.yml?query=branch%3Amaster"><img
138+
src="https://github.com/libredte/libredte-api-client-php/actions/workflows/ci.yml/badge.svg?branch=master&amp;event=push"
139+
/>
140+
</a>
141+
<a href="https://scrutinizer-ci.com/g/libredte/libredte-api-client-php/"><img
142+
src="https://scrutinizer-ci.com/g/libredte/libredte-api-client-php/badges/quality-score.png?b=master"
143+
/>
144+
</a>
145+
<a href="https://scrutinizer-ci.com/g/libredte/libredte-api-client-php/"><img
146+
src="https://scrutinizer-ci.com/g/libredte/libredte-api-client-php/badges/coverage.png?b=master"
147+
/>
148+
</a>
137149
<a href="https://packagist.org/packages/libredte/libredte-api-client"><img
138150
src="https://poser.pugx.org/libredte/libredte-api-client/license"
139151
/>
152+
</a>
153+
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FLibreDTE%2Flibredte-api-client-php?ref=badge_shield&amp;issueType=license"><img
154+
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FLibreDTE%2Flibredte-api-client-php.svg?type=shield&amp;issueType=license"
155+
/>
156+
</a>
157+
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FLibreDTE%2Flibredte-api-client-php?ref=badge_shield&amp;issueType=security"><img
158+
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FLibreDTE%2Flibredte-api-client-php.svg?type=shield&amp;issueType=security"
159+
/>
140160
</a>
141161
<a href="https://packagist.org/packages/libredte/libredte-api-client"><img
142162
src="https://poser.pugx.org/libredte/libredte-api-client/downloads"

0 commit comments

Comments
 (0)