@@ -124,3 +124,256 @@ def ventas_detalle(self, emisor, periodo, dte = 0, tipo = None):
124124 }
125125 response = self .client .post (url , data = body )
126126 return response .json ()
127+
128+ def compras_async_solicitar (
129+ self ,
130+ receptor : str ,
131+ periodo : str ,
132+ dte : int = 0 ,
133+ estado : str = 'REGISTRO'
134+ ):
135+ '''
136+ Solicita el envío de los detalles de las compras de un
137+ receptor en un periodo específico.
138+
139+ :param receptor: RUT del receptor de las compras formato 12345678-9.
140+ :type receptor: str
141+
142+ :param periodo: Período de tiempo de las compras formato YYYYMM.
143+ :type periodo: str
144+
145+ :param dte: Tipo de DTE formato 0 para todos los tipos de DTE
146+ o el tipo de DTE.
147+ :type dte: int
148+
149+ :param estado: Estado de las compras
150+ ('REGISTRO', 'PENDIENTE', 'NO_INCLUIR', 'RECLAMADO').
151+ :type estado: str
152+
153+ :return: Respuesta JSON con la solicitud de envío de los detalles de las compras.
154+ :rtype: dict
155+ '''
156+ url = '/sii/rcv/compras/async/solicitar'
157+ url += '/%(receptor)s/%(periodo)s/%(dte)s/%(estado)s' % {
158+ 'receptor' : receptor ,
159+ 'periodo' : periodo ,
160+ 'dte' : dte ,
161+ 'estado' : estado
162+ }
163+ body = {
164+ 'auth' : self ._get_auth_pass ()
165+ }
166+ response = self .client .post (url , data = body )
167+ return response .json ()
168+
169+ def compras_async_estado (
170+ self ,
171+ receptor : str ,
172+ periodo : str ,
173+ id_solicitud : str ,
174+ dte : int = 0 ,
175+ estado : str = 'REGISTRO' ):
176+ '''
177+ Obtiene el estado de la solicitud los detalles de las compras.
178+
179+ :param receptor: RUT del receptor de las compras formato 12345678-9.
180+ :type receptor: str
181+
182+ :param periodo: Período de tiempo de las compras formato YYYYMM.
183+ :type periodo: str
184+
185+ :param id_solicitud: ID de la solicitud de envío de los detalles
186+ de las compras.
187+ :type id_solicitud: str
188+
189+ :param dte: Tipo de DTE formato 0 para todos los tipos de DTE
190+ o el tipo de DTE.
191+ :type dte: int
192+
193+ :param estado: Estado de las compras
194+ ('REGISTRO', 'PENDIENTE', 'NO_INCLUIR', 'RECLAMADO').
195+ :type estado: str
196+
197+ :return: Respuesta JSON con el estado de la solicitud de
198+ envío de los detalles de las compras.
199+ :rtype: dict
200+ '''
201+ url = '/sii/rcv/compras/async/estado/%(receptor)s'
202+ url += '/%(periodo)s/%(id_solicitud)s/%(dte)s/%(estado)s'
203+ url = url % {
204+ 'receptor' : receptor ,
205+ 'periodo' : periodo ,
206+ 'id_solicitud' : id_solicitud ,
207+ 'dte' : dte ,
208+ 'estado' : estado
209+ }
210+ body = {
211+ 'auth' : self ._get_auth_pass ()
212+ }
213+ response = self .client .post (url , data = body )
214+ return response .json ()
215+
216+ def compras_async_detalle (
217+ self ,
218+ receptor : str ,
219+ periodo : str ,
220+ id_solicitud : str ,
221+ dte : int = 0 ,
222+ estado : str = 'REGISTRO' ):
223+ '''
224+ Obtiene los detalles de las compras de un receptor
225+ en un periodo específico.
226+
227+ :param receptor: RUT del receptor de las compras formato 12345678-9.
228+ :type receptor: str
229+
230+ :param periodo: Período de tiempo de las compras formato YYYYMM.
231+ :type periodo: str
232+
233+ :param id_solicitud: ID de la solicitud de envío
234+ de los detalles de las compras.
235+ :type id_solicitud: str
236+
237+ :param dte: Tipo de DTE formato 0 para todos los tipos de DTE
238+ o el tipo de DTE.
239+ :type dte: int
240+
241+ :param estado: Estado de las compras
242+ ('REGISTRO', 'PENDIENTE', 'NO_INCLUIR', 'RECLAMADO').
243+ :type estado: str
244+
245+ :return: Respuesta JSON con los detalles de las compras.
246+ :rtype: dict
247+ '''
248+ url = '/sii/rcv/compras/async/detalle/%(receptor)s'
249+ url += '/%(periodo)s/%(id_solicitud)s/%(dte)s/%(estado)s'
250+ url = url % {
251+ 'receptor' : receptor ,
252+ 'periodo' : periodo ,
253+ 'id_solicitud' : id_solicitud ,
254+ 'dte' : dte ,
255+ 'estado' : estado
256+ }
257+ body = {
258+ 'auth' : self ._get_auth_pass ()
259+ }
260+ response = self .client .post (url , data = body )
261+ return response .json ()
262+
263+ def ventas_async_solicitar (
264+ self ,
265+ emisor : str ,
266+ periodo : str ,
267+ dte : int = 0 ,
268+ ):
269+ '''
270+ Solicita el envío de los detalles de las ventas de un emisor.
271+
272+ :param emisor: RUT del emisor de las ventas formato 12345678-9.
273+ :type emisor: str
274+
275+ :param periodo: Período de tiempo de las ventas formato YYYYMM.
276+ :type periodo: str
277+
278+ :param dte: Tipo de DTE formato 0 para todos los tipos de DTE
279+ o el tipo de DTE.
280+ :type dte: int
281+
282+ :return: Respuesta JSON con la solicitud de envío de
283+ los detalles de las ventas.
284+ :rtype: dict
285+ '''
286+ url = '/sii/rcv/ventas/async/solicitar'
287+ url += '/%(emisor)s/%(periodo)s/%(dte)s' % {
288+ 'emisor' : emisor ,
289+ 'periodo' : periodo ,
290+ 'dte' : dte ,
291+ }
292+ body = {
293+ 'auth' : self ._get_auth_pass ()
294+ }
295+ response = self .client .post (url , data = body )
296+ return response .json ()
297+
298+ def ventas_async_estado (
299+ self ,
300+ emisor : str ,
301+ periodo : str ,
302+ id_solicitud : str ,
303+ dte : int = 0 ,
304+ ):
305+ '''
306+ Obtiene el estado de la solicitud los detalles de las ventas.
307+
308+ :param emisor: RUT del emisor de las ventas formato 12345678-9.
309+ :type emisor: str
310+
311+ :param periodo: Período de tiempo de las ventas formato YYYYMM.
312+ :type periodo: str
313+
314+ :param id_solicitud: ID de la solicitud de envío de los detalles
315+ de las ventas de un emisor.
316+ :type id_solicitud: str
317+
318+ :param dte: Tipo de DTE formato 0 para todos los tipos de DTE
319+ o el tipo de DTE.
320+ :type dte: int
321+
322+ :return: Respuesta JSON con el estado de la solicitud de
323+ envío de los detalles de las ventas.
324+ :rtype: dict
325+ '''
326+ url = '/sii/rcv/ventas/async/estado/%(emisor)s'
327+ url += '/%(periodo)s/%(id_solicitud)s/%(dte)s'
328+ url = url % {
329+ 'emisor' : emisor ,
330+ 'periodo' : periodo ,
331+ 'id_solicitud' : id_solicitud ,
332+ 'dte' : dte ,
333+ }
334+ body = {
335+ 'auth' : self ._get_auth_pass ()
336+ }
337+ response = self .client .post (url , data = body )
338+ return response .json ()
339+
340+ def ventas_async_detalle (
341+ self ,
342+ emisor : str ,
343+ periodo : str ,
344+ id_solicitud : str ,
345+ dte : int = 0 ,
346+ ):
347+ '''
348+ Obtiene los detalles de las ventas de un emisor.
349+
350+ :param emisor: RUT del emisor de las ventas formato 12345678-9.
351+ :type emisor: str
352+
353+ :param periodo: Período de tiempo de las ventas formato YYYYMM.
354+ :type periodo: str
355+
356+ :param id_solicitud: ID de la solicitud de envío
357+ de los detalles de las ventas de un emisor.
358+ :type id_solicitud: str
359+
360+ :param dte: Tipo de DTE formato 0 para todos los tipos de DTE
361+ o el tipo de DTE.
362+ :type dte: int
363+
364+ :return: Respuesta JSON con los detalles de las ventas.
365+ :rtype: dict
366+ '''
367+ url = '/sii/rcv/ventas/async/detalle/%(emisor)s'
368+ url += '/%(periodo)s/%(id_solicitud)s/%(dte)s'
369+ url = url % {
370+ 'emisor' : emisor ,
371+ 'periodo' : periodo ,
372+ 'id_solicitud' : id_solicitud ,
373+ 'dte' : dte ,
374+ }
375+ body = {
376+ 'auth' : self ._get_auth_pass ()
377+ }
378+ response = self .client .post (url , data = body )
379+ return response .json ()
0 commit comments