Timbrado con Diverza

Todo lo que no cabe en los demas foros........
dmunoz
Mensajes: 4
Registrado: Sab Oct 28, 2017 4:12 pm

Re: Timbrado con Diverza

Mensajepor dmunoz » Sab Oct 28, 2017 4:31 pm

Hola, buenas tardes.

Estoy trabajando en la conexión con diversa usando C# pero hasta el momento no he podido avanzar con el código de ejemplo que ponen en su sitio web.

Si a alguien ya le funciono y me puede orientar, se lo agradecería muchísimo pues el soporte de diverza deja mucho que desear y más para quienes somos desarrolladores independientes.

Este es el codigo que uso para conectarme a Diverza

Código: Seleccionar todo

       static async Task<string> TimbreFiscal()
        {
            string responseData = "";
            var baseAddress = new Uri("https://serviciosdemo.diverza.com/api/v1/documents/stamp");

            using (var httpClient = new HttpClient { BaseAddress = baseAddress })
            {

                using (var content = new StringContent("{  \"credentials\": {    \"id\": \"1\",    \"token\": \"$2b$12$o03C1kz6fRNalss2yvYE7efSOs1IDsh5l04RmCMnooesl8KoYmh7S\"  },  \"issuer\": {    \"rfc\": \"AAA010101AAA\"  },  \"receiver\": {    \"emails\": [      {        \"email\": \"user@domain.com\",        \"format\": \"xml+pdf\",        \"template\": \"letter\"      }    ]  },  \"document\": {    \"ref-id\": \"1234567\",    \"certificate-number\": \"20001000000100005867\",    \"section\": \"all\",    \"format\": \"pdf\",    \"template\": \"letter\",    \"type\": \"https://serviciosdemo.diverza.com/application/vnd.diverza.cfdi_3.3+xml\",    \"content\": \"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxSZW1pc2lvbiB4bWxucz0iaHR0cDovL3d3dy5idXpvbmZpc2NhbC5jb20vbnMveHNkL2JmL3JlbWlzaW9uLzUyIg0KICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiDQogICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmJ1em9uZmlzY2FsLmNvbS9ucy94c2QvYmYvcmVtaXNpb24vNTIiDQogICAgdmVyc2lvbj0iNS4yIj4NCiAgICA8SW5mb0Jhc2ljYSByZmNFbWlzb3I9IkFBQTAxMDEwMUFBQSIgcmZjUmVjZXB0b3I9IkRJQTAzMTAwMkxaMiINCiAgICAgICAgYWxpYXNTdWN1cnNhbD0iIiAgYXNpZ25hRm9saW89ImZhbHNlIiBmb2xpbz0iMTIzNDUiDQogICAgICAgIHNlcmllPSJBIj48L0luZm9CYXNpY2E+DQogICAgPEluZm9BZGljaW9uYWwgZm9ybWFEZVBhZ289IlBBR08gRU4gVU5BIFNPTEEgRVhISUJJQ0lPTiIgc3ViVG90YWw9IjEwMDAwLjAwIiB0b3RhbD0iNzYwMC4wMCINCiAgICAgICAgbWV0b2RvRGVQYWdvPSJUUkFOU0ZFUkVOQ0lBIiB0aXBvRGVDb21wcm9iYW50ZT0iZWdyZXNvIiBsdWdhckV4cGVkaWNpb249Ik1vbnRlcnJleSwgTkwiDQogICAgICAgIG51bUN0YVBhZ289IjEyMTIiIGRlc2N1ZW50bz0iMjAwLjAwIi8+DQogICAgPEVtaXNvcj4NCiAgICAgICAgPFJlZ2ltZW5GaXNjYWwgUmVnaW1lbj0iUGVyc29uYSBNb3JhbCIvPg0KICAgIDwvRW1pc29yPg0KICAgIDxEb21pY2lsaW9GaXNjYWwgY2FsbGU9IkRvY3RvciBKb3PDqSBNYXLDrWEgQ29zcyIgbXVuaWNpcGlvPSJNb250ZXJyZXkiIGVzdGFkbz0iTnVldm8gTGXDs24iIHBhaXM9Ik1leGljbyINCiAgICAgICAgY29kaWdvUG9zdGFsPSI2NDAwMCIgbm9FeHRlcmlvcj0iNzMxIi8+DQogICAgPFJlY2VwdG9yIG5vbWJyZT0iRGl2ZXJ6YSBJbmZvcm1hY2nDs24geSBBbsOhbGlzaXMsIFMuQS5QLkkuIGRlIEMuVi4iLz4NCiAgICA8RG9taWNpbGlvUmVjZXB0b3IgcGFpcz0iTWV4aWNvIiBjYWxsZT0iRG9jdG9yIEpvc8OpIE1hcsOtYSBDb3NzIiBub0V4dGVyaW9yPSI3MzEiICBub0ludGVyaW9yPSJwaXNvIDkiIGNvZGlnb1Bvc3RhbD0iNjQwMDAiDQogICAgICAgIG11bmljaXBpbz0iTW9udGVycnJleSIvPg0KICAgIDxDb25jZXB0b3M+DQogICAgICAgIDxDb25jZXB0byBjYW50aWRhZD0iMTAwIiB1bmlkYWQ9IlBaQSIgbm9JZGVudGlmaWNhY2lvbj0iQUJDMDAwMTAyMDMwIiBkZXNjcmlwY2lvbj0iUHJvZHVjdG8gZGUgcHJ1ZWJhIg0KICAgICAgICAgICAgdmFsb3JVbml0YXJpbz0iMTAuMDAiIGltcG9ydGU9IjEwMDAuMDAiPiA8L0NvbmNlcHRvPg0KICAgIDwvQ29uY2VwdG9zPg0KICAgIDxJbXB1ZXN0b3MgdG90YWxJbXB1ZXN0b3NUcmFzbGFkYWRvcz0iMTYwLjAwIj4NCiAgICAgICAgPFRyYXNsYWRvcz4NCiAgICAgICAgICAgIDxUcmFzbGFkbyBpbXB1ZXN0bz0iSVZBIiB0YXNhPSIxNi4wMCIgaW1wb3J0ZT0iMTYwLjAwIi8+DQogICAgICAgIDwvVHJhc2xhZG9zPg0KICAgIDwvSW1wdWVzdG9zPg0KICAgIDxBZGRlbmRhPg0KICAgICAgICA8YmZhMjpBZGRlbmRhQnV6b25GaXNjYWwgdmVyc2lvbj0iMi4wIg0KICAgICAgICAgICAgeG1sbnM6YmZhMj0iaHR0cDovL3d3dy5idXpvbmZpc2NhbC5jb20vbnMvYWRkZW5kYS9iZi8yIj4NCiAgICAgICAgICAgIDxiZmEyOlRpcG9Eb2N1bWVudG8gZGVzY3JpcGNpb249IkZhY3R1cmEiIG5vbWJyZUNvcnRvPSJGQUMiLz4NCiAgICAgICAgICAgIDxiZmEyOkNGRCBmZWNoYUVudmlvPSIyMDE1LTEwLTA5VDA5OjQxOjA0Ig0KICAgICAgICAgICAgICAgIHRvdGFsQ29uTGV0cmE9Ik1pbCBjaWVudG8gc2VzZW50YSBwZXNvcyBjb24gMDAvMTAwIE0uTi4iIHRpcG9Nb25lZGE9Ik1YTiIvPg0KICAgICAgICAgICAgPGJmYTI6RXh0cmEgYXRyaWJ1dG89IlQqVE9UQUwiIHZhbG9yPSIxMTYwLjAwIi8+DQogICAgICAgICAgICA8YmZhMjpFeHRyYSBhdHJpYnV0bz0ibnVtZXJvVGlja2V0IiB2YWxvcj0iMDAwMDBDMDAwMTAwMDAwOTg3NjUiLz4NCiAgICAgICAgICAgIDxiZmEyOkV4dHJhIGF0cmlidXRvPSJ0aWVuZGEiIHZhbG9yPSJDZW50cm8iLz4NCiAgICAgICAgPC9iZmEyOkFkZGVuZGFCdXpvbkZpc2NhbD4NCiAgICA8L0FkZGVuZGE+DQo8L1JlbWlzaW9uPg==\"  }}", System.Text.Encoding.Default, "application/json"))
                {
                    using (var response = await httpClient.PostAsync("https://serviciosdemo.diverza.com/api/v1/documents/stamp", content))
                    {
                        responseData = await response.Content.ReadAsStringAsync();
                    }
                }
            }

            return responseData;
        }


