Sample code for 30+ languages & platforms
Java

Yousign Procedure Creation Basic Mode Upload File

See more Yousign Examples

Demonstrates the 1st step of Yousign procedure creation, which is to upload a PDF file.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        // Implements the following CURL command:

        // curl --location --request POST 'https://staging-api.yousign.com/files' \
        // --header 'Authorization: Bearer YOUR_API_KEY' \
        // --header 'Content-Type: application/json' \
        // --data-raw '{
        //     "name": "The best name for my file.pdf",
        //     "content": "JVBERi0..." }'

        // Load a PDF file to be uploaded.
        BinData pdfData = new BinData();
        try {
            pdfData.loadFile("qa_data/pdf/helloWorld.pdf");
        } catch (ChilkatException e) {
            System.out.println("Failed to load PDF local file.");
            return;
        }

        // Use the following online tool to generate HTTP code from a CURL command
        // Convert a cURL Command to HTTP Source Code

        // Use this online tool to generate code from sample JSON:
        // Generate Code to Create JSON

        // The following JSON is sent in the request body.

        // {
        //   "name": "The best name for my file.pdf",
        //   "content": "JVBERi0..."
        // }

        JsonObject json = new JsonObject();
        json.updateString("name", "helloWorld.pdf");
        json.updateString("content", pdfData.getEncoded("base64"));

        // Adds the "Authorization: Bearer YOUR_API_KEY" header.
        http.setAuthToken("YOUR_API_KEY");

        HttpResponse resp = new HttpResponse();
        try {
            http.httpJson("POST", "https://staging-api.yousign.com/files", json, "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        StringBuilder sbResponseBody = new StringBuilder();
        resp.getBodySb(sbResponseBody);
        JsonObject jResp = new JsonObject();
        jResp.loadSb(sbResponseBody);
        jResp.setEmitCompact(false);

        System.out.println("Response Body:");
        System.out.println(jResp.emit());

        int respStatusCode = resp.getStatusCode();
        System.out.println("Response Status Code = " + respStatusCode);
        if (respStatusCode >= 400) {
            System.out.println("Response Header:");
            System.out.println(resp.getHeader());
            System.out.println("Failed.");
            return;
        }

        // Sample JSON response:
        // (Sample code for parsing the JSON response is shown below)

        // {
        //   "id": "/files/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        //   "name": "The best name for my file.pdf",
        //   "type": "signable",
        //   "contentType": "application/pdf",
        //   "description": null,
        //   "createdAt": "2018-12-01T11:36:20+01:00",
        //   "updatedAt": "2018-12-01T11:36:20+01:00",
        //   "sha256": "bb57ae2b2ca6ad0133a699350d1a6f6c8cdfde3cf872cf526585d306e4675cc2",
        //   "metadata": [
        //   ],
        //   "workspace": "/workspaces/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        //   "creator": null,
        //   "protected": false,
        //   "position": 0,
        //   "parent": null
        // }

        // Sample code for parsing the JSON response...
        // Use the following online tool to generate parsing code from sample JSON:
        // Generate Parsing Code from JSON

        String id = jResp.stringOf("id");
        String name = jResp.stringOf("name");
        String v_type = jResp.stringOf("type");
        String contentType = jResp.stringOf("contentType");
        String description = jResp.stringOf("description");
        String createdAt = jResp.stringOf("createdAt");
        String updatedAt = jResp.stringOf("updatedAt");
        String sha256 = jResp.stringOf("sha256");
        String workspace = jResp.stringOf("workspace");
        String creator = jResp.stringOf("creator");
        boolean v_protected = jResp.boolOf("protected");
        int position = jResp.intOf("position");
        String parent = jResp.stringOf("parent");
        int i = 0;
        int count_i = jResp.sizeOfArray("metadata");
        while (i < count_i) {
            jResp.setI(i);
            i = i + 1;
        }
    }
}