Árvore de páginas


ÍNDICE

  1. Visión general
  2. Implementación
  3. Configuración
    1. Configuración de certificado
    2. Configuración de entorno
    3. Autenticación servicio WSCPE
    4. Generación de Web Client
  4. Métodos disponibles
  5. Ejemplo de utilización
  6. Información relacionada
  7. Tablas utilizadas


01. VISIÓN GENERAL

Implementación de web service para el consumo de los servicios habilitados por la AFIP, para la transmisión de los documentos de Carta Porte Electrónica. La comunicación del web service es síncrona. 


URL Servicio AFIP:


URL entorno homologación: https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap

Visualización WSDL de homologación: https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap?wsdl


URL entorno producción: https://cpea-ws.afip.gob.ar/wscpe/services/soap

Visualización WSDL de producción: https://cpea-ws.afip.gob.ar/wscpe/services/soap?wsdl


02. IMPLEMENTACIÓN

Para la implementación de la funcionalidad del web service para la transmisión de Carta Porte Electrónica a la AFIP, deberá garantizar la actualización de las rutinas con la fecha igual o superior a la informada a continuación:


RutinaFecha
NFELOC_GEN02.PRW09/02/2023
NFELOC_WSCFGNFELOC.PRW30/01/2023
NFELOC_WSNFESLOC.PRW30/01/2023
SPED_FW01.PRX08/02/2023
TSSINITIALIZES.PRW08/02/2023
TSSTABLESTRUCT.PRW08/02/2023
GENCPEARG.PRW08/02/2023
WSCLIENTCPE.PRW14/02/2023
WSCPESERVICEARG.PRW14/02/2023


Una vez garantizada la actualización de las rutinas en el RPO de TSS, deberá realizar el siguiente procedimiento vía APSDU:

    1. En la tabla SPED000 filtre por el parámetro MV_VERDB y borre su contenido, después reinicie el servicio, el job va a crear los campos de la nueva implementación.
    2. Verificar la creación de los campos TOKENWSCPE y SIGNWSCPE en la tabla SPED001L. La documentación de los campos y parámetros se encuentra en 06. INFORMACIÓN RELACIONADA
    3. En el navegador web ingresar a la dirección donde están habilitados los servicios de TSS. Ejemplo: http://localhost:8080/WSINDEX.apw
    4. Verificar que esté disponible el servicio WSCPESERVICEARG - Web service Carta de Porte Electrónica para transporte ferroviario y automotor.

03. CONFIGURACIÓN


Configuración de Certificado

Para la configuración de la entidad y certificado, deberá ejecutar los siguientes métodos (servicio WSNFECFGLOC): 

    • ADMEMPLOC - Creación de Entidad.
    • CFGLOCCERTPFX - Validación del certificado digital.


Configuración de entorno

Para definir el entorno de transmisión (1-Producción/2-Homologación), deberá realizar la configuración con el uso del método CFGAMBLOC (servicio WSNFECFGLOC). Informar en la propiedad MODELO el valor 9 (9-WSCPE). La configuración es almacenada en el parámetro MV_AMBICPE.


Autenticación servicio WSCPE

Para obtener el token y sign de autenticación del servicio WSCPE, deberá ejecutar el método GETAUTHREM (servicio NFESLOC). Informar en la propiedad CWSSERVICE el valor WSCPE. La información del token y sign es almacenada en los campos TOKENWSCPE y SIGNWSCPE respectivamente.


Generación de Web Client

Para hacer uso de los métodos disponibles para la comunicación con la AFIP - Servicio Carta Porte Electrónica (WSCPE), deberá generar el web client del servicio WSCPESERVICEARG. Para generar el web client deberá seguir el siguiente procedimiento:

  1. En el navegador web ingresar a la dirección donde están habilitados los servicios de TSS. Ejemplo: http://localhost:8080/WSINDEX.apw
  2. Identificar e ingresar en el servicio WSCPESERVICEARG - Carta de Porte Electrónica para transporte ferroviario y automotor.
  3. En la descripción del servicio dar clic en la opción: WSCPESERVICEARG.apw?WSDL
  4. Copiar la URL de la descripción del servicio: Ejemplo: http://localhost:8080/WSCPESERVICEARG.apw?WSDL
  5. En Visual Studio Code, ingresar en la opción: TOTVS: Generar WS Protheus. 
    1. Informar la URL del Web Service / WSDL. Ejemplo: http://localhost:8080/WSCPESERVICEARG.apw?WSDL
    2. Ruta o Directorio. Ejemplo: C:\TEMP\
    3. Nombre del archivo. Ejemplo: WsClientCPEArg.prw
    4. Grabar y Cerrar.
  6. El web client deberá ser compilado en el RPO del entorno de Protheus.
  7. Una vez compilado el web client, puede hacer uso de los métodos que se crearon en el servicio WSCPESERVICEARG.


Consultar el manual para desarrollo de Carta Porte Electrónica, para conocer la información que debe ser enviada a la AFIP en cada uno de los métodos.

04. MÉTODOS DISPONIBLES

A continuación, se describen los métodos disponibles en el servicio WSCPESERVICEARG.