Y este es el error que me devuelve

Código: Seleccionar todo


{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:

 x-request-id: ltbg5u1a7rjp4p4f9g5p7gvflfifub49 
 Connection: close 
 Cache-Control: must-revalidate, max-age=0, private 
 Date: Sat, 28 Oct 2017 21:10:10 GMT 
 Server: Cowboy  Content-Length: 790 
 Content-Type: application/json;
 charset=utf-8; charset=utf-8
}}


Saludos
David

Moises_F
Mensajes: 8
Registrado: Lun Oct 09, 2017 9:44 pm

Re: Timbrado con Diverza

Mensajepor Moises_F » Dom Oct 29, 2017 7:05 pm

Hola David, no programo en C#, pero por lo que alcanzo a ver, te sugiero pruebes tu código con estos datos, y como consejo no te fíes mucho de los ejemplos que pone Diverza:

En el XML
Nodo Emisor
RFC: AAA010101AAA
Regimen Fiscal = 601

Certificado CSD: 30001000000300023708
Contraseña: 12345678a

En el Json
credentials.id = "3935"
credentials.token = "ABCD1234"
issuer.rfc = "AAA010101AAA"

Te comento, para generar sellar, firmar, etc, el xml uso Chilkat, para formar el Json uso Newtonsoft.

Saludos

Moisés Fabro

jtrume
Mensajes: 2
Registrado: Mar Oct 31, 2017 9:58 am

Re: Timbrado con Diverza

Mensajepor jtrume » Mar Oct 31, 2017 10:02 am

Hola buen día,
Ya logre timbrar incluso me envía un correo con el xml y pdf, pero me response con un xml diferente y siempre es el mismo.

¿Alguien sabe porque?

Saluos

jggtz
Mensajes: 357
Registrado: Lun Oct 10, 2011 12:50 pm

Re: Timbrado con Diverza

Mensajepor jggtz » Mar Oct 31, 2017 10:13 am

Revisa si siempre estas enviando : "ref-id" = "1234567"

Se utiliza para hacer unico el cfdi ... normalmente se utiliza el folio interno de tu aplicacion y se puede repetir cuando quieras recuperar un cfdi especifico que ya fue timbrado pero por alguna razon lo quieres traer nuevamente

En el caso de que estes haciendo pruebas con el mismo xml, ten la precaucion de modificar tu mismo este campo porque te va a traer el ultimo timbrado con ese id y a veces uno se confunde y das por buena la prueba (jejeje ya me paso)

jtrume
Mensajes: 2
Registrado: Mar Oct 31, 2017 9:58 am

Re: Timbrado con Diverza

Mensajepor jtrume » Mar Oct 31, 2017 11:09 am

Muchas gracias jggtz, al parecer tienes razón.

mikinacho
Mensajes: 19
Registrado: Vie Nov 03, 2017 12:41 pm

Re: Timbrado con Diverza

Mensajepor mikinacho » Sab Nov 11, 2017 10:52 am

buenos dias
me marca error en ByVal strpr, sabes a que se debe?
gracias

jggtz escribió:Es el mismp codigo que yo tengo para 3.2
Probablemente deje pasar CR o LF o headers o trailers...
Ahora los PAC estan mas estrictos
Ademas, en mi opinion, Diverza mando maquilar todo lo relacionado con CFDI 3.3...y es completamente nuevo

El codigo que actualmente utilizo para convertir a base64 es el siguiente:

Código: Seleccionar todo

'Declaration
Private Declare Function WideCharToMultiByte Lib "kernel32" ( _
    ByVal CodePage As Long, _
    ByVal dwFlags As Long, _
    ByVal lpWideCharStr As Long, _
    ByVal cchWideChar As Long, _
    ByVal lpMultiByteStr As Long, _
    ByVal cbMultiByte As Long, _
    ByVal lpDefaultChar As Long, _
    ByVal lpUsedDefaultChar As Long) As Long
   
