Docusign Webhook .net core 2.0 - asp.net-core

I am trying to implement Docusign in my application for digital signature. I am using .net core 2.0 for development purpose. I found that the Docusign SDK(https://www.nuget.org/packages/DocuSign.eSign.dll/) is not compatible with .net core so I tried with the other one (https://www.nuget.org/packages/DocuSign.Core). The general signature request is working fine but when it comes to Embedded Signing, there is no method available in the SDK(but is available in the original SDK). I am using REST API to complete Embedded signing process and is working fine for now.
Now I want to keep track the status of the document(like when it is delivered, when it is signed by signers and so on). I am configuring webhook to accomplish this task but not getting the webhook object in the webhook endpoint. I referred few documents ("https://github.com/docusign/recipe-010-webhook-csharp/blob/master/Webhook/Controllers/WebhookController.cs", "https://developers.docusign.com/esign-rest-api/code-examples/webhook-status",
"https://www.docusign.com/blog/dsdev-msbuild2018-session-thr2605/") to see how a webhook works but looks like none of them is working. In the examples, everyone is getting the webhook object inside request content(request.Content.ReadAsStreamAsync()) but I am getting null at Content.
Can someone help me out to resolve this issue. A sample code or helpful documents(apart from the one I am referring) would be great.
Thank you.

Re: .Net Core SDK support -- we hear you and we're working on it.
Re: webhook setup --
How are you creating the webhook subscription? Via the Administration tool or via the eventNotification object in the Envelopes::create call?
To get going, I'd suggest using the Administration tool. Use the Connect screen to add a webhook notification subscription to your server (your "listener"). Then you'll receive notifications for the events you've indicated an interest in.
Your server must support https and be available on the public internet so DocuSign can send POST requests to it.

Related

How to receive an Inbound SMS using Twilio in VB.NET WinForms?

I have a WinForms application and I want to receive inbound SMS using Twilio. I am using VB.NET. The code that I find on the Twilio website are using web application and MVC. Can anyone help me how to use it in WinForms?
Did not get enough to try out anything.
Twilio uses a standard way of notifying your service, called webhooks. When an SMS, phone call, or something else happens, and you configure a webhook for that, Twilio will send HTTP requests to the URL configured as a webhook.
This does mean that you have to have a publicly running web server that can accept those HTTP requests with the details of the SMS, phone call, etc. That's why the samples will use ASP.NET, as this is only possible with web technology.
Winforms runs on your computer and doesn't expose any public web endpoints to receive the webhook HTTP requests, so you can't receive it directly. However, depending on your use-case, you have options.
If you don't need real-time updates, you can read the message history using the Twilio C# .NET SDK.
In your winforms app, you could add a button to refresh the messages on click. Alternatively, you could query the message X amount of seconds to give it a more real-time feel, even tho it's not really real-time.
Warning: to use the Twilio API to get the messages, you'll need to embed the Twilio credentials into your Winform app. Anyone that has access to your app will be able to read those credentials. Keep that security risk in mind!
The second option is to use ASP.NET to receive the webhook HTTP requests, and then use a SignalR or websockets to notify any connected clients, of which your winform app would be one.
For example, when Twilio receives an SMS, the ASP.NET application receives the webhook HTTP request, the ASP.NET app then send the SMS details to all clients connected to your SignalR hub, and then your Winforms app receives the SMS payload which you can use to render your app.
The second option is a lot more work and requires more infrastructure since the ASP.NET app needs to be hosted somewhere. We don't have a tutorial for that, but I'd be happy to forward more links to docs etc. if you have questions.

How to automatically generate a web UI from a REST API

Is there any solution to automatically generate a web UI from a REST API?
I found Swagger codegen but it generates a client for the API, not a UI.
I need a basic UI, allowing directly from the browser to use the different endpoints and display the response prettily. Something like a basic Postman that would be directly integrated into my website.
I don't have constraint about how the generation is done. Can be done once at build time, or at runtime on server side or on client side.
I've heard good things about retool.com, it seems to do what you need.

do api documentation with swagger use live databases

I'm new to this api documentation era.
Vising this api documentation, I get to post and query data. I understand that's a demo api documentation with swagger.
But what happens with real world API documentation? do I have a documentation in demo.api.myawesome.com and actual api on api.myawesome. com using different data stores?
But again digging deeper, I got to find out that an api can be self documenting using swagger libraries. This seems like both api and documentation are using the same data store which can't be the case.
What am I missing here?
From the Swagger website:
Swagger is a set of rules (in other words, a specification) for a format describing REST APIs. The format is both machine-readable and human-readable. As a result, it can be used to share documentation among product managers, testers and developers, but can also be used by various tools to automate API-related processes.
So yes, it uses the same "back end" as the actual API. It's just visualizing it, allowing you to interact with it via the Swagger UI.
If you mean Swagger UI - the "try it out" button sends requests to the server specified by the host property in your spec. If host specifies your production server, requests will be sent to production; if it points to a sandbox, "try it out" will use the sandbox. You may have a version of the spec for internal use that points to production, and a public version that points to sandbox.
Note that Swagger supports authentication as a way to ensure that only authorized users (e.g. your actual customers with valid credentials or API keys) can make API calls.
You can omit host from the spec to disable the "try it out" functionality - this way you can still have the API docs, just without the interactive part.

Establish a Lync/Skype for business IM Chat from a website (Intranet)

We need to develop a website in Asp.net MVC 4 which will connect user within the organisation on Lync or (skype for business now):The ask is:
1) A Sales guy see 10 Technical person in the list which is in database and all of them are in AD if that helps
2) A sales guy click on an icon to connect to a technical person, a lync window appears on client machine (We can assume that all client will have Lync or skype for business up and running on their system from where they will access website)
3) A lync window appears on the machine of a person we are trying to connect to with Default text "hi! Bla Bla Bla"
Can somebody point me to the correct implementation with some set up details from infrastructure POV as well. We tried to do that but that does not work when we deploy to server:
AutomationModalities conversationModes = 0;
Dictionary<AutomationModalitySettings, object> conversationSettings =
new Dictionary<AutomationModalitySettings, object>();
conversationModes = AutomationModalities.InstantMessage;
conversationSettings.Add(AutomationModalitySettings.FirstInstantMessage, "Hi This is a call XXXXXXn");
conversationSettings.Add(AutomationModalitySettings.SendFirstInstantMessageImmediately, true);'
Since it appears you cannot touch the cross-domain authorization list (white-list), you should be able to achieve what you are looking for by writing some non-JavaScript code to communicate with UCWA. There are a few articles on MSDN that demonstrate how to communicate with UCWA using C#/.NET which might prove interesting:
Lync 2013: Create UCWA Windows Store apps using C#/XAML and XML
Set up the UCWA event channel to receive incoming notifications
Making an outgoing IM call and sending messages
Answer an incoming IM call and receive messages
It gives the basics of handling authentication, interacting with the events channel, handling incoming IM calls and messages. It is designed to handle XML, but that could be changed to work with JSON.
You could use the Skype Web SDK for this - Microsoft have a bunch of examples on their site for the SDK.
http://developer.skype.com/
or more specifically
https://msdn.microsoft.com/en-us/library/dn962160%28v=office.16%29.aspx
It's a JavaScript library, but very easy to integrate with a .NET MVC or Forms app.
I also have some tutorials on exactly this on my blog but not if it's appropriate to post that here. :)

Windows Live Writer Authorization with custom AtomPub service

I've been working lately on my own WCF AtomPub service (based on the example in the "WCF REST Starter Kit") for using WLW with my custom written blog. All basic actions such as adding, updating, retrieving and deleting an entry are working "fine".
Although, right now I'm a little stuck when trying to implement the authentication. I can't seem to understand how WLW manages the authentication with AtomPub services.
I've tried to implement it on my side by checking the Authorization header. If not present sending the Unauthorized header etc... but their fails WLW on me.
I also checked all headers send by WLW (for exemple when adding an entry) but I can't seem to find anything related to authentication.
I must say that the WCF service currently is hosted in the same site as my website. And the IIS authentication is set to Unauthorized and Forms. All others are disabled.
Can anyone help me into the right direction? Some interesting websites for example explaining this? (something I have missed in my searches on the web).
Thanks
I had to write an atompub service for the Live Writer about an year ago. These blog posts helped me a lot at that time: http://jcheng.wordpress.com/2007/10/15/how-wlw-speaks-atompub-introduction/. For your case you may look at part 2. In short - "Use Basic, Digest, or X-WSSE over HTTP or HTTPS". I used the basic authentication and had to use this library MADAM http://msdn.microsoft.com/en-us/library/aa479391.aspx to get forms and basic authentication work together. I hope this helps.