**** EDIT: Danke für diese Links, @Hackerman. Ich konnte es in Postman und dann in Powershell mit dem Docusign Postman Sample arbeiten lassen. Ich kann jedoch nicht mit meinen eigenen PDF-Dokumenten arbeiten. Ich vermute, dass dies daran liegt, dass ich meine PDFs nicht richtig in Base64 umwandle. Wer weiß, wie dies kann über Powershell ****"Die Validierung der PDF-Datei ist fehlgeschlagen." wenn Sie versuchen, Signieranfrage per E-Mail zu senden - docusign
EDIT2 getan werden: War der Lage, meine PDFs zu Base64 via Powershell mit diesem einfachen 1-liner $ docEncodedBase64 = [Konvertieren] :: ToBase64String ((Get zu kodieren -Inhalt $ PDFPath -Encoding Byte))
Wir versuchen, Powershell 5.0 zu verwenden (und das invoke-restmethod
Cmdlets) auf Anfragen an das DocuSign REST-API zu machen, um eine Signaturanforderung per E-Mail zu senden.
In meinen Tests habe ich nach dieser Anleitung: https://docs.docusign.com/esign/guide/usage/request_a_signature.html#prepare-the-document-to-send-through-docusign aber eine Störung erhalte, wenn ich
meine POST-Anfrage sendenwir die Route einer normalen Anfrage werden (dh nicht mehrteilige Anfrage), und Dadurch wird das PDF-Dokument als Byte im Base64-kodierten Format als Wert der Eigenschaft documentBase64 bereitgestellt.
Hier ist mein Code, um das PDF zu base64 Bytes zu konvertieren:
# PDF document
$docContent = Get-Content 'Mutual_NDA.pdf'
# PDF as bytes
$docBytes = [System.Text.Encoding]::Unicode.GetBytes($docContent)
# PDF as Base-64 Encoded bytes
$docEncoded = [System.Convert]::ToBase64String($docBytes)
Dann meine JSON Nutzlast ich definieren, die als der Körper in der POST-Anforderung gesendet wird. Hier setze ich die Eigenschaft 'documentBase64' auf die Base64-codierte Zeichenfolge, die ich gerade oben konvertiert habe.
# JSON payload
$jsonPayload = @"
{
"documents": [
{
**"documentBase64": "$docEncoded"**,
"documentId": "1",
"fileExtension": "pdf",
"name": "Mutual_NDA.pdf"
}
],
"emailSubject": "Please sign the NDA",
"recipients": {
"signers": [
{
"email": "[email protected]",
"name": "Darlene Petersen",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"dateSignedTabs": [
{
"anchorString": "signer1date",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Date Signed",
"recipientId": "1",
"tabLabel": "date_signed"
}
],
"fullNameTabs": [
{
"anchorString": "signer1name",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Full Name",
"recipientId": "1",
"tabLabel": "Full Name"
}
],
"signHereTabs": [
{
"anchorString": "signer1sig",
"anchorUnits": "mms",
"anchorXOffset": "0",
"anchorYOffset": "0",
"name": "Please sign here",
"optional": "false",
"recipientId": "1",
"scaleValue": 1,
"tabLabel": "signer1sig"
}
]
}
}
]
},
"status": "sent"
}
"@
Und schließlich, die HTTP-Anforderung:
$Envelope = Invoke-RestMethod -uri ($BaseURL + '/envelopes') -Method Post -Body $jsonPayload -ContentType 'application/json' -Headers @{"X-Docusign-Authentication" = $XMLHeader}
Wer hat Erfahrung mit diesem haben? Vielleicht kodiere ich das PDF als Base64 falsch? Ich bin wirklich festgefahren. Jede Hilfe wird geschätzt! Danke,
Eric
Nur zu Testzwecken ... können Sie die Payload mit einem anderen Tool wie 'Postman' erstellen und sobald Sie eine funktionierende Payload haben, portieren Sie die Logik in Powershell :) – Hackerman
was ist der Fehler ??? – 4c74356b41
"errorCode": "PDF_VALIDATION_FAILED", "Nachricht": "Die Validierung der PDF-Datei ist fehlgeschlagen." – Quanda