'CodePage constant for UTF-8
Private Const CP_UTF8 = 65001


'Return byte array with VB "Unicode" string encoded in UTF-8
Public Function Utf8BytesFromString(strInput As String) As Byte()
   
    Dim nBytes      As Long
    Dim abBuffer()  As Byte
   
    'Get length in bytes *including* terminating null
    nBytes = WideCharToMultiByte(CP_UTF8, 0&,ByVal StrPtr(strInput), -1, vbNull, 0&, 0&, 0&)
   
    'We don't want the terminating null in our byte array, so ask for `nBytes-1` bytes
    ReDim abBuffer(nBytes - 2)  ' NB ReDim with one less byte than you need
   
    nBytes = WideCharToMultiByte(CP_UTF8, 0&, ByVal StrPtr(strInput), -1, ByVal VarPtr(abBuffer(0)), nBytes - 1, 0&, 0&)
    Utf8BytesFromString = abBuffer
   
End Function


'My Code
'   XMLFactura.XML is the xml string

    'Convert XML to ByteArray (UTF-8)
    Dim MyByte()    As Byte
    MyByte = Utf8BytesFromString(XMLFactura.XML)
   
   
    'Convert to Base64
    Dim MyBase64    As String
    Dim lo_CkCrypt  As New Chilkat_v9_5_0.ChilkatCrypt2
    With lo_CkCrypt
        .Charset = "unicode"
        .CryptAlgorithm = "none"
        .EncodingMode = "base64"
    End With
    MyBase64 = lo_CkCrypt.EncryptBytesENC(MyByte)
    Set lo_CkCrypt = Nothing
   

'add xml in base64 to json request
    success = document.AddStringAt(-1, "content", MyBase64)
   


Baja el Chilkat Crypt aunque sea trial de 30... instala... prueba... creo que ese modulo (y otros) son libres

techsjll63
Mensajes: 9
Registrado: Vie Oct 20, 2017 2:09 pm

Re: Timbrado con Diverza

Mensajepor techsjll63 » Mar Nov 28, 2017 8:18 am

Buenos días a todos, pues nuevamente para pedir ayuda con el timbrado, ahora tengo problemas con el nodo Impuestos, la respuesta de diverza me manda el siguiente mensaje: El valor seleccionado debe corresponder a un valor del catalogo donde la columna impuesto corresponda con el campo impuesto y la columna factor corresponda con el campo TipoFactor\",\",\"sat_error_code\":\"CFDI33193\",\"message\":\"TasaOCuota with value 0.16 its not present in fixed catalog, and range for tax IVA its not valid\",\"field\":\"TasaOCuota\",\"code\":1450}],

En mi validación del XML no me arroja error, pero la verdad no sé si me falte algún esquema de los xsd de verificación, estos son los xsd que utilizo:
xsdSAT.Add "http://www.sat.gob.mx/cfd/3", gstrDirSat & "cfdi33.xsd"
xsdSAT.Add "http://www.sat.gob.mx/detallista", gstrDirSat & "detallista.xsd"
xsdSAT.Add "http://www.sat.gob.mx/divisas", gstrDirSat & "Divisas.xsd"
xsdSAT.Add "http://www.sat.gob.mx/donat", gstrDirSat & "donat.xsd"
xsdSAT.Add "http://www.sat.gob.mx/ecb", gstrDirSat & "ecb.xsd"
xsdSAT.Add "http://www.sat.gob.mx/ecc", gstrDirSat & "ecc.xsd"
xsdSAT.Add "http://www.sat.gob.mx/implocal", gstrDirSat & "implocal.xsd"
xsdSAT.Add "http://www.sat.gob.mx/terceros", gstrDirSat & "terceros11.xsd"

y este es el segmento del Concepto que genero:

<cfdi:Conceptos><cfdi:Concepto ClaveProdServ="81111812" NoIdentificacion="SERVICIO" Cantidad="2.0000" ClaveUnidad="E48" Unidad="NO APLICA" Descripcion="ASESORIA EN SISTEMAS" ValorUnitario="300.0000" Importe="600.00"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado TipoFactor="Tasa" TasaOCuota="0.160000" Importe="96.00" Base="600.00" Impuesto="002"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados="96.00"><cfdi:Traslados><cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.16" Importe="96.00"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Comprobante>

