se adiciona SendNominaSync
FossilOrigin-Name: e09a3b15439d3f052dd7dbf9504035507abad0cc885c69432d0b989bb4b8b55f
This commit is contained in:
parent
903b1bad64
commit
cd1b14ff1d
23
facho/cli.py
23
facho/cli.py
@ -312,6 +312,26 @@ def generate_nomina(private_key, passphrase, scriptname, ssl=True, sign=False, u
|
||||
else:
|
||||
DIANWrite(xml, output)
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', required=True)
|
||||
@click.option('--public-key', required=True)
|
||||
@click.option('--habilitacion/--produccion', default=False)
|
||||
@click.option('--password')
|
||||
@click.argument('filename', required=True)
|
||||
@click.argument('zipfile', type=click.Path(exists=True))
|
||||
def soap_send_nomina_sync(private_key, public_key, habilitacion, password, filename, zipfile):
|
||||
from facho.fe.client import dian
|
||||
|
||||
client = dian.DianSignatureClient(private_key, public_key, password=password)
|
||||
req = dian.SendNominaSync
|
||||
if habilitacion:
|
||||
req = dian.Habilitacion.SendNominaSync
|
||||
resp = client.request(req(
|
||||
filename,
|
||||
open(zipfile, 'rb').read()
|
||||
))
|
||||
print(resp)
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', type=click.Path(exists=True))
|
||||
@click.option('--passphrase')
|
||||
@ -347,7 +367,8 @@ main.add_command(soap_get_status)
|
||||
main.add_command(soap_get_status_zip)
|
||||
main.add_command(soap_get_numbering_range)
|
||||
main.add_command(generate_invoice)
|
||||
main.add_command(generate_nomina)
|
||||
main.add_command(validate_invoice)
|
||||
main.add_command(sign_xml)
|
||||
main.add_command(sign_verify_xml)
|
||||
main.add_command(generate_nomina)
|
||||
main.add_command(soap_send_nomina_sync)
|
||||
|
@ -175,7 +175,21 @@ class GetStatusZip(SOAPService):
|
||||
def build_response(self, as_dict):
|
||||
return GetStatusResponse.fromdict(as_dict[0])
|
||||
|
||||
@dataclass
|
||||
class SendNominaSync(SOAPService):
|
||||
fileName: str
|
||||
contentFile: bytes
|
||||
|
||||
def get_wsdl(self):
|
||||
return 'https://vpfe.dian.gov.co/WcfDianCustomerServices.svc?wsdl'
|
||||
|
||||
def get_service(self):
|
||||
return 'SendNominaSync'
|
||||
|
||||
def build_response(self, as_dict):
|
||||
return as_dict
|
||||
|
||||
|
||||
class Habilitacion:
|
||||
WSDL = 'https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc?wsdl'
|
||||
|
||||
@ -203,6 +217,9 @@ class Habilitacion:
|
||||
def get_wsdl(self):
|
||||
return Habilitacion.WSDL
|
||||
|
||||
class SendNominaSync(SendNominaSync):
|
||||
def get_wsdl(self):
|
||||
return Habilitacion.WSDL
|
||||
|
||||
class DianGateway:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user