MétodoDescripciónParámetrosRespuesta
DummyCPE Método dummy para verificación de funcionamiento.- User Token.
- ID Entidad.
Estatus del servicio.
ConsultarTipoGrano Retorna un listado con el código y descripción de los tipos de granos permitidos.- User Token.
- ID Entidad.
Listado con el código y descripción de los tipos de granos.
ConsultarUltNroOrden Retorna el último número de orden de CPE autorizado según número de sucursal.- User Token.
- ID Entidad.
- Sucursal.
- Tipo CPE (Carta Porte Electrónica).
Último número de orden de CPE autorizado según número de sucursal.
ConsultarProvincias Retorna un listado con el código y descripción de todas las provincias.- User Token.
- ID Entidad.
Listado con el código y descripción de todas las provincias.
ConsultarCPEAutomotorDG Busca una CPE existente según parámetros de búsqueda y retorna información de la misma.- User Token.
- ID Entidad.
- XML con la información de los parámetros de búsqueda.
String en Base64 con la información de la CPE existente según parámetros de búsqueda.
ConsultarCPEDGPendienteActivacion Retorna las CPEs de Derivados Granarios (Ferroviaria y Automotor) que estén en estado 'PE'.- User Token.
- ID Entidad.
- Código de Planta.
String en Base64 con información de las CPEs de derivados granarios.
AutorizCPEAutomotorDG Solicitud de una nueva carta de porte del tipo Automotor Derivados Granarios.- User Token.
- ID Entidad.
- XML con la información de la CPE a autorizar.
String en Base64 con la información de la CPE autorizada.
EditarCPEAutomotorDG Permite modificar datos de una CP Automotor DG en estado Confirmado.- User Token.
- ID Entidad.
- XML con los datos de intervinientes a modificar.
String en Base64 con la confirmación de la modificación.
ConfirmaCPEAutomotorDG Método para informar la confirmación definitiva de una carta de porte existente.- User Token.
- ID Entidad.
- XML con los datos de la CPE para la confirmación - definitiva.
String en Base64 con la información de confirmación de la CPE.
InformarDesvioCPEAutomotorDG Método para informar el desvío de una carta de porte existente.- User Token.
- ID Entidad.
- XML con los datos de la CPE, destino y transporte.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
ModificarDestinoDestinatarioCPEAutomotorDG Método para informar el nuevo destino / destinatario de una carta de porte existente.- User Token.
- ID Entidad.
- XML con la información de la CPE, destino, destinatario y - transporte.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
RegresoOrigenCPEAutomotorDG Permite realizar un regreso a Origen para una CPE Automotor de Derivados Granarios.- User Token.
- ID Entidad.
- XML con la información de la CPE, transporte, planta y - domicilio.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
AceptarEmisionCPEDG  Método para aceptar una carta de porte en estado 'PE'.- User Token.
- ID Entidad.
- XML con la información de la CPE y CUIT solicitante.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
RechazarEmisionCPEDG Método para rechazar una carta de porte en estado 'PE'.- User Token.
- ID Entidad.
- XML con la información de la CPE y CUIT solicitante.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
AutorizarCPEEmisionDestinoDGSolicitud de una nueva carta de porte del tipo Emitida en Destino Derivados Granarios.- User Token.
- ID Entidad.
- XML con los datos de la solicitud de una nueva CPE.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
AceptarCPEEmisionDestinoDGMétodo para aceptar una carta de porte en estado 'PO'.- User Token.
- ID Entidad.
- XML con los datos de la CPE en estado 'PO' que será aceptada.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
RechazarCPEEmisionDestinoDGMétodo para rechazar una carta de porte en estado 'PO'.- User Token.
- ID Entidad.
- XML con los datos de la CPE en estado 'PO' a rechazar.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
ConsultarCPEEmitidaDestinoDGPAConsulta las CPE Emitidas en Destino en estado 'PO'.- User Token.
- ID Entidad.
- Código de Planta.
String en Base64 con la información de las CPEs emitidas en estado 'PO'.
ConsultarCPEEmisionDestinoDGConsultar las CPE Emitidas en Destino.- User Token.
- ID Entidad.
- XML con la información de los parámetros de consulta.
String en Base64 con la información de las CPEs emitidas en destino.
InformarContingenciaEmisionDestinoDGPermite informar una contingencia para Emitidas en Destino.- User Token.
- ID Entidad.
- XML con los datos de la CPE, CUIT destino e información de contingencia.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
AnularCPEEmisionDestinoDGPermite anular una CPE Emitida en Destino.- User Token.
- ID Entidad.
- XML con los datos de la CPE, CUIT destino y motivo de anulación.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
DescargarDestinoCPEEmisionDestinoDGPermite descargar en destino una CPE Emitida en Destino.- User Token.
- ID Entidad.
- XML con los datos de la CPE a descargar en destino.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
CerrarContingenciaCPEEmisionDestinoDGPermite cerrar una contingencia para una CPE Emitida en Destino.- User Token.
- ID Entidad.
- XML con los datos de la CPE para cerrar contingencia.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
NuevoDestinoDestinatarioCPEEmisionDestinoDGPermite indicar un nuevo destino/destinatario para una CPE Emitida en Destino.- User Token.
- ID Entidad.
- XML con los datos de la CPE, destino y destinatario.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
RegresoOrigenCPEEmisionDestinoDGPermite realizar un regreso a origen para una CPE Emitida en Destino.- User Token.
- ID Entidad.
- XML con los datos de la CPE, CUIT destino y transporte.
String en Base64 con la respuesta y documento pdf de confirmación de la AFIP.
ConsultarDerivadosGranariosRetorna un listado con el código y descripción de todos los derivados granarios existentes.- User Token.
- ID Entidad.
Listado con el código y descripción de todos los derivados granarios existentes.


¡IMPORTANTE!

La respuesta de los métodos está codificada en Base64 (Encode64). Para interpretar la respuesta de los métodos es necesario convertir el string al formato original (Decode64). La respuesta de los métodos que regresan un listado con el código y descripción de los tipos de datos permitidos, no está codificada en Base64. La respuesta del método DummyCPE tampoco está codificada.

05. EJEMPLO DE UTILIZACIÓN


Método DummyCPE

Solicitud SOAP:

<soap:Body>
   <USERTOKEN>TOTVS</USERTOKEN>
   <ID_ENT>000001</ID_ENT>
</soap:Body>


Respuesta a solicitud SAOP:

<soap:Body>
   <DUMMYCPE>
      <APPSERVER>Ok</APPSERVER>
      <AUTHSERVER>Ok</AUTHSERVER>
      <DBSERVER>Ok</DBSERVER>
   </DUMMYCPE>
</soap:Body>


Método ConsultarTipoGrano

Solicitud SOAP:

<soap:Body>
   <USERTOKEN>TOTVS</USERTOKEN>
   <ID_ENT>000001</ID_ENT>
</soap:Body>


Respuesta a Solicitud SOAP:

<soap:Body>
   <TIPOSDEGRANO>
      <TIPOGRANO>
         <CODIGO>31</CODIGO>
         <DESCRIPCION>Algodón</DESCRIPCION>
      </TIPOGRANO>
      <TIPOGRANO>
         <CODIGO>30</CODIGO>
         <DESCRIPCION>Alpiste</DESCRIPCION>
      </TIPOGRANO>
   </TIPOSDEGRANO>
</soap:Body>


Método AutorizCPEAutomotorDG

Solicitud SOAP:

<soap:Body>
   <USERTOKEN>TOTVS</USERTOKEN>
   <ID_ENT>000001</ID_ENT>
   <XMLAUTORIZARCPEAUTOMDG>
       <![CDATA[<solicitud>
            <cabecera>
               <tipoCP>284</tipoCP>
               <sucursal>1</sucursal>
               <nroOrden>1</nroOrden>
            </cabecera>
            <origen>
               <esUsuarioIndustria>false</esUsuarioIndustria>
               <domicilioOrigen>
                  <tipo>3</tipo>
                  <orden>3</orden>
               </domicilioOrigen>
            </origen>
            <datosCarga>
               <codGrano>35</codGrano>
               <codDerivadoGranario>136</codDerivadoGranario>
               <pesoBruto>3000</pesoBruto>
               <pesoTara>500</pesoTara>
               <tipoEmbalaje>1</tipoEmbalaje>
               <unidadMedida>1</unidadMedida>
            </datosCarga>
            <destino>
               <cuit>30521729283</cuit>
               <planta>3</planta>
               <domicilioDestino>
                  <tipo>3</tipo>
                  <orden>3</orden>
               </domicilioDestino>
            </destino>
            <destinatario>
               <cuit>30508834973</cuit>
            </destinatario>
            <transporte>
               <cuitTransportista>30712467807</cuitTransportista>
               <!--1 or more repetitions:-->
               <dominio>nimboru</dominio>
               <fechaHoraPartida>2013-12-21T05:32:42-06:00</fechaHoraPartida>
               <kmRecorrer>3</kmRecorrer>
               <cuitChofer>20024755119</cuitChofer>
               <cuitPagadorFlete>27261137726</cuitPagadorFlete>
            </transporte>
        </solicitud>]]>
   </XMLAUTORIZARCPEAUTOMDG>
</soap:Body>


Respuesta a Solicitud SOAP:

<soap:Body>
   <AUTORIZARCPEAUTOMDG>
      <RESPUESTA>PEFVVE9SSVpDUEVBVVRPTU9UT1JER1JFU1VMVD48UkVTUFVFU1RBPlJlc3B1ZXN0YSBXU1BDRTwvUkVTUFVFU1RBPjwvQVVUT1JJWkNQRUFVVE9NT1RPUkRHUkVTUE9OU0U+</RESPUESTA>
   </AUTORIZARCPEAUTOMDG>
</soap:Body>



¡IMPORTANTE!

Los métodos que reciben como parámetro una propiedad con el nombre "XML", esperan recibir un string del XML que será enviado a la AFIP. Ejemplo: XMLAUTORIZARCPEAUTOMDG del método AutorizCPEAutomotorDG.

06. INFORMACIÓN RELACIONADA

DT TSS Autenticación WSAA Carta Porte Electrónica ARG

DT Campos y parámetros utilizados en servicio WSCPE ARG

07. TABLAS UTILIZADAS

  • SPED000L - Parámetros.
  • SPED001L - Tabla de Entidad/Empresa.