Тестовая демонстрация API DocuSign - Не удалось войти в демонстрационную версию - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь запустить образец c# Hello world в Visual Studio - я стараюсь пробовать бесплатную демонстрацию DSA.

https://github.com/docusign/docusign-signature-appliance-api-recipes/blob/master/dsa-rest/Hello-World-examples/DSARestCsharpSample/Program.cs

Я не 'Не знаю, если параметры: dsa-user-password dsa-user-name

Когда я меняю их на свое имя пользователя и пароль (имя пользователя = адрес электронной почты ??), содержимое ответа:

«Сообщение:« Не удалось войти, проверить имя пользователя, пароль и домен. »,« Модуль »:« SAPIWS »,« Код »: - 20,« InnerCode »: - 1878916813

возможно также нужно изменить:

baseURL resourcePath

Какие данные поставить ??

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Согласно вашему описанию, вы хотите успешно запустить тестовую демонстрацию API DocuSign.

Я предлагаю вам зарегистрировать новую учетную запись DSA, не рекомендуется использовать тестовую учетную запись.

Ссылка для регистрации: https://go.docusign.com/signup/dsa-developer/

Вы можете попробовать следующий код :

Примечание: //D:\\work\\PurchaseOrder.pdf is a self-created pdf

//D:\\work\\PurchaseOrder.DSA-REST-SIGNED.pdf code is generated pdf

stati c void Main (string [] args) {

        String baseURL = "https://prime-dsa-devctr.docusign.net:8081";
        String resourcePath = "sapiws/v1/digital_signature";
        String apiUrl = baseURL + "/" + resourcePath;
        var client = new RestClient(apiUrl);
        var request = new RestRequest(Method.PUT);
        request.AddHeader("content-type", "application/json");           
        request.AddHeader("authorization", "Basic " + DSABasicAuthorizationString("Vtestdemo1@hotmail.com", "testpwd12"));
        // "digital_signature" request body as Json formated String (use JavaScriptSerializer or Newtonsoft.Json to build from object) 
        String DigSigRequestBody =
            "{ \"CreateAndSignField\" : " + //structure name specifies the operation / function
                "{   \"file\": " + "\"" + File2Base64String("D:\\work\\PurchaseOrder.pdf") + "\", " +
                    "\"fileType\": \"PDF\", " +
                    "\"x\": \"91\", " +
                    "\"y\": \"164\", " +
                    "\"width\": \"113\", " +
                    "\"height\": \"38\", " +
                    "\"page\": \"1\", " +
                    "\"timeFormat\": \"h:mm:ss\", " +
                    "\"dateFormat\": \"dd/MM/yyyy\", " +
                    "\"appearance\": [\"GRAPHICAL_IMAGE\", \"SIGNED_BY\", \"TIME\"]" +
                "}" +
            "}";
        request.AddParameter("application/json", DigSigRequestBody, ParameterType.RequestBody);

        IRestResponse response = client.Execute(request);

        JObject joResponse = JObject.Parse(response.Content);

        Base64String2Path(joResponse["signedFile"].Value<string>(), "D:\\work\\PurchaseOrder.DSA-REST-SIGNED.pdf");
        Console.WriteLine("success");
        Console.ReadKey();
    }

    private static void Base64String2Path(string Base64String, string FilePath)
    {
        Byte[] bytes = Convert.FromBase64String(Base64String);
        File.WriteAllBytes(FilePath, bytes);
    }

    private static String File2Base64String(String FilePath)
    {
        Byte[] bytes = File.ReadAllBytes(FilePath);
        String fileB64Data = System.Convert.ToBase64String(bytes);
        return fileB64Data;
    }

    private static String DSABasicAuthorizationString(String username, string password)
    {
        var DSABasicAuthorizationBytes = System.Text.Encoding.UTF8.GetBytes(username + ":" + password);
        return System.Convert.ToBase64String(DSABasicAuthorizationBytes);
    }

Ссылка на файл PDF: https://github.com/docusign/docusign-signature-appliance-api-recipes/blob/master/dsa-rest/Hello-World-examples/PurchaceOrder.pdf

Результат:

enter image description here

0 голосов
/ 18 июня 2020

Вам нужна учетная запись песочницы DSA. См. https://developers.docusign.com/dsa-api для регистрации.

Кроме того, вы уверены, что хотите использовать DocuSign Signing Appliance? Это локальное аппаратное решение для цифровой подписи.

В большинстве случаев используется облачная служба электронной подписи DocuSign. У него разные API. См. Центр разработчиков .

...