Closed valerybriz closed 5 years ago
@abisosa podrías por favor firmar este documento: https://si.ua.es/es/documentos/documentacion/pdf-s/mozilla12-pdf.pdf y adjuntar la firma y el public key usado para ello?
Gracias.
Hola @valerybriz ! Acá están los datos:
Firma: "d074be84e65f07a6a893d50e66a086d7f2ff5626897870d9d9b88e31bd0b61a6554f32924be9e3596b386bfe166fe6042349f2129ae7aa762f4d65d98117cb57fa595402949b7a4eabace3cf6ac47d0fdac4c1530cecdc0e5954908d6765f5f64279e012233c99019961004c982493b202e16ebdc4f419dad8d72f7428b61add087dc0b4cbc85616caa25974aea9cc7acfcdfe608e636e38f609d5261d91168892cd8cea090c7f120a6c106c5462c2c0ec8e886fe88be2ce281374873708873d26a4804c0ed28721e178bf5dc0fc6375a428f7cffb6d89f4c429f8a10a9bb494ea302d5fb9238f558d4107bfac0cd02a53b7c0363a09adf4288ba4f66a8b5c56"
Public Key:
"2d2d2d2d2d424547494e205055424c4943204b45592d2d2d2d2d0a4d494942496a414e42676b71686b6947397730424151454641414f43415138414d49494243674b43415145413158774f7739454c4537467848647479733453720a76544c7956546f7544542f7851307a503430494f437a6f39764333657456744d75504d462f4f32373750614968716532513948582b373039586336474d396f410a776a49597153507973695a34744433577472766f434a4e6d694d46567135526339505467732b4836445241492f4a61466975337a3371374146524f35653556310a4559504f384c37494b425942546b494f397953347a476c614c444f6c373850687a3032314b6f623564336d6f375a57774973347a6b6c746d76594e6a397144630a4367545778647a4b46484b73674e48666b31323843626a7331656a64745548654d557434374a4d395a562f5443534a4b685246324e616541517167726871614e0a62416e5a2b747666444d4e39494945493162675069323566776c4b477858387a523178666543796f614f2b346e527a74325a326267544565396455583939302b0a5a514944415141420a2d2d2d2d2d454e44205055424c4943204b45592d2d2d2d2d0a"
SHA256 del doc:
"f40a4428d7cdaff3da3d67dd4d2a4b809314ec974dc34aa1ef90b8ab6bddf307"
Muchas gracias, la verificación de la firma fue hecha correctamente con estos datos! 💯 adjunto la transacción realizada con estos datos ya en rexchain: https://rexchain-staging.herokuapp.com/hash/c0d89e65e0b1d5cef92ea249246b16c49e220b324a9a64615a763a14fafd5e9d/
@valerybriz Este endpoint es distinto al que utilizaríamos para estampar la firma en un documento ?
@valerybriz Este endpoint es distinto al que utilizaríamos para estampar la firma en un documento ?
No, este si es el endpoint al cual se envía la firma del documento (llamada en el payload de arriba "doc_id") y el resto de parámetros necesarios para que funcione correctamente.
@valerybriz ok gracias! el método sí es GET ? no debiera ser POST ?
@valerybriz ok gracias! el método sí es GET ? no debiera ser POST ?
SI de hecho eso fue un Typo, ya se modificó en el branch, no me había dado cuenta de que aquí aun estaba así
@valerybriz gracias! última pregunta, el (LINK ID)
del url es el doc-id
que te regresa el endpoint para crear un documento ?
{:doc_id=>"cita_pasaporte.pdf_1569273144971"}
@valerybriz gracias! última pregunta, el
(LINK ID)
del url es eldoc-id
que te regresa el endpoint para crear un documento ?{:doc_id=>"cita_pasaporte.pdf_1569273144971"}
No, al seguir los pasos de creación de documento (descritos arriba) y de LINK obtienes un LINK ID ese es el que se debe agregar al final del url. En el caso que presentas arriba debería de verse algo así:
cita_pasaporte.pdf_1569273144971_3
Pero para que este LINK ID sea funcional debe crearse, de lo contrario dará error por inexistencia (aunque el documento si exista). Esto es debido a que un Link es una forma de llevar el control de un documento y un documento puede tener multiples links.
@valerybriz con qué endpoint se crea un link_id ?
@valerybriz con qué endpoint se crea un link_id ?
Aquí puedes encontrar la ruta y payloads de prueba para crear un link id a partir de un documento https://www.wpci.io/docs#links
@valerybriz con qué endpoint se crea un link_id ?
Aquí puedes encontrar la ruta y payloads de prueba para crear un link id a partir de un documento https://www.wpci.io/docs#links
Perfecto, muchas gracias!
@valerybriz con qué endpoint se crea un link_id ?
Aquí puedes encontrar la ruta y payloads de prueba para crear un link id a partir de un documento https://www.wpci.io/docs#links
Perfecto, muchas gracias!
Por nada 😃
@valerybriz al crear un documento pdf con la prueba: https://si.ua.es/es/documentos/documentacion/pdf-s/mozilla12-pdf.pdf
Me responde con:
{:doc_id=>"test.pdf_1569354020765"}
Luego hago un request para generar el link y me responde:
{:doc_id=>"test.pdf_1569354020765",
:status=>"unsigned",
:view_count=>0,
:signed_count=>0,
:version=>"0",
:link=>"https://wpci-staging.herokuapp.com/docs/pdf/test.pdf_1569354020765_1"}
Luego hago request a este endpoint para firmar con los datos que te pasé arriba y me responde esto:
@abisosa puedes mostrarme exactamente el payload y la ruta del request que enviaste por favor?
@valerybriz sorry le mandaba mal un parámetro pero ahora responde con:
{:error=>"Incorrect data received for the the signed document"}
Los datos que le mando son:
post url: http://wpci-staging.herokuapp.com/api/v1/documents/signed/test.pdf_1569354020765_1
payload:
{"signer_metadata":{"public_key":"2d2d2d2d2d424547494e205055424c4943204b45592d2d2d2d2d0a4d494942496a414e42676b71686b6947397730424151454641414f43415138414d49494243674b43415145413158774f7739454c4537467848647479733453720a76544c7956546f7544542f7851307a503430494f437a6f39764333657456744d75504d462f4f32373750614968716532513948582b373039586336474d396f410a776a49597153507973695a34744433577472766f434a4e6d694d46567135526339505467732b4836445241492f4a61466975337a3371374146524f35653556310a4559504f384c37494b425942546b494f397953347a476c614c444f6c373850687a3032314b6f623564336d6f375a57774973347a6b6c746d76594e6a397144630a4367545778647a4b46484b73674e48666b31323843626a7331656a64745548654d557434374a4d395a562f5443534a4b685246324e616541517167726871614e0a62416e5a2b747666444d4e39494945493162675069323566776c4b477858387a523178666543796f614f2b346e527a74325a326267544565396455583939302b0a5a514944415141420a2d2d2d2d2d454e44205055424c4943204b45592d2d2d2d2d0a","email":"abi@civica.digital","name":"Abi Sosa"},"doc_id":"d074be84e65f07a6a893d50e66a086d7f2ff5626897870d9d9b88e31bd0b61a6554f32924be9e3596b386bfe166fe6042349f2129ae7aa762f4d65d98117cb57fa595402949b7a4eabace3cf6ac47d0fdac4c1530cecdc0e5954908d6765f5f64279e012233c99019961004c982493b202e16ebdc4f419dad8d72f7428b61add087dc0b4cbc85616caa25974aea9cc7acfcdfe608e636e38f609d5261d91168892cd8cea090c7f120a6c106c5462c2c0ec8e886fe88be2ce281374873708873d26a4804c0ed28721e178bf5dc0fc6375a428f7cffb6d89f4c429f8a10a9bb494ea302d5fb9238f558d4107bfac0cd02a53b7c0363a09adf4288ba4f66a8b5c56","doc_hash":"f40a4428d7cdaff3da3d67dd4d2a4b809314ec974dc34aa1ef90b8ab6bddf307"}
@abisosa Reproduje la firma del documento con dos cuentas distintas (ambas con exactamente mismo documento y payloads) y ambas funcionaron correctamente.
Mi primera pregunta sería si te llegó el documento al email ya que copié el payload tal cual. La segunda pregunta sería, si puedes volver a hacer un request con estos mismos datos pero, desde otra herramienta (tal vez postman u otro) para descartar que sea el cliente que está cambiando alguna codificación o algo similar...
@valerybriz gracias!
Ya vi, es error en el response, la respuesta no es correctamente parseada al json, en lugar de mandar 2 objects {}{}
no podrían mandar un array si se requiere?
Me responde:
{"s3_contract_url": "https://wpci-staging.herokuapp.com/docs/view_sign_records/test.pdf_1569354020765_1"}{"s3_contract_url": "https://wpci-staging.herokuapp.com/docs/view_sign_records/test.pdf_1569354020765_1"}
@valerybriz ahora vi que me aparece varias veces firmado en el dashboard pero no puedo verlo:
Sí me llegó el que me enviaste, es este?
Ese documento firmado hay forma de descargarlo vía api ?
@abisosa si ese es uno de los documentos, ok entonces si tenemos dos bugs aquí que tengo que corregir, el primero es que el url link hacia el sitio donde está firmado se está enviando de manera incorrecta (internamente) y por ende al momento de accesar aparece un signed_files_dev//contract_abi notese el // que hace que no se pueda accesar al documento.
Por otro lado no había notado hasta ahora que lo mencionas, que se están enviando dos jsons separados con los url de los documentos ya firmados, esto en realidad es un solo json con uno o dos links dependiendo del tipo de documento pero en este caso tendría que aparecer uno solo.
Voy a corregir ambos y te confirmo para que realicemos pruebas nuevamente ok? gracias por tu seguimiento!
@valerybriz perfecto quedo al pendiente, igualmente muchas gracias!
@abisosa Ya están los fixes arriba, podrías probar accesar a los links ahora por favor? y también hacer de nuevo el request. gracias.
@valerybriz todo funcionó bien sólo la url que me devolvió el endpoint para firmar no me deja ver el archivo, me aparece application error:
response: {:s3_contract_url=>"https://wpci-staging.herokuapp.com/docs/view_sign_records/second.pdf_1569366025938_1"}
@abisosa ok, esto puede ser porque la app (por ser staging) esta montada en un servidor con free tier, entonces al levantarse de vuelta (despues de estar en modo sleep cuando no se usa por algunos minutos) y tardar más que el limite de timeout, heroku por default va a hacer que truene de esta manera, yo ahorita ingresé al link y si funciona correctamente, puedes checar de nuevo por favor?
@valerybriz ya me jaló ! Tengo un par de preguntas,
El url que devuelve s3_contract_url
es el link al dashboard de wpci, habría manera de que ese response incluyera el audit_url
y el signed_pdf_url
en el mismo json ?
Osea lo que aparece acà:
@valerybriz ya me jaló ! Tengo un par de preguntas, El url que devuelve
s3_contract_url
es el link al dashboard de wpci, habría manera de que ese response incluyera elaudit_url
y elsigned_pdf_url
en el mismo json ? Osea lo que aparece acà:
@valerybriz esto lo pregunto porque nuestros clientes no van a tener una cuenta en WPCI, sería una cuenta nuestra para todos nuestros clientes, entonces no podemos mandarlos al dashboard si ahí van a estar todos los documentos. Necesitamos acceder al archivo firmado para descargarlo y enviarlo a los usuarios correspondientes.
create a new endpoint to receive a payload of and already signed document. Example request and response:
`Request: POST https://wpci-staging.herokuapp.com/api/v1/documents/signed/(LINK ID) Payload: { "signer_metadata": { "public_key": "2d2d2d2d2d424547494e...d2d2d2d", "email": "user@company.com", "name": "signer name" } "doc_id": "2342332bc34324232342", “doc_hash”:”32432432423” } Header: Authorization = Bearer (TOKEN)
Response: 200 OK doc_id type= hex (This is the document signature) doc_hash type = hex (this is the document sha256) public_key type = hex (the signer public key)
`
To make this work: