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;
}
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
}}
David