Anexo. Flujos de operaciones con CPE: ejemplos de implementación. | WAN

Modificado el Jue, 4 Sep a 4:01 P. M.

1. Flujo de autenticación y preparación

Cualquier operación con una Carta de Porte Electrónica (CPE) requiere una conexión autenticada con el servicio web de la ARCA. Esto se logra:

  • creando un objeto FEAFIP.WSCPE 
  • configurando el CUIT y la ruta del certificado;
  • e invocando el método Login.
  • La disponibilidad del servicio se puede verificar con el métodoMetodoFEDummy().


2. Flujo completo: Alta de carta de porte automotor

El proceso de alta de una CPE automotor, sigue estos pasos:

  1. Autenticación: Se utiliza un método auxiliar, como CTG_LOGIN(), para configurar y autenticar la conexión.
  2. Configuración de datos: Se configuran la cabecera, origen, intervinientes, datos de carga, destino, destinatario, patente y transporte mediante métodos como AddcabeceraAutomotor, Addorigen, AdddatosCarga, AddDestino, Adddestinatario, AddDominio y AddTransporte.
  3. Autorización: Se llama a fe.AutorizarCPEAutomotor() para solicitar la autorización.
  4. Procesamiento de la respuesta: Se verifica la propiedad hayerrores de la respuesta para determinar si hubo errores. Si la operación es exitosa, se puede guardar el número de CTG en la base de datos.



3. Flujo completo: Editar CPE confirmada

Para editar una CPE confirmada, el proceso es el siguiente:

  1. Autenticación: Se inicia la sesión con CTG_LOGIN().
  2. Configuración de intervinientes: Se utiliza AddConfEditintervinientes() para preparar los datos de la edición.
  3. Solicitud de edición: Se invoca fe.editarCPEConfirmadaAutomotor(xnroCTG) con el número de CTG de la CPE.
  4. Procesamiento de la respuesta: Se procesa la respuesta para verificar si la edición fue exitosa o si se devolvieron errores.



4. Flujo completo: Anular CPE

Para anular una CPE:

  1. Autenticación: Se inicia la sesión con CTG_LOGIN().

  2. Configuración de datos: Se usan Addcartaporte() y AddContingencia() para especificar el tipo, número, sucursal y motivo de la anulación.

  3. Solicitud de anulación: Se llama a fe.anularCPE().

  4. Procesamiento de la respuesta: Se procesa la respuesta para confirmar la anulación o mostrar los errores correspondientes.



5. Flujo completo: Consulta de información auxiliar

El sistema permite consultar información auxiliar, como:

  • Provincias: Se usa fe.ConsultarProvinicias().
  • Localidades: Se usa fe.consultarLocalidadesPorProvincia(codProvincia).
  • Plantas habilitadas: Se usa fe.ConsultarPlantas(cuitConsulta).
  • Tipos de grano: Se usa fe.consultarTiposGrano().



6. Implementación real: AltaCPEEnAfip

El método AltaCPEEnAfip(xnroCTG, xFecha) es una implementación real que demuestra un flujo completo de alta:

  • Se autentica con CTG_LOGIN()
  • consulta el último número de orden disponible en ARCA, 
  • configura la cabecera y otros datos, 
  • y llama a fe.AutorizarCPEAutomotor()

Si la operación es exitosa, actualiza la base de datos local con la información recibida, como el número de CTG de homologación y los códigos de localidad y planta.



7. Relación entre métodos de configuración y operaciones

Ciertos métodos de configuración deben ser llamados antes de una operación principal. Por ejemplo:

  • Para AutorizarCPEAutomotor, se requieren AddcabeceraAutomotor, Addorigen, AdddatosCarga, AddDestino, Adddestinatario, AddDominio y AddTransporte.

  • Para anularCPE, se necesitan Addcartaporte y AddContingencia.



8. Métodos auxiliares y su uso

Los métodos auxiliares simplifican las operaciones:

  • SacoGuiones(xcuit): Elimina los guiones de los CUIT para el webservice.

  • CTG_LOGIN(): Centraliza la lógica de autenticación para el ambiente de homologación.

  • CPE_GuardoDatosDoc() y CPE_RecuperoDatosDoc(): Se usan para persistir y recuperar la información de conexión y reutilizar sesiones.





¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo