You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.

Forum Discussion

rostyslavpopov's avatar
rostyslavpopov
Explorer | Level 3
9 days ago

Missing parameter: client_id for lwc

Im working on a lwc where id like to embed a signing process in iframe, I was able to successfully retrieve sign URL, but when I try to use it on iframe I got following error, at which step do I need to set my client id?
So far I used this with client id in request body

String apiUrl = 'https://api.hellosign.com/v3/signature_request/create_embedded_with_template';
and 

request.setEndpoint('https://api.hellosign.com/v3/embedded/sign_url/' + signatureId);

with just signature id in request body

Also I have a problem setting body for my request, I used this class to generate json string, but when I use this approach I get error({"error":{"error_msg":"No template_id or template_ids specified","error_path":"template_id","error_name":"bad_request"}})

HelloSignJSON.Signing_options so = new HelloSignJSON.Signing_options();

so.default_type = 'draw';

so.draw = true;

so.phone = true;

so.type = true;

so.upload = true;

HelloSignJSON.Signers signer = new HelloSignJSON.Signers();

signer.role = 'Lead.Customer';

signer.name = 'Rostyslav';

signer.email_address = 'popov.rst@gmail.com';

List<HelloSignJSON.Signers> signers = new List<HelloSignJSON.Signers>{signer};

HelloSignJSON hsj = new HelloSignJSON();

hsj.template_ids = new List<String>{'90c43afee504f24a2dcd67ab7991f8f3f5900ef3'};

hsj.client_id = 'CLIENT_ID';

hsj.subject = 'Embedded Subject';

hsj.message = 'Embedded message';

hsj.signing_options = so;

hsj.test_mode = true;

hsj.signers = signers;

String requestBody = JSON.serialize(hsj);

  • DB-Des's avatar
    DB-Des
    Icon for Dropbox Engineer rankDropbox Engineer

    Hi rostyslavpopov

    It appears as though the JSON serialization process in your code is producing an unexpected result — the List<String> is somehow being serialized into a JSON object rather than a JSON array, which is what the API expects.

    We would recommend reviewing your code to ensure the template IDs are being sent in an array and not a JSON object.

    • rostyslavpopov's avatar
      rostyslavpopov
      Explorer | Level 3

      and what about the first problem with missing client id? I figured out that I can put client id into URL and it will work, but this is not secure, right? So I need to know how to make it secure

      • DB-Des's avatar
        DB-Des
        Icon for Dropbox Engineer rankDropbox Engineer

        Hi rostyslavpopov

        If the Client ID is a required parameter for the endpoint(s) you are using, it must be included to ensure proper functionality.

        Including the Client ID in your requests is both standard practice and safe. The Dropbox Sign API is designed with robust security measures in place to protect data and ensure the integrity of all interactions. Rest assured, we wouldn’t request this information if it posed a security risk.