{ "info": { "author": "Luis Iturrios", "author_email": "iturrios3063@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7" ], "description": "# python-cfdiclient\nCliente Python Web Service del SAT para la descarga masiva de xml\n\n## Consulta y recuperaci\u00f3n de comprobantes (Nuevo)\nhttps://www.sat.gob.mx/consultas/42968/consulta-y-recuperacion-de-comprobantes-(nuevo)\n\n## Instalacion\nEn Windows requiere Microsoft Visual C++ Compiler for Python 2.7\n```bash\npip install cfdiclient\n```\n\n## Ejemplo\n### Autenticacion\n```python\nfrom cfdiclient import Autenticacion\nfrom cfdiclient import Fiel\n\nFIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'\nFIEL_CER = 'XAXX010101000.cer'\nFIEL_PAS = 'contrasena'\ncer_der = open(FIEL_CER, 'rb').read()\nkey_der = open(FIEL_KEY, 'rb').read() \nfiel = Fiel(cer_der, key_der, FIEL_PAS)\n\nauth = Autenticacion(fiel)\n\ntoken = auth.obtener_token()\n\nprint(token)\n```\n### Solicita Descarga\n```python\nimport datetime\nfrom cfdiclient import SolicitaDescarga\nfrom cfdiclient import Fiel\n\nFIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'\nFIEL_CER = 'XAXX010101000.cer'\nFIEL_PAS = 'contrasena'\ncer_der = open(FIEL_CER, 'rb').read()\nkey_der = open(FIEL_KEY, 'rb').read()\n\nfiel = Fiel(cer_der, key_der, FIEL_PAS)\n\ndescarga = SolicitaDescarga(fiel)\n\ntoken = 'eyJh'\nrfc_solicitante = 'XAXX010101000'\nfecha_inicial = datetime.datetime(2018, 1, 1)\nfecha_final = datetime.datetime(2018, 12, 31)\nrfc_emisor = 'XAXX010101000'\nrfc_receptor = 'XAXX010101000'\n# Emitidos\nresult = descarga.solicitar_descarga(token, rfc_solicitante, fecha_inicial, fecha_final, rfc_emisor=rfc_emisor)\nprint(result)\n# Recibidos\nresult = descarga.solicitar_descarga(token, rfc_solicitante, fecha_inicial, fecha_final, rfc_receptor=rfc_receptor)\nprint(result)\n# {'mensaje': 'Solicitud Aceptada', 'cod_estatus': '5000', 'id_solicitud': 'be2a3e76-684f-416a-afdf-0f9378c346be'}\n```\n\n### Verifica Solicitud Descarga\n```python\nfrom cfdiclient import VerificaSolicitudDescarga\nfrom cfdiclient import Fiel\n\nFIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'\nFIEL_CER = 'XAXX010101000.cer'\nFIEL_PAS = 'contrasena'\ncer_der = open(FIEL_CER, 'rb').read()\nkey_der = open(FIEL_KEY, 'rb').read()\n\nfiel = Fiel(cer_der, key_der, FIEL_PAS)\n\nv_descarga = VerificaSolicitudDescarga(fiel)\n\ntoken = 'eyJhbGci'\nrfc_solicitante = 'XAXX010101000'\nid_solicitud = '6331caae-c253-406f-9332-126f89cc474a'\nresult = v_descarga.verificar_descarga(token, rfc_solicitante, id_solicitud)\nprint(result)\n# {'estado_solicitud': '3', 'numero_cfdis': '8', 'cod_estatus': '5000', 'paquetes': ['a4897f62-a279-4f52-bc35-03bde4081627_01'], 'codigo_estado_solicitud': '5000', 'mensaje': 'Solicitud Aceptada'}\n```\n\n### Descargar Paquetes\n```python\nfrom cfdiclient import DescargaMasiva\nfrom cfdiclient import Fiel\n\nFIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'\nFIEL_CER = 'XAXX010101000.cer'\nFIEL_PAS = 'contrasena'\ncer_der = open(FIEL_CER, 'rb').read()\nkey_der = open(FIEL_KEY, 'rb').read()\n\nfiel = Fiel(cer_der, key_der, FIEL_PAS)\n\ndescarga = DescargaMasiva(fiel)\n\ntoken = 'eyJhbG'\nrfc_solicitante = 'XAXX010101000'\nid_paquete = '2d8bbdf1-c36d-4b51-a57c-c1744acdd89c_01'\nresult = descarga.descargar_paquete(token, rfc_solicitante, id_paquete)\nprint(result)\n# {'cod_estatus': '', 'mensaje': '', 'paquete_b64': 'eyJhbG=='}\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/luisiturrios/python-cfdiclient", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cfdiclient", "package_url": "https://pypi.org/project/cfdiclient/", "platform": "", "project_url": "https://pypi.org/project/cfdiclient/", "project_urls": { "Homepage": "https://github.com/luisiturrios/python-cfdiclient" }, "release_url": "https://pypi.org/project/cfdiclient/1.1.0/", "requires_dist": [ "lxml (>=4.2.5)", "requests (>=2.21.0)", "pycryptodome (>=3.7.2)", "pyOpenSSL (>=18.0.0)" ], "requires_python": "", "summary": "Cliente Python Web Service del SAT para la descarga masiva de xml", "version": "1.1.0" }, "last_serial": 5442403, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b720ad941a8a61dcd00e1c3af2e699c8", "sha256": "eb77d12bef88daf794baff76aab33890e1bf02f1ffabc3e4fb2c079cfc855252" }, "downloads": -1, "filename": "cfdiclient-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "b720ad941a8a61dcd00e1c3af2e699c8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22388, "upload_time": "2018-12-24T00:11:12", "url": "https://files.pythonhosted.org/packages/42/15/5a7241467530af3297f6842afa464e91ded489f679fa757b84c318d26cad/cfdiclient-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e35df44a65e82ec548fee4602c7d5dcf", "sha256": "3dcf752522503500ad07a5843f84f488443cdd4468c93e5e64c8a407f5b6fd4e" }, "downloads": -1, "filename": "cfdiclient-0.0.1.tar.gz", "has_sig": false, "md5_digest": "e35df44a65e82ec548fee4602c7d5dcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5365, "upload_time": "2018-12-24T00:11:14", "url": "https://files.pythonhosted.org/packages/be/41/25c6aaee01ffc55326a530881c53b4916705f2d3ebe36c938907cdc23287/cfdiclient-0.0.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "5b612a47694d4e4ef2ab25cc8122aa5a", "sha256": "69f7f7dab33a082c8c255b7080de6c4bb15b2cc35dd4b26c44ec07b7ba8b1e03" }, "downloads": -1, "filename": "cfdiclient-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5b612a47694d4e4ef2ab25cc8122aa5a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22564, "upload_time": "2018-12-24T00:22:17", "url": "https://files.pythonhosted.org/packages/61/8c/a6527c4ca409ecf030c603cd86d327d8f5627d209d2b4020c6296bd9751f/cfdiclient-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4262572e83d656a0861cfb2f6d3389e4", "sha256": "aa83976cd06d5fa205320df86d98c0f0274aa420582d269178c291824a2c47a2" }, "downloads": -1, "filename": "cfdiclient-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4262572e83d656a0861cfb2f6d3389e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5654, "upload_time": "2018-12-24T00:22:22", "url": "https://files.pythonhosted.org/packages/eb/dd/68bf946bbd1a3b0119810b7ea8e32dc75680dd57c6354dee74fd6d37dc9d/cfdiclient-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d99665ad12f6a1d1bda044500f2106ef", "sha256": "3e0adfa9f0337cc76e192419c44c4a931e3772444f7cbc9cb7cf8a02661f61dc" }, "downloads": -1, "filename": "cfdiclient-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d99665ad12f6a1d1bda044500f2106ef", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22521, "upload_time": "2018-12-24T00:30:17", "url": "https://files.pythonhosted.org/packages/c7/d2/3cbbb1fe83b29f181911bc362c2b86c8959d3fd4083bec4c615a82380427/cfdiclient-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0f015469f3d608ffa0480733041856d", "sha256": "8f0f04fec884179360e44150d7b24967913fcd14a3fa64845ab63c5b2bf822a5" }, "downloads": -1, "filename": "cfdiclient-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d0f015469f3d608ffa0480733041856d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5609, "upload_time": "2018-12-24T00:30:19", "url": "https://files.pythonhosted.org/packages/82/1d/2dabedb19a1af1cae6f43354ceae7551c329256501d94295a6728148648c/cfdiclient-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "099c98cd353293d1bded7dfe115f6524", "sha256": "5e6de81d593e6df4176e75625df12ed2947f22df9d82d63e182f3c9bc0c317ff" }, "downloads": -1, "filename": "cfdiclient-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "099c98cd353293d1bded7dfe115f6524", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22562, "upload_time": "2018-12-30T01:57:38", "url": "https://files.pythonhosted.org/packages/d7/37/5065f884e546d17f7a2b59704991c6089da8350523077909dd9ba89df2df/cfdiclient-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "614cb1abf5a7abcb95230259fc4be496", "sha256": "1ff4f3a8a05f6597406c313fe5456af6702b08a0e68a2403a1588472bb22314c" }, "downloads": -1, "filename": "cfdiclient-1.0.2.tar.gz", "has_sig": false, "md5_digest": "614cb1abf5a7abcb95230259fc4be496", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5622, "upload_time": "2018-12-30T01:57:40", "url": "https://files.pythonhosted.org/packages/9f/30/2e6237322a46b8b22c04912fad636439e2cd5f999b2c1e093a5b5bea5660/cfdiclient-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "14cadc624216576ac663d0442609f2fe", "sha256": "614eed73bd04bd6d95ae2df841d46996b0bf53a1ae7a9fa6af48b8bc42f1be2d" }, "downloads": -1, "filename": "cfdiclient-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "14cadc624216576ac663d0442609f2fe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22558, "upload_time": "2019-01-03T23:13:55", "url": "https://files.pythonhosted.org/packages/8f/e0/f791b78de54b40010fce0ca66e7f216b3821735373b92e9ded701fce9d94/cfdiclient-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e7b3e64084099392fdb7d867fbb5bc4", "sha256": "8c67fae5d6f46ee9dbe967132d291a2ed0d6828786f57fa1f4aad3b6da8c52b9" }, "downloads": -1, "filename": "cfdiclient-1.0.3.tar.gz", "has_sig": false, "md5_digest": "7e7b3e64084099392fdb7d867fbb5bc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5619, "upload_time": "2019-01-03T23:13:57", "url": "https://files.pythonhosted.org/packages/09/8d/7dc75fe5c4852bcec4430e0ac2b58f5cb2f8b55e9546256f9afe51d883d6/cfdiclient-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "fb5b7e87446ba40a2ca4b9cd4ff1a0d4", "sha256": "bb8b5a0aaff66c2a03b9763568b00ee119a09eaef459a6ff61f0cb934b5e6646" }, "downloads": -1, "filename": "cfdiclient-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "fb5b7e87446ba40a2ca4b9cd4ff1a0d4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22553, "upload_time": "2019-01-23T23:04:58", "url": "https://files.pythonhosted.org/packages/3c/fb/990a2e2d32b05d50d0942fd9461fcfe5600cefd7591b0b526fdfffae82a7/cfdiclient-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0f0cef0006c660f9deca17566cddbd7", "sha256": "12fe01a5330832e8c8725f7fa5273f7da76cb95a52099242948812696154acca" }, "downloads": -1, "filename": "cfdiclient-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b0f0cef0006c660f9deca17566cddbd7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22570, "upload_time": "2019-04-13T19:50:33", "url": "https://files.pythonhosted.org/packages/5e/26/76b567d1089666b3c7f24c6e2c9651c1131efcaa4ea69933e3242ba27d7c/cfdiclient-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d077bbd7c39dd127556890b1aa385b39", "sha256": "6c9870c33c7c11856b6a3b1477ca45ba3f8959a497b6a5c9179486b2bc982729" }, "downloads": -1, "filename": "cfdiclient-1.0.4.tar.gz", "has_sig": false, "md5_digest": "d077bbd7c39dd127556890b1aa385b39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5622, "upload_time": "2019-01-23T23:05:00", "url": "https://files.pythonhosted.org/packages/69/79/81d6017a02fc6134576ebff3739a555aaa7e2d35d1b3be47a4ebb4f40d7d/cfdiclient-1.0.4.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "a2dc49c273e77d507452021620032f7d", "sha256": "bdf6e3e18081bd617a3d4c870c78764c3c7440bab104c4bdbec0d2a247b558b4" }, "downloads": -1, "filename": "cfdiclient-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a2dc49c273e77d507452021620032f7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22571, "upload_time": "2019-04-13T19:55:50", "url": "https://files.pythonhosted.org/packages/ce/6a/4c288975251580e604b4b6433c3a1ad9728fb594bb6c50788acc0218be2a/cfdiclient-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0a26e652936276a71e19dc19eb36acd", "sha256": "4ff4e93fdf53ec0e89ab07d6a4773abd6bb08f7314bf71082ac0d4178f491bc8" }, "downloads": -1, "filename": "cfdiclient-1.1.0.tar.gz", "has_sig": false, "md5_digest": "d0a26e652936276a71e19dc19eb36acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6410, "upload_time": "2019-04-13T19:55:52", "url": "https://files.pythonhosted.org/packages/59/e1/04c15a3228e9a4e8a954650b427f93b55b7ea2313c7edd40d83e835d33d4/cfdiclient-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a2dc49c273e77d507452021620032f7d", "sha256": "bdf6e3e18081bd617a3d4c870c78764c3c7440bab104c4bdbec0d2a247b558b4" }, "downloads": -1, "filename": "cfdiclient-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a2dc49c273e77d507452021620032f7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22571, "upload_time": "2019-04-13T19:55:50", "url": "https://files.pythonhosted.org/packages/ce/6a/4c288975251580e604b4b6433c3a1ad9728fb594bb6c50788acc0218be2a/cfdiclient-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0a26e652936276a71e19dc19eb36acd", "sha256": "4ff4e93fdf53ec0e89ab07d6a4773abd6bb08f7314bf71082ac0d4178f491bc8" }, "downloads": -1, "filename": "cfdiclient-1.1.0.tar.gz", "has_sig": false, "md5_digest": "d0a26e652936276a71e19dc19eb36acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6410, "upload_time": "2019-04-13T19:55:52", "url": "https://files.pythonhosted.org/packages/59/e1/04c15a3228e9a4e8a954650b427f93b55b7ea2313c7edd40d83e835d33d4/cfdiclient-1.1.0.tar.gz" } ] }