les agradezco su atencion y espero su ayuda,

Pirip
Mensajes: 41
Registrado: Vie Ene 30, 2015 10:26 am

Re: Timbrado con Diverza

Mensajepor Pirip » Mar Nov 28, 2017 8:36 am

techsjll63 escribió:Buenos días a todos, pues nuevamente para pedir ayuda con el timbrado, ahora tengo problemas con el nodo Impuestos, la respuesta de diverza me manda el siguiente mensaje: El valor seleccionado debe corresponder a un valor del catalogo donde la columna impuesto corresponda con el campo impuesto y la columna factor corresponda con el campo TipoFactor\",\",\"sat_error_code\":\"CFDI33193\",\"message\":\"TasaOCuota with value 0.16 its not present in fixed catalog, and range for tax IVA its not valid\",\"field\":\"TasaOCuota\",\"code\":1450}],

En mi validación del XML no me arroja error, pero la verdad no sé si me falte algún esquema de los xsd de verificación, estos son los xsd que utilizo:
xsdSAT.Add "http://www.sat.gob.mx/cfd/3", gstrDirSat & "cfdi33.xsd"
xsdSAT.Add "http://www.sat.gob.mx/detallista", gstrDirSat & "detallista.xsd"
xsdSAT.Add "http://www.sat.gob.mx/divisas", gstrDirSat & "Divisas.xsd"
xsdSAT.Add "http://www.sat.gob.mx/donat", gstrDirSat & "donat.xsd"
xsdSAT.Add "http://www.sat.gob.mx/ecb", gstrDirSat & "ecb.xsd"
xsdSAT.Add "http://www.sat.gob.mx/ecc", gstrDirSat & "ecc.xsd"
xsdSAT.Add "http://www.sat.gob.mx/implocal", gstrDirSat & "implocal.xsd"
xsdSAT.Add "http://www.sat.gob.mx/terceros", gstrDirSat & "terceros11.xsd"

y este es el segmento del Concepto que genero:

<cfdi:Conceptos><cfdi:Concepto ClaveProdServ="81111812" NoIdentificacion="SERVICIO" Cantidad="2.0000" ClaveUnidad="E48" Unidad="NO APLICA" Descripcion="ASESORIA EN SISTEMAS" ValorUnitario="300.0000" Importe="600.00"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado TipoFactor="Tasa" TasaOCuota="0.160000" Importe="96.00" Base="600.00" Impuesto="002"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados="96.00"><cfdi:Traslados><cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.16" Importe="96.00"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Comprobante>

les agradezco su atencion y espero su ayuda,



No parece que sea sobre el nodo Concepto->Impuestos.

Más bien parece que es sobre el nodo root-Impuestos, el valor de TasaOCuota debe de tener los 6 decimales, así como los presentas en el impuesto de concepto, lo tienes así.

Código: Seleccionar todo

<cfdi:Impuestos TotalImpuestosTrasladados="96.00">
   <cfdi:Traslados>
      <cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.16" Importe="96.00"/>
   </cfdi:Traslados>
</cfdi:Impuestos>

techsjll63
Mensajes: 9
Registrado: Vie Oct 20, 2017 2:09 pm

Re: Timbrado con Diverza

Mensajepor techsjll63 » Mar Nov 28, 2017 9:32 am

Muchas gracias Pirip, tienes razón, ahí es donde estaba el error.
Me enfoque en el concepto y no hice el cambio en el elemento Impuestos.

techsjll63
Mensajes: 9
Registrado: Vie Oct 20, 2017 2:09 pm

Re: Timbrado con Diverza

Mensajepor techsjll63 » Mar Nov 28, 2017 3:57 pm

Ahora regreso con otro error, resulta que el certificado de pruebas de diverza no lo reconoce, ya hice cambio de certificados y ninguno me lo acepta, alguien tiene el certificado de diverza que sí le haya funcionado, se los agradeceria mucho que me lo enviaran al correo t_echsjll@hotmail.com


Volver a “Otros”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados