Only URLs with a protocol of 'https' are supported for attribute 'callbackUrl'
This error message means exactly what it says: the value that you specify for the callbackUrl property in the Create Webhook request must begin with https:. If the value you specify for the callbackUrl property begins with http: then you'll receive this error message in response. This restriction is in place for security reasons -- i.e., Smartsheet will only send webhook notifications to secure endpoints.
Related
I am trying to create rest request using Call Multipart form data REST API service in REST API toolkit. It requires apiURL, HTTPHEADER, PARAMETERtoPOST, httpMethod (using GET). I defined all the parameters(client id, client secret, response type (code), scope and response mode (query)) and httpheader - > Content -Type is application/x-www-form-urlencoded.
But in the response message I dont get the authcode even though when I create whole URL directly including parameters , I get the authcode but without Redirect URI. If I include redirect uri, it shows me that URI is not configured even though system admin for that showed me its configured.
So am I missing any parameters or anything else?
For getting envelop status, I followed these steps
docusign developer account, under connect, I created a connect with webhook url.
In code , I have given eventNotification with webhook listener url with https:// address of my application.
I am getting response in connect logs. But I am not getting any response in my application webhook listner .why?
I have used Laravel code, with route
Route::post('webhook', [TestController::class, 'webhook']);
But I am not getting any response in function?why?
Ensure that your server (the "listener") has an https URL that is visible (callable) from the public internet. Best way to confirm this: implement a GET function at a URL such as https://your-server.com/hello. It should reply with "hello" when called. Then try entering that URL on your mobile phone.
Look at DocuSign's Connect error log to see what it says.
To assure yourself that DocuSign is sending notification messages, first use https://webhook.site to get a test webhook listener URL, and configure DocuSign to use it.
If you feel that the messages are being sent to your server but are not being received by your software, check your web server's logs. For example, if you're including documents in your notifications, the notifications will be very large and may exceed your web server's default configuration limits.
One issue which I have found, the response which is sent from Webhook to our own custom API, which will receive request from webhook does not match
For e.g.argument webhook sends json payload , so make sure you have same object which is supported by your api from docusign connect
// this is C# code
public async Task Post([FromBody] JObject envelopeData)
To test locally, you can use ngrock, which will create local server but you will be able to debug
You can try something as below. The same worked for me.
if (!Request.Body.CanSeek) { Request.EnableBuffering(); }
Request.Body.Position = 0;
var reader = new StreamReader(Request.Body, Encoding.UTF8);
var body = await reader.ReadToEndAsync().ConfigureAwait(false);
So, I've heard about request validator in API gateway.
Is it possible to validate request if it has atleast 1 parameter/querystring?
Example: Either name or id should be in the query string
https://something.domain.com/dev/employee?name=myname
https://something.domain.com/dev/employee?id=myid
Basically, what I want is that before a Lambda function is executed, this should consider these conditions first
SHOULD have a parameter
Either a name or an id should be in that parameter
API Gateway can perform the basic validation. For the basic validation, API Gateway verifies either or both of the following conditions:
The required request parameters in the URI, query string, and headers of an incoming request are included and non-blank.
The applicable request payload adheres to the configured JSON-Schema request model of the method.
To enable basic validation, you specify validation rules in a request validator, add the validator to the API's map of request validators, and assign the validator to individual API methods.
Please read documentation here
After developing in the sandbox, we got our api key approved and promoted to a live account.
Since then we've been getting the following response -
response: {
"errorCode": "ACCOUNT_LACKS_PERMISSIONS",
"message": "This Account lacks sufficient permissions."
}
http code: 401
exeucted at: 2017-05-17 15:03:59
Based on my research and according to ACCOUNT_LACKS_PERMISSIONS error when creating envelope
A setting needs to be switched on the backend at Docusign. The user mentions -
"They changed a setting called In Session to Enabled in API section near limiter that only the account manager or tier 2 support can change. All is well."
The account ID is 30953035
API username bcbffa28-a316-473e-b2b7-48d964d909a7
The API request is below. This was working just fine under a Demo account. I've even upgraded to the Intermediate API in the hopes that it will resolve my issues but no dice.
Support says that I need to post here...
This is caused by a bad account baseUrl that's being used in the request. When your integration performs authentication for a given user, if you are using Legacy auth (X-DocuSign-Authentication header) then you need to point to the following /login_information endpoint for the live system:
https://www.docusign.net/restapi/v2/login_information
When you get the response you then need to parse the baseUrl value that was returned and use that sub-domain for subsequent API requests. (Note that there are multiple sub-domains in the live system such as NA1, NA2, EU, etc)
The baseUrl that's returned will look something like:
https://na2.docusign.net/restapi/v2/accounts/12345/envelopes
Make sure you configure your code to read this sub-domain and use in subsequent requests, otherwise you if you simply use www for instance you will not be hitting the correct account endpoint and you'll receive the "Account lacks permissions" error you're receiving.
Ergin's answer seems to work; however, he does not state which part of the baseUrl to keep after parsing. In his example the baseUrl = "https://na2.docusign.net/restapi/v2/accounts/12345/envelopes" In all subsequent calls after authApi.Login(); use "https://na2.docusign.net/restapi" as the URL and that should eliminate the error message.
I'm new to SoundCloud and have been following the developers documentation in Authenticating without SoundCloud screen.
However when my application sends the request I recieve a 401 Unauthorized error. In the documentation it specifies to check that the client_id or access_token is not missing and its not.
I can't figure out what is the issue here. I've checked the following:
Register Application - Check
Pass client_id and client_secret - Check
Here is my code that calls to the sound cloud server:
response = (HttpWebResponse)request.GetResponse();
Here are the values of the request object:
AuthenticationLevel MutualAuthRequested
CachePolicy {Level:BypassCache}
ConnectionGroupName null
ContentLength -1
ContentType "application/json"
Credentials null
Headers {Content-Type: application/json}
ImpersonationLevel Delegation
Method "POST"
PreAuthenticate false
Proxy {System.Net.WebRequest.WebProxyWrapper}
RequestUri {https://api.soundcloud.com/oauth2/token?client_id=############&client_secret=###########&grant_type=password&username=#######&password=########}
Timeout 100000
UseDefaultCredentials false
After the call I receive a 401 Unauthorized error, I even tried following Geek Life's blog but received the same error.
Am I missing something here?
I think the problem here is that you are sending the client credentials in the query string of the request. You must send them in the request body instead.