**** 편집 : @Hackerman 링크를 보내 주셔서 감사합니다. 나는 Postman에서 일하고 Powershell에서 Docusign 우편 배달부 샘플을 사용하여 얻을 수있었습니다. 그러나 나는 내 자신의 PDF 문서 작업을 얻을 수 없습니다. 필자가 PDF를 Base64로 제대로 변환하지 않았기 때문입니다. ? 사람은 누구나이 파워 쉘 **** 통해 수행 할 수있는 방법을 알고"PDF 파일의 유효성 검사에 실패했습니다." 이메일을 통해 서명 요청을 보내려고 할 때 - docusign
EDIT2 :이 간단한 한 - 라이너 $ docEncodedBase64 = PowerShell을 통해 Base64로 내 PDF 파일을 인코딩 할 수 있었다 :: ToBase64String [변환]을 ((가져 오기 -Content $ PDFPath -Encoding 바이트))
우리는 이메일을 통해 서명 요청을 전송하기 위해 DocuSign의 REST API에 요청을 할 파워 쉘 5.0 (그리고 invoke-restmethod
cmdlet을)를 사용하려고합니다. 내 테스트에서
나는이 가이드를 다음되었습니다 https://docs.docusign.com/esign/guide/usage/request_a_signature.html#prepare-the-document-to-send-through-docusign을하지만 우리는 정상적인 요청 (즉,하지 멀티 파트 요청)의 길을 가고있다
내 POST 요청을 보낼 때 오류를 얻고있다, 그리고 따라서 PDF 문서를 base64로 인코딩 된 형식의 바이트로 documentBase64 속성 값으로 제공합니다.
# 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)
가 그럼 난 POST 요청의 본문으로 전송됩니다 내 JSON 페이로드를 정의 :
다음은베이스 64 바이트로 PDF를 변환하는 내 코드입니다. 여기서는 'documentBase64'속성을 방금 변환 한 base64 인코딩 된 문자열로 설정합니다.
# 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"
}
"@
그리고 마지막으로는 HTTP 요청 :
$Envelope = Invoke-RestMethod -uri ($BaseURL + '/envelopes') -Method Post -Body $jsonPayload -ContentType 'application/json' -Headers @{"X-Docusign-Authentication" = $XMLHeader}
사람이 경험이? 아마도 base64로 PDF를 잘못 인코딩하고 있습니까? 나는 정말로 붙어있다. 어떤 도움을 주셔서 감사합니다! 감사합니다,
에릭
그냥 테스트를 위해 ...'Postman'과 같은 다른 도구를 사용하여 페이로드를 빌드하고 일단 작업량이 있으면 powershell에 로직을 포트하십시오. – Hackerman
whats the error ??? – 4c74356b41
"errorCode": "PDF_VALIDATION_FAILED", "message": "PDF 파일의 유효성 검사에 실패했습니다." – Quanda