[Music]
Hi my name is Matthew Roknich I am a
developer evangelist here at DocuSign.
I'm here today with Mike Roseleip who is a
development manager. Mike, thank you so
much for being on the show.
>> Thanks Matt. >> So Mike how long have you
been in the software world?
>>I started in software in 1985 so it's
been quite a while. >> Wow. >> Yeah I started it
right out of college at Boeing
and back then we were working with a lot
of Unix workstations and Boeing had
every brand imaginable, so yeah our job
was to write graphics libraries that
would work across those different
stations and let you build apps on top
of it in just one abstract layer.
Pretty cool, but I was there for about 10
years. I did a lot of other projects too,
but after that I moved to a small
startup in Seattle called Primus and
there I met some of the people I work
with today. We did knowledge-based
software for sort of helpdesk systems.
I did a lot of API integration there.
After that I moved to Siemens Ultrasound
in Issaquah and there we created the
next generation of ultrasound machines that
Siemens produced. So yeah I get a lot of
UI development. Kind of mid-level stuff,
everything above the actual low level
software that runs ultrasound machines. >> Nice.
>> Everything the users sees so it was
pretty fun, a lot of fun. >> And then how
long have you been at DocuSign? >> Almost
nine years. >> 9 years. >> Yeah it's been
pretty exciting. When I started the
engineering team was about eight people.
We worked on everything so everyone had
a part-time job that was basically
everything we did. >> That's so cool. >> I
started out I worked on DocuSign for
Salesforce I worked on the integrator
key concept. One of my first projects was
to add like the Dropbox integration and
Box integrations to what we call the
classic console now and build out our
core logic. I then moved on to the REST
API so I started working on the REST API
six or seven years ago adding the first
function and then we added more people.
>> Yeah.
>> And we built v2 of the REST API and
it's been growing and evolving ever
since. >> Excellent. So you have a unique perspective
having been here for nine years. What in
your opinion what's the one thing that
brings you to work every day, like what's
the best part about developing at
DocuSign?
>> Well I think working with the people is
the best thing.
We have a really dynamic fun group of
engineers that love to create new
things, they love to work together, and
it's always fun it's always exciting to
be here. >> So most recently what have
you been working on? >> I'm working on
something new so I stepped away from the
API just recently and I'm working on a
new software that will support our new
Agreement Cloud concept. >> Secret stuff.
>> Secret stuff, yea.
>> Okay and then last thing you
worked on the API team was what?
>> Right with v2.1. >> Okay, awesome.
>> So v2.1 is really the result of years
of developing an API that we used
internally to reimagine our web console.
So when you log into DocuSign and you're
creating envelopes and you're sending
with templates and all the things that's
called the DocuSign experience and
that's created on the v2.1 software.
Along the way over these past years
we've been moving some of those features
into v2, but there comes a point where
you can't just move everything, because
there's incompatibilities and that's
really where versioning takes place.
>> Gotcha so I know there's a ton of
different functions and improvements
that we brought to v2.1. What are
the top three things that you like to
talk about related v2.1? Well I mean top
three features are bulk send is really
improved. In v2 you could only send using
one recipient but in v2.1 you can
have multiple recipients multiple tab
options you have a lot more flexibility
for sending a large number of envelopes
based on one template in a list. It's
really great. >> And then second one? >> Second
one is out our move towards better authentication.
In v2, and we supported this in v2 too,
but really moving towards a standard
OAuth authentication that's more secure
and allows you to create applications
that are maybe all-client-based and not
have a server side. >> Right. >> That's really
exciting. >> Great, and number three? >> Number three:
advanced support for \tabs
and templates so a lot of the features
you have in v2 you really had to work
with the console to get some of the
templates, but you can actually make
all those API calls now. Basically
anything that you see in the web
console you should be able to do in the
software. >> Very cool. So there are a ton of
awesome features, let's laser focus in on
the last and that is envelope queries.
Can you show us a demo of them live?
>> Yeah, yeah I'll show you from our demo
system. So on this left side I have the
v2 envelope queries and on the right
side I have e 2.1, just to show the
difference. So the urls are the same,
I just put the same URLs in even though
some of the query string parameters are
v2.1-specific it'll just be ignored in
the v2 case. So i'm going to send this
off and you'll see here's what comes
back from getting a list of envelopes so
this is the Get Envelopes Call and you
get kind of the shortlist for every
envelope in v2. Now if you look at the v2.1
call you get a bigger list. So you
get a list per envelope it's a bigger
list of information and what's
interesting here is things like all of
the different dates. So what's that
envelope status, it was created, when it
was sent, when it was last modified,
that's kind of at the top level now.
>> That's awesome. >> So yeah you can you get
that information and that's the kind of
thing that in our web experience we
would show when you go to the
manage page and you "say what are my
envelopes?" You know, "which ones have I
created?" You can also, because some of
those query string parameters you can
get what folders that envelope was in so
in the web console when you
choose the folders that's how they get
that information and now that's
available to v2.1 callers as well. We
also put recipient information in here
and so you can see who are the
recipients as part of that high-level
structure so that's just some of
the features of the new v2.1 Get
Envelopes Call. Other features are like
chunking, so you can get chunks of
envelopes at a time instead of waiting
for the big list of envelopes and that's
really important if you have a lot of
envelopes. >> High volume. >> High volume. Let's
switch over to just the single envelope
call. So getting a single envelope
you get sort of a little bit more
information in v2 than you did in the
list format, but in v2.1 you can ask for
a lot more. So on v2.1 I've added
parameters to get things like tabs and
folders and recipients and so now in the
v2.1 case I see the folders like I did
before, but I also see the recipients.
I see information about them and I
also see what tabs they have and the
status and the values of every tab so you
can see like in this as you've got...
this is signature tab and so you get
information about all the
tabs that are with it. So you don't have
to make as many API calls. If you're
getting a single envelope and all of the
information about it you should be able
to call the v2.1 Get Envelope Call and
get more information. And that's kind
of the theme for it with a lot of the v2.1
calls, is more information...
>> Consolidation. >> Right, a lot more
information inbound more information
outbound, but the formats have changed
and so we can't really do that in v2 and
be backward compatible we have to move
to a new version. >> Makes sense. >> So another
example of that is the get account
settings. So in v2 you'll see the account
settings was just a big list and you
would have to kind of iterate through
this list to find the properties and you
would never know what the property names
really were, right? They're just
added in and you would see
new ones if you looked and they
showed up. In v2.1 all the properties
are as structures so you see a
structured response these are built into
a class if you use our SDKs those
classes will have all those properties
you can look at them upfront you can go
to the documentation and see what values
they might have. You can also get
metadata so in this case you'll see some
metadata that says, "hey I can edit
this, I can actually send a new value for
that property in," or if it's read-only it
tells me "I can't do that." >> As opposed to
trial and error before? >> That's right,
that's right. If you send it in you might
get an error before and so you wouldn't
know until after you send it. If there's
a property that has multiple values
it'll list the potential values that you
can send in so you don't have to guess
at those values anymore.
So that's a nice feature and I'll just
show it's the same thing for
user settings. So here's the list again
at the user-level. Getting all the
information you don't know what the
properties are. In v2.1 you have
the whole list and you see all of the
information and that's the
structure again and I want to show that
metadata can be turned off. So if you
don't care about updates you're just
using that data you know to see what
your user can do you can set this to
'false' or remove the parameter and get
rid of all that metadata so you just get
the cleaner list of here's the
properties and here's the values. >> Alright
so if there any developers out there in
the community want to access to 2.1 head
over to developers.docusign.com. We have
guides to getting started, but other than
that thanks much for being here.
>> You're welcome.