Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 1 Semana
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 110
Poder: 20
javicho_villa Va por buen camino
Unhappy Guia Electronica PERU

Hola a todos,
Muchas gracias por leer estas líneas, le escribo desde Perú, La administración tributaria de Perú (SUNAT) ya exige las guías de remisión electrónicas, para ello tenemos un sistema de almacén que emite las guías y a traves de un servicio (OSCE) de proveedor externo este se comunica con la SUNAT y envia la información.

Lo que se quiere es que nuestro sistema envíe la información directamente a los servidores de SUNAT.

mi programa emite un archivo de texto, que le doy forma de una archivo .json y esto le enviaba al servidor OSCE ahora quiereo convertirlo al formato XML y enviarlo al servidor de la SUNAT.

Es aquí donde estoy un poco perdido, por que solo tengo el archivo .json

Si pudieran darme algunas luces para resolver este problema se los voy agradecer bastante, muchas gracias por su atención.

Código:
{
"guiaRemision":{
   "IDE":{
      "numeracion" : "T001-00000813",
      "fechaEmision" : "2024-09-12",
      "horaEmision" : "03:18:23 ",
      "notasCaso" : "",
      "codTipoDocumento" : "09"
   },
   "EMI":{
      "tipoDocId": "6",
      "numeroDocId": "20351060736",
      "nombreComercial": "FAMICOTTOM S.A.",
      "razonSocial": "FAMICOTTOM S.A.",
      "ubigeo": "150115",
      "direccion": "AV. LOS CANARIOS MZ.E2 LOTE 3 SANTA MARIA DE HUACHIPA",
      "provincia": "LIMA",
      "departamento": "LIMA",
      "distrito": "LURIGANCGHO",
      "codigoPais": "PE",
      "telefono": "371-0562",
      "correoElectronico": ""
   },
   "DDE":{
      "tipoDocId": "6",
      "numeroDocId": "2051833995",
      "nombreComercial": "LLUVISOL TEXTIL",
      "razonSocial": "LLUVISOL TEXTIL SAC",
      "ubigeo": "",
      "direccion": " AV. LOS CANARIOS MZ 3 2LOTE 3",
      "departamento": "LIMA",
      "provincia": "LIMA",
      "distrito": "HUACHIPA",
      "codigoPais": "",
      "correoElectronico": ""
   },
   "GRC":{
      "idTraslado": "SUNAT_Envio",
      "motivoTraslado": "08",
      "descripcionMotivoTraslado": " RECOJO DE BIENES TRANSFORMADOS",
      "pesoBrutoBienes": "2755.350",
      "unidadMedidaPesoBruto": "KGM",
      "modalidadTraslado": "01",
      "fechaInicioTraslado": "2024-09-12",
      "tipoDocIdeConductor": "6",
      "numeroDocIdeConductor": "12345679801",
      "denominacionTransportador": "JUAN PERES TUDELA",
      "numeroPlacaVehiculo": "ATJ-418",
      "ubigeoPuntoLlegada": "",
      "direccionPuntoLlegada": " AV. LOS CANARIOS MZ 3 2LOTE 3 URB. EL CLUB II ETAPA SANTA MARIA LIMA LIMA HUACHIPA",
      "ubigeoPuntoPartida": "150115",
      "direccionPuntoPartida": "AV. LOS CANARIOS MZ.E2 LOTE 3 SANTA MARIA DE HUACHIPA"
   },
   "GCA":{
      "tipoConductor": "Principal",
      "nomConductor": "JUAN",
      "apeConductor": "PERES TUDELA",
      "numLicCondConductor": "Q09785215"
   },
   "GRD":[
      {
         "numeroOrdenItem": "1",
         "codigoItem": "230",
         "descripcionItem": "JERSEY 24/1 ALG UPLAND DESG",
         "nombreItem": "JERSEY 24/1 ALG UPLAND DESG",
         "cantidadItem": "1006.450",
         "unidadMedidaItem": "KGM",
         "codProductoSunat": "11161704"
      },
      {
         "numeroOrdenItem": "2",
         "codigoItem": "230",
         "descripcionItem": "JERSEY 24/1 ALG UPLAND DESG",
         "nombreItem": "JERSEY 24/1 ALG UPLAND DESG",
         "cantidadItem": "662.5000",
         "unidadMedidaItem": "KGM",
         "codProductoSunat": "11161704"
      },
      {
         "numeroOrdenItem": "3",
         "codigoItem": "230",
         "descripcionItem": "JERSEY 24/1 ALG UPLAND DESG",
         "nombreItem": "JERSEY 24/1 ALG UPLAND DESG",
         "cantidadItem": "990.7500",
         "unidadMedidaItem": "KGM",
         "codProductoSunat": "11161704"
      },
      {
         "numeroOrdenItem": "4",
         "codigoItem": "231",
         "descripcionItem": "RIB 24/1 ALG UPLAND TUB",
         "nombreItem": "RIB 24/1 ALG UPLAND TUB",
         "cantidadItem": "35.95000",
         "unidadMedidaItem": "KGM",
         "codProductoSunat": "11161704"
      },
      {
         "numeroOrdenItem": "5",
         "codigoItem": "231",
         "descripcionItem": "RIB 24/1 ALG UPLAND TUB",
         "nombreItem": "RIB 24/1 ALG UPLAND TUB",
         "cantidadItem": "23.85000",
         "unidadMedidaItem": "KGM",
         "codProductoSunat": "11161704"
      },
      {
         "numeroOrdenItem": "6",
         "codigoItem": "231",
         "descripcionItem": "RIB 24/1 ALG UPLAND TUB",
         "nombreItem": "RIB 24/1 ALG UPLAND TUB",
         "cantidadItem": "35.85000",
         "unidadMedidaItem": "KGM",
         "codProductoSunat": "11161704"
      }
   ]
}
}
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #2  
Antiguo Hace 1 Semana
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.430
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por javicho_villa Ver Mensaje
mi programa emite un archivo de texto, que le doy forma de una archivo .json y esto le enviaba al servidor OSCE ahora quiereo convertirlo al formato XML y enviarlo al servidor de la SUNAT.

Es aquí donde estoy un poco perdido, por que solo tengo el archivo .json
Hola.

Veo 2 partes en esto que planteas:

1) Generación del archivo XML.
2) Envío del fichero.

Sobre ambas das poca información, así que es difícil concretar.

En la generación de un fichero XML (1), hablas de convertir un JSON, pero yo creo que es más sencillo y más práctico que generes el fichero directamente (de forma similar a como generas el JSON). Seguramente debes tener un formato para enviar ese fichero (pero no hablas sobre él). Deberías seguir la documentación para generarlo con la estructura que te pidan.

En cuanto al envío pasa lo mismo. Hay desde Delphi varias formas de realizar el envío dependiendo de dónde tengas que enviarlo. Tampoco comentas nada de lo que te piden. Deberías revisar la documentación. Deben enviarlo vía REST, SOAP, FTP,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo Hace 1 Semana
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 110
Poder: 20
javicho_villa Va por buen camino
Smile

Muchas gracias por la respuestas:
Esto es lo que explica la administración tributaria de Perú:
*********
Los servicios web utilizan la autenticación basada en tokens. Para hacer uso de los servicios, el usuario debe seguir los siguientes pasos:
a) Generación de credenciales
En el menú SOL, debe inscribir la aplicación que usará los servicios REST y generar sus credenciales (client_id y client_secret). Este paso se realizará por única vez.
La ubicación de la opción en el menú sol es la siguiente: Credenciales de API SUNAT/ Credenciales de API SUNAT/ Credenciales de API SUNAT/ Credenciales de API SUNAT.

b) Generación del token
Con las credenciales generadas en el punto anterior, generará un token a través de un servicio que pondrá disponible SUNAT para tal fin. Este token tendrá una vigencia la cual se indica en el retorno del servicio (actualmente es de 1 hora) y dentro de este periodo, podrá utilizarse las veces que requiera invocar los servicios.
Se deberá acceder a la siguiente URL, como “POST”:
https://api-seguridad.sunat.gob.pe/v1/clientessol/<client_id>/oauth2/token/
Donde:
- <client_id>: Es el client_id generado en menú SOL - La URI colocada es referencial
En la cabecera (Header) se debe enviar el siguiente parámetro: Content-Type
Application/json
El cuerpo (Body) de la consulta deberá ser de tipo “x-www-form-urlencoded” y se debe enviar los siguientes parámetros: grant_type
password
5
PLATAFORMA DE CONFIRMACIÓN NUEVA GRE
scope
https://api-cpe.sunat.gob.pe client_id
<client_id> generado en menú SOL
client_secret
<client_secret> generado en menú SOL
username
<Número de RUC> + <Usuario SOL>
password
<Contraseña SOL>
Donde:
- El parámetro grant_type tiene valor fijo
Y como datos de respuesta se tendrá: access_token
(token generado)
token_type
(tipo de token)
expires_in
(tiempo de expiración del token - El tiempo de expiración es en segundos. Concluido el tiempo podrá generar un nuevo token)
A continuación, se muestra un ejemplo del JSON para la generación de token usando la herramienta REST “POSTMAN”1 :
6
PLATAFORMA DE CONFIRMACIÓN NUEVA GRE
(*) Los datos de la imagen son referenciales
1 Disponible para los sistemas operativos: Windows, Mac y Linux.
Respuesta de la consulta:
7
PLATAFORMA DE CONFIRMACIÓN NUEVA GRE
c) Uso del token
Para el uso de los servicios, se deberá haber generado previamente el token en la sección anterior. El token se usará de la siguiente forma en la invocación del servicio:
En las Cabeceras (Headers) se deberá enviar lo siguiente: Authorization
Bearer + token
Se debe enviar la palabra “Bearer” concatenado con un espacio y luego el token generado.
**********************

esta parte es para conectarse con los servicios rest y post.

Yo ya tengo el archivo json, mi pregunta es si puedo convertir ese .json en xml para enviarlo? no sería mas facil ya que el archivo ya esta hecho?

muchas gracias.
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #4  
Antiguo Hace 6 Días
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.430
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Revisa este manual a ver si es lo que necesitas:
https://cpe.sunat.gob.pe/sites/defau...vicios_GRE.pdf

Has puesto toda la información, pero no concretas lo que necesitas.

Si realmente quieres convertir un JSON a XML, se puede hacer, pero por experiencia no va a funcionar. Si realmente necesitas un XML, es mejor que lo crees desde cero.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo Hace 6 Días
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 110
Poder: 20
javicho_villa Va por buen camino
Gracias por responder Neftali,
Como podría generar el XML, que componentes tendría que usar, yo estoy programando en XE8?
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #6  
Antiguo Hace 6 Días
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 110
Poder: 20
javicho_villa Va por buen camino
Gracias nuevamente Neftalí, te comento tambien que es una aplicación de escritorio la que usamos, he revisado los que piden en el manual, y sale de ejemplo un dominio, por ejemplo: www.miguia.com, en mi caso que es una aplicación de escritorio, como podríamos hacer?.
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #7  
Antiguo Hace 5 Días
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.430
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Para generar el XML, puedes usar los componentes que trae delphi para ello. XMLDocument o importar el XSD y que e genere estructura para generarlo.
Si buscas en los foros sobre generar XML verás que hay muchos ejemplos. Por ejemplo esta:
https://www.clubdelphi.com/foros/showthread.php?t=81137
Aquí también tienes varias entradas sobre cómo trabajar con XML:
https://delphiallimite.blogspot.com/...os-xml-ii.html

Para el tema del envío, lo más fácil en versiones nuevas como la tuya es que uses componentes REST que también vienen con Delphi.
TRESTRequest, TRESTClient, TRESTResponse
En la docWiki de Embarcadero tienes toda la información sobre estos tres componentes (aunque ahora mismo parece que está caída):
https://docwiki.embarcadero.com/RADS...Client_Library

Si buscas en los foros sobre cómo usar estos tres componentes también encontrarás muchos hilos con código de ejemplo.
En esta entrada de mi blog también tienes una explicación de cómo usar esos tres componentes para hacer peticiones a una web:
https://neftali.clubdelphi.com/35-ge...ice-en-delphi/
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo Hace 5 Días
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 110
Poder: 20
javicho_villa Va por buen camino
Muchísimas gracias Neftalí,
Me pongo a trabajar con esta información.
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
firmar documento xml firma electrónica Perú, SUNAT oscarac OOP 1 11-12-2023 09:30:04
Facturacion Electronica PERU oscarac Varios 20 25-03-2020 07:30:01
Facturación electrónica Perú SUNAT wilcg Internet 5 29-10-2018 18:46:01
Verificación de RUC Peru. F3niX Varios 7 26-05-2017 04:36:50
Terremoto en Peru FGarcia La Taberna 8 20-09-2007 20:26:01


La franja horaria es GMT +2. Ahora son las 01:28:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi