2016-07-01 17 views
2

DocuSign C# Client(DocuSign.eSign)の更新版を使用して既存の封筒を無効にしようとしています。新しいDocuSign C#クライアントを使用して封筒を無効にする

エンベロープは[送信済み]ステータスであり、既に完了していないか、無効になっていません。私は次のコードしている現在

EnvelopesApi envelopesApi = new EnvelopesApi(); 

Envelope envelope = envelopesApi.GetEnvelope(accountId, envelopeId);   
envelope.Status = "voided"; 
envelope.VoidedReason = "This envelope was voided by " + currentUserName; 

// create the recipient view (aka signing URL) 
var updateSummary = envelopesApi.Update(accountId, envelopeId, envelope); 

return updateSummary; 

このコードが呼び出されると、それはにApiExceptionに失敗し、次のErrorContent:

{ 
    "errorCode": "INVALID_REQUEST_PARAMETER", 
    "message": "The request contained at least one invalid parameter. Value for 'purgeState' must be 'documents_queued' or 'documents_and_metadata_queued'." 
} 

メッセージは、要求は、少なくとも一つを含ん」であります'purgeState'の値は 'documents_queued'または 'documents_and_metadata_queued'でなければなりませんが、ドキュメントによると、ステータスが "無効"で無効な理由がある場合は、これらのパラメータを指定する必要はありません。

DocuSign C#クライアントを使用して封筒を無効にする方法はありますか?

答えて

1

エンベロープが読み込まれ、API呼び出しに渡されたときに、envelope.PurgeStateが "unpurged"に設定されているように見えます。だから私は明示的にPurgeStateを設定していないのに、私は無効なパラメータでパージアクションを実行しようとしていると思っていました。

私は明示的にenvelope.PurgeStateの設定を解除してこの問題を解決することができた:

envelope.Status = "voided"; 
envelope.VoidedReason = "This envelope was voided by " + currentUserName; 
envelope.PurgeState = null; 
1

端末の状態(完了または無効)の封筒を無効にすることはできません。無効にしようとしている封筒のステータスを確認できますか?

+0

これはさらに調査する価値があります。表示されるエラーメッセージは、トランザクションを無効にする(取り消す)のとは対照的に、エンベロープのドキュメント/メタデータをパージ(削除)しようとしているようです。既に無効化されている封筒を無効にしようとすると、エラーメッセージ "errorCode": "ENVELOPE_CANNOT_VOID_INVALID_STATE"、 "メッセージ": "封筒が「送信済み」または「納品済み」の状態で無効になることがあります。 –

+0

無効にしようとしていた封筒のステータスは処理中/送信済みでした。私は明確にするために質問を更新する –

関連する問題