Documenting APIs with Swagger. TC Camp. Peter Gruenbaum
|
|
- Phoebe Hall
- 5 years ago
- Views:
Transcription
1 Documenting APIs with Swagger TC Camp Peter Gruenbaum
2 Introduction } Covers } What is an API Definition? } YAML } Open API Specification } Writing Documentation } Generating Documentation } Alternatives to Swagger and the Open API Specification } Presentation and workbook at sdkbridge.com/downloads
3 Peter Gruenbaum } } PhD in Applied Physics from Stanford Commercial Software Developer } } } API Writer } } } } Boeing, Microsoft, start-ups C#, C++, Java, JavaScript, Objective-C Brought together writing and technology Since 2003 President of SDK Bridge Teacher: Programming at middle, high school, and college
4 API Definition } Swagger and the Open API Specification are ways to define an API } What is an API? } What can you do with an API definition?
5 What are APIs? } Application Programming Interface } It defines how two pieces of software talk to each other } For this seminar, we are talking about Web APIs
6 Web APIs API request Creative Commons Attribution 3.0. webdesignhot.com Not a full web page just the data! API response Creative Commons Attribution 3.0. openclipart.org The API definition describes: What requests are available What the response looks like for each request
7 REST } Swagger and the Open API Specification are designed for RESTful APIs } REST is a type of web API REpresentational State Transfer
8 REST Requests and Responses API request Please send me the state of my feed API response I am transferring to you some data that represents the state of your feed
9 How many public APIs are there?
10 API Definition File } File describes all the things you can do with an API } Lists every request you can make } Tells you how to make that request } Tells you what the response will look like
11 Why Create an API Definition? } Lets you design the API before implementing it } Helps with automated testing } Automatically create code in several languages } Can be used to automatically generate documentation } Documentation can be interactive
12 Swagger } Historically, Swagger was a specification for how to create an API definition file } After a new version (Swagger 2.0), the specification became the Open API Specification (OAS) } Swagger is now a collection of tools that use the Open API Specification } Many people still refer to OAS as Swagger
13 Open API Initiative } The Open API Initiative (OAI) is an organization created by a consortium of industry experts } Focused on creating, evolving, and promoting a vendor neutral description format. } It is in charge of the Open API Specification, but not in charge of any tools that use it } I will show you version 2.0, and talk about 3.0
14 Swagger Tools Swagger provides several tools: } Swagger Editor: Helps you write OAS files } Swagger CodeGen: Generates code in popular languages for using your API } Swagger UI: Generates documentation from OAS files } SwaggerHub: Hosted platform for designing and documenting APIs
15 Documentation example placeholder }
16 YAML Open API Specification Format Documenting APIs with Swagger
17 Open API Specification } You can use one of two data formats for OAS: } YAML } JSON } For this seminar, I ll use YAML
18 YAML } Stands foryaml Ain t Markup Language } It s not a Markup Language like HTML } Used for structured data instead of free-form content } Compared to JSON and XML, it minimizes characters } It's most often used for configuration files, rather than files passed over the web, like JSON
19 Key/value pairs } Key/value pairs are indicated by a colon followed by a space date: firstname: Peter
20 Levels } Levels are indicated by white space indenting } Cannot be a tab indent XML <name> <firstname>peter</firstname> <lastname>gruenbaum</lastname> </name> JSON name: { "firstname": "Peter" "lastname": "Gruenbaum" } YAML name: firstname: Peter lastname: Gruenbaum
21 Types } Types are determined from context } Example: string part_no: A4786 description: Photoresistor price: 1.47 float quantity: 4 integer
22 Quotes } In general, you don t need quotes around strings } Exception: something that will be interpreted as a number or boolean price: version: "11.47" company: SDK Bridge float string } Quotes can be either single ' or double "
23 Lists } Use a dash to indicate a list item } You don t need to declare the list cart: - part_no: A4786 description: Photoresistor price: 1.47 quantity: 4 - part_no: B3443 description: LED color: blue price: 0.29 quantity: 12
24 Multi-line strings } Because there are no quotation marks on strings, you need special characters for multiline strings } means preserve lines and spaces } > means fold lines } There are variations: -, +, etc. speech: Four score and seven years ago speech: > Four score and seven years ago Four score and seven years ago Four score and seven years ago
25 Comments } Comments are denoted with the # } Everything after # is ignored # LED part_no: B3443 description: LED color: blue price: 0.29 # US Dollars quantity: 12
26 Schemas } Although not officially part of YAML, OAS uses references for schemas } Used for request and response bodies } Use $ref to indicate a reference } Typically put the schema in a definitions section
27 Schema example schema: $ref: '#/definitions/user'... definitions: user: required: - username - id properties: username: type: string id: type: integer format: int64
28 Exercise 1: YAML } Write some simple YAML } Follow along in exercise book } Electronic copy available at sdkbridge.com/downloads
29 API Definition What s in an API Definition file? Documenting APIs with Swagger
30 What s an API Definition File? } A file that describes everything you can do with an API } Note: API means a collection of related requests } Server location } How security is handled (i.e., authorization) } All the available requests in that API } All the different data you can send in a request } What data is returned } What HTTP status codes can be returned
31 The Anatomy of a Request Method URL Query parameters POST Accept: application/json Content-type: application/json Headers { } "name": "Peter Gruenbaum", " ": "peter@sdkbridge.com" Body
32 URL } Example request URL: } Scheme } https } Host } api.muzicplayz.com } Base path } /v3 } Path } /playlist
33 Method } The HTTP method describes what kind of action to take } GET, POST, PUT, DELETE, etc.
34 Parameters } Example: } } Path Parameters } {playlist-id} } Query Parameters } language
35 Request Body } For some methods (POST, PUT, etc.) you can specify a request body, often in JSON } The body is treated as a parameter } You specify a schema for the request body
36 Response Body } In REST, the response body can be anything, but is most often structured data, such as JSON } The response object has a schema to describe the structured data } You can have a separate response object for each HTTP status code returned
37 Security } Security means authentication and authorization } Can be: } None } Basic Auth } API key } OAuth
38 Documentation } Human-readable descriptions of elements } For generating documentation } Add a description section for: } The API } Each operation (path and method) } Each parameter } Each response element } Will go into detail in the next section
39 Getting the information to create an OAS file } If you are asked to create an OAS file, how do you find the information? } Developers can provide rough documentation } Developers can provide sample requests and responses } Most common } You can figure it out from the code } Requires strong coding skills
40 Open API Specification Basics Defining Simple Requests Documenting APIs with Swagger
41 Open API Specification File } Choose an example and build a file } Company: example.com } Service for uploading and sharing photos } API base URL: }
42 Example
43 Adding a Request Let s define requests for getting photo albums Requests will have: } URL endpoint } HTTP Method } Path parameters } Query parameters } Also (covered later): } Request body } Responses
44 Example with query parameters GET
45 Example with path parameter GET
46 Data types } The data type can have several values } Includes: } Boolean } integer } number } string } array
47 Custom headers } Custom headers are treated as parameters } Standard headers (authorization, content format) are handled elsewhere
48 Documentation } Documentation is added using the description key } I will talk about this later in the workshop
49 Swagger Editor } Swagger provides an editor for Open API Specification files } Go to
50 Exercise 2: OAS Basics } Create an OAS file for a music system } The API manages playlists } Describe overall API information, paths, methods, and some parameters
51 Schemas Defining Request and Response Bodies Learn Swagger and the Open API Specification
52 Request and Response Bodies } Certain kinds of requests have extra data } POST, PUT, etc. } Called the request body } Typically data is formatted in JSON (or sometimes XML) } Nearly all responses return a response body } Also typically formatted in JSON
53 What is a schema? } The schema indicates the structure of the data } OAS schema object is based off the JSON Schema Specification } } What are the keys in key/value pairs? } What type of data are the values? } Can be many levels
54 $ref } $ref is a special OAS key that indicates that the value is a reference to a structure somewhere else in the YAML file
55 Request Body } Under parameters: } name just for reference (not shown in docs) } in set to body } required typically set to true } schema } Add a level } Key of $ref } Value of the reference path, in quotes
56 Example Request Body
57 Schema section } Create a key called definitions at the end of the file } Add a level and give it the name from the $ref value } Add a properties key } For each top level element in the JSON, add a key of its name. } Add a type key that says what type of data it is } Add other keys for other data (more later)
58 Example Schema
59 Schema objects } You can add other objects as values } Simply use a type of object } Then add a new level with properties: } And continue just like you did before
60 Schema objects with $ref } As you can imagine, this can add a lot of indentation } So you can use $ref from within your definition using the additionalproperties key
61 Schema array } You can also add arrays } Simply use a type of array } Then add a key of items } And define the type and any other properties
62 Schema array with $ref } For a more complex type, use $ref for the array items
63 Required } In requests, you can specify that certain elements are required or optional } Use the required key for this } Contains a list of all properties that are required
64 Response Body } Under response:, under the response code } schema: } Add a level } Key of $ref } Value of the reference path, in quotes } If the response is an array instead of an object, then add: } type: array } Note: you can have different schemas for different response codes
65 Example Response Note: The album schema is identical to the newalbum schema except it has an id
66 allof } In the previous example, album and newalbum had a lot of duplication } Can use the allof key to combine several objects into one
67 Headers and Examples } Responses can also have custom headers } You can include example bodies in OAS files } Refer to the Open API Specification on how these work } (Just search on Open API Specification )
68 Exercise 3: Schemas } Add to your OAS file } POST, PUT, and responses } Describe overall API information, paths, methods, and some parameters
69 Open API Specification Continued Security, errors, content types, and operation IDs Learn Swagger and the Open API Specification
70 Security } Security means what kind of authentication or authorization is required } Authentication: the user has correct username and password } Authorization: the user has access to this API and data
71 Security types } None } Used for getting publically available information } API key } Indicates that the app has permission to use the API } Basic Authentication } Username and password is included in a header } OAuth } Complex issuance of temporary token
72 How security is indicated } Each operation has a security key } Contains an array of security definition objects } Often just one element in the array } Security Definitions } The file contains a securitydefinitions key } Typically at the end } Contains security objects } Security object } Contains information needed for that type of security
73 None } When you do not have security } you don t need to do anything!
74 API key } Add security key to each operation } Use dash to indicate an array } Create name for definition and use empty bracket, since no data is needed } Add security definition } Add definition for that name in securitydefinition section } type: apikey } name: name of the header or query parameter to be used } in: query or header
75 API key example } Put a security key in the get section and securitydefinitions at the end of the file
76 Basic authentication } Add security key to an operation } Use dash to indicate an array } Create name for definition and use empty bracket, since no data is needed } Add security definition } Add definition for that name in securitydefinition section } type: basic
77 Basic auth example } Put a security key in the get section and securitydefinitions at the end of the file
78 OAuth } OAuth is too complicated to explain here } Add security key to request, like before } However, now you add scopes in the array } Add security definition } Add definition for that name in securitydefinition section } type: oauth2 } authorizationurl: URL where credentials are entered } tokenurl: URL for the token } flow: OAuth 2 flow (implicit, password, application or accesscode.) } scopes: list of scopes with descriptions
79 OAuth example } Put a security key in the get section and securitydefinitions at the end of the file
80 Errors } Errors are simply different response codes } Often APIs return a special structure with errors } Example 401 (Unauthorized) code returned {"errorcode": 13, "message": "Username not found"} } Should include schema for every potential status code } Refer to this in response
81 Error example
82 Content Types } Content types indicate the format of the data in the request and response bodies } This is done through the Content-Type header } You can specify this for: } The whole API } Individual operations } Use the consumes and produces keys } consumes for requests, produces for responses } Use the Content-Type value (for example, application/json)
83 Example Content-Type
84 Operation ID } Although it doesn t show up in the documentation, you can optionally add an operation ID to each request } Some tools will use this
85 Exercise 4: OAS Continued } Add to your OAS file: } Security, } Errors, } Content type } Operation IDs
86 Documentation Adding Descriptions Document APIs Using Swagger
87 Autogenerated Documentation } Tools (including Swagger) take OAS files and generate HTML documentation to put on the web } If the OAS file is kept up to date, then the documentation is likely to be more accurate than if you wrote the docs manually } Autogenerated documentation allows you to try out requests from within the documentation
88 The Anatomy of a Request Method URL Query parameters POST Accept: application/json Content-type: application/json Headers { } "name": "Peter Gruenbaum", " ": "peter@sdkbridge.com" Body
89 description key } Use the description key to add documentation } Add description key to: } API Info } Operations (get, post, etc.) } Parameters } Responses } Schema definitions
90 Swagger Editor Placeholder } Bring up example on editor
91 Markdown } In the description value, you can use Markdown } Markdown is a simple Markup language } Bold, italic, images, links, etc.
92 Markdown Placeholder } Bring up example on editor
93 Exercise 5: Documentation } Add documentation to your example } See the effects on the right side of the page
94 Swagger Tools Editor, CodeGen, UI, and Core Tooling Learn Swagger and the Open API Specification
95 Swagger Tools Placeholder }
96 Swagger UI } Autogenerated documentation } For example, pet store documentation } There are other ways to create autogenerated documentation }
97 SwaggerHub } Provides all of the tools on a hosted platform } As of this video: } Free for one user } $75/month for team of 5 } Advantages: } Don t have to install and host } Designed for collaboration
98 Exercise 6: SwaggerHub } Try out SwaggerHub for free } Import your OAS file
99 OAS 3.0 The Next Generation Document APIs with Swagger
100 Several changes from 2.0 } Improved overall structure } Support for callbacks } Links to express relationships between operations } The JSON schema includes support for: oneof, anyof and not } Improved parameter descriptions } Better support for multipart document handling } Cookie parameters } Body parameters have their own entity } Better support for content-type negotiation } The security definitions have been simplified and enhanced
101 JSON Alternative to YAML Learn Swagger and the Open API Specification
102 Why JSON? } Older format } Some people may be more familiar with it than YAML } Some tools only read JSON
103 YAML vs JSON } In JSON, strings have quotes around them } YAML indents are like JSON curly brackets { } } YAML lists are like JSON arrays [ ]
104 Comparison YAML info: version: "0.1.0" title: Meme Meister description: Meme API { } JSON "info": { "version": "0.1.0" "title": "Meme Meister" "description": "Meme API" }
105 Arrays YAML consumes: - image/jpeg - image/gif - image/png { } JSON "consumes": [ "image/jpeg", "image/gif", "image/png", ]
106 Advantages of YAML } Fewer characters } Easier to read } Swagger uses YAML as the default } However, you can use the Swagger Editor with JSON just like you use it with YAML
107 Alternatives to Swagger Other autogenerated doc tools Document APIs with Swagger
108 Alternatives to Swagger } Swagger is great, but } Some people think it could be better } In particular, the autogenerated documentation } Not responsive, not that pretty, etc. } In theory, you can take OAS files and do whatever you want with them } There are several alternatives to Swagger } Disclaimer: I am not an expert in any of these
109 DapperDox }
110 Swagger UI Variants }
111 ReadMe.io }
112 StopLight.io }
113 Alternatives to OAS } OAS is just one way to define an API } There are other specifications that have been created } RAML } API Blueprint } Not as popular as OAS
114 Resources } I d Rather Be Writing - Tom Johnson } Sarah Maddox } SDK Bridge Online courses } Last page of workbook has links with discounts
115 Exercise 7: Final Project } Create an OAS file for a Meme API from scratch } Not an easy assignment } In the electronic version of the workbook only
116 Questions?
Documenting RESTful APIs Using Swagger and the Open API Specification. Workbook Jan 26, 2018 Peter Gruenbaum
Documenting RESTful APIs Using Swagger and the Open API Specification Workbook Jan 26, 2018 Peter Gruenbaum Exercise 1: YAML... 3 Exercise 2: OAS Basics... 5 Exercise 3: Schemas... 11 Exercise 4: OAS Continued...
More informationUnderstanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018
Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful
More informationWriting REST APIs with OpenAPI and Swagger Ada
Writing REST APIs with OpenAPI and Swagger Ada Stéphane Carrez FOSDEM 2018 OpenAPI and Swagger Ada Introduction to OpenAPI and Swagger Writing a REST Ada client Writing a REST Ada server Handling security
More informationIntroduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum
Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...
More informationREST API Documentation Using OpenAPI (Swagger)
REST API Documentation Using OpenAPI (Swagger) Modern technology for modern web frontends Martyn Kemp, Consultingwerk Ltd. martyn.kemp@consultingwerk.de http://www.consultingwerk.de/ 2 Consultingwerk Ltd.
More informationPrivacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras
Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 07 Tutorial 2 Part 1 Facebook API Hi everyone, welcome to the
More informationX-Road Message Protocol for REST
X-Road Message Protocol for REST XRDDEV-121 - As an X-Road user I want that a draft version of X-Road Message Protocol for REST is created so that I know how REST clients and services will communicate
More informationWeb Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel
Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Introduction: PHP (Hypertext Preprocessor) was invented by Rasmus Lerdorf in 1994. First it was known as Personal Home Page. Later
More informationPrivacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras
Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 08 Tutorial 2, Part 2, Facebook API (Refer Slide Time: 00:12)
More informationLearning Objectives. Description. Your AU Expert(s) Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co.
PL17257 JavaScript and PLM: Empowering the User Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co. Learning Objectives Using items and setting data in a Workspace Setting Data in Related Workspaces
More informationLearning vrealize Orchestrator in action V M U G L A B
Learning vrealize Orchestrator in action V M U G L A B Lab Learning vrealize Orchestrator in action Code examples If you don t feel like typing the code you can download it from the webserver running on
More informationREST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0
REST API Operations 8.0 Release 12/1/2015 Version 8.0.0 Table of Contents Business Object Operations... 3 Search Operations... 6 Security Operations... 8 Service Operations... 11 Business Object Operations
More informationRed Hat 3Scale 2-saas
Red Hat 3Scale 2-saas API Documentation For Use with Red Hat 3Scale 2-saas Last Updated: 2018-07-11 Red Hat 3Scale 2-saas API Documentation For Use with Red Hat 3Scale 2-saas Legal Notice Copyright 2018
More informationBlack Box DCX3000 / DCX1000 Using the API
Black Box DCX3000 / DCX1000 Using the API updated 2/22/2017 This document will give you a brief overview of how to access the DCX3000 / DCX1000 API and how you can interact with it using an online tool.
More informationIntro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming
Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals
More informationLearning and Development. UWE Staff Profiles (USP) User Guide
Learning and Development UWE Staff Profiles (USP) User Guide About this training manual This manual is yours to keep and is intended as a guide to be used during the training course and as a reference
More informationCIS 45, The Introduction. What is a database? What is data? What is information?
CIS 45, The Introduction I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won t last out the year. The editor
More informationLifehack #1 - Automating Twitter Growth without Being Blocked by Twitter
Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter Intro 2 Disclaimer 2 Important Caveats for Twitter Automation 2 Enter Azuqua 3 Getting Ready 3 Setup and Test your Connection! 4
More informationDevelop Mobile Front Ends Using Mobile Application Framework A - 2
Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4
More informationImagery International website manual
Imagery International website manual Prepared for: Imagery International Prepared by: Jenn de la Fuente Rosebud Designs http://www.jrosebud.com/designs designs@jrosebud.com 916.538.2133 A brief introduction
More informationIf you re a Facebook marketer, you re likely always looking for ways to
Chapter 1: Custom Apps for Fan Page Timelines In This Chapter Using apps for Facebook marketing Extending the Facebook experience Discovering iframes, Application Pages, and Canvas Pages Finding out what
More informationFurl Furled Furling. Social on-line book marking for the masses. Jim Wenzloff Blog:
Furl Furled Furling Social on-line book marking for the masses. Jim Wenzloff jwenzloff@misd.net Blog: http://www.visitmyclass.com/blog/wenzloff February 7, 2005 This work is licensed under a Creative Commons
More informationThe name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.
Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that
More informationWeb Scraping XML/JSON. Ben McCamish
Web Scraping XML/JSON Ben McCamish We Have a Lot of Data 90% of the world s data generated in last two years alone (2013) Sloan Sky Server stores 10s of TB per day Hadron Collider can generate 500 Exabytes
More informationDreamweaver CS6. Level 1. Topics Workspaces Basic HTML Basic CSS
Level 1 Topics Workspaces Basic HTML Basic CSS Tour the Workspace The arrangement of panels and menus you use to interact with a document is called the workspace. Much of Illustrator is customizable: you
More informationElliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens
Elliotte Rusty Harold elharo@ibiblio.org August 2018 From XML to Flat Buffers: Markup in the Twenty-teens Warning! The Contenders XML JSON YAML EXI Protobufs Flat Protobufs XML JSON YAML EXI Protobuf Flat
More informationChopra Teachers Directory Listing Manual
Chopra Teachers Directory Listing Manual Table of Contents Introduction... 1 Login... 2 Managing your Directory Listing... 3 Locations... 3 Adding or Editing a Location... 4 Managing Featured Teacher Information...
More informationCreating Your Web Site
Creating Your Web Site Students who are serious about wanting to be writers must create their own web sites to display their work. This is what professionals want to see an easy place to access your work
More informationZipRecruiter Apply Webhook Documentation. ZR ATS Integration Team. Version 1.1,
ZipRecruiter Apply Webhook Documentation ZR ATS Integration Team Version 1.1, 2017-10-12 Table of Contents Introduction................................................................................ 1
More informationConnexion Documentation
Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................
More informationCRM Service Wrapper User Guide
Summary This document details the usage of the CRM Service Wrapper by xrm. The service wrapper allows you to communicate with a Microsoft Dynamics CRM application (called CRM for convenience in this document)
More informationXML and API Documentation
ATLauncher XML and API Documentation Version 1.0.22 Last Updated: 18/10/2013 Table of Contents XML Introduction... 2 Basic Layout... 3 ... 4 ... 5 ... 7 ... 8 Mod Types...
More informationOpenAPI development with Python. 11 July 2017 Takuro Wada
OpenAPI development with Python EuroPython2017@Rimini, 11 July 2017 Takuro Wada Hi Takuro Wada Kabuku Inc. Software Engineer - Speaker of EuroPython 2016, PyConJP 2015 - Member of swagger codegen technical
More informationClient Side JavaScript and AJAX
Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is
More informationGETTING STARTED GUIDE
SETUP GETTING STARTED GUIDE About Benchmark Email Helping you turn your email list into relationships and sales. Your email list is your most valuable marketing asset. Benchmark Email helps marketers short
More informationSonatype CLM - Release Notes. Sonatype CLM - Release Notes
Sonatype CLM - Release Notes i Sonatype CLM - Release Notes Sonatype CLM - Release Notes ii Contents 1 Introduction 1 2 Upgrade instructions 2 3 Sonatype CLM for Bamboo 3 4 Sonatype CLM 1.13 4 5 Sonatype
More informationWEB API. Nuki Home Solutions GmbH. Münzgrabenstraße 92/ Graz Austria F
WEB API v 1. 1 0 8. 0 5. 2 0 1 8 1. Introduction 2. Calling URL 3. Swagger Interface Example API call through Swagger 4. Authentication API Tokens OAuth 2 Code Flow OAuth2 Authentication Example 1. Authorization
More informationGetting Started with Amicus Document Assembly
Getting Started with Amicus Document Assembly How great would it be to automatically create legal documents with just a few mouse clicks? We re going to show you how to do exactly that and how to get started
More informationINFOPOP S UBB.CLASSIC SOFTWARE. User Guide. Infopop Corporation Westlake Avenue North Suite 605 Phone Fax
INFOPOP S UBB.CLASSIC SOFTWARE User Guide Infopop Corporation 1700 Westlake Avenue North Suite 605 Phone 206.283.5999 Fax 206.283.6166 Document Last Revised: 6/12/02 (UBB.classic version 6.3.1) Infopop,
More informationSenior Project: Calendar
Senior Project: Calendar By Jason Chin June 2, 2017 Contents 1 Introduction 1 2 Vision and Scope 2 2.1 Business Requirements...................... 2 2.1.1 Background........................ 2 2.1.2 Business
More informationMobile App:IT. Methods & Classes
Mobile App:IT Methods & Classes WHAT IS A METHOD? - A method is a set of code which is referred to by name and can be called (invoked) at any point in a program simply by utilizing the method's name. -
More informationScience-as-a-Service
Science-as-a-Service The iplant Foundation Rion Dooley Edwin Skidmore Dan Stanzione Steve Terry Matthew Vaughn Outline Why, why, why! When duct tape isn t enough Building an API for the web Core services
More informationAuthoring OpenStax Documents in Apache OpenOffice Writer *
OpenStax-CNX module: m60462 1 Authoring OpenStax Documents in Apache OpenOffice Writer * R.G. (Dick) Baldwin This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License
More informationThe next generation of Google APIs
The next generation of Google APIs Ade Oshineye www.oshineye.com/+ Let s talk about the future This is not a vendor pitch This. Is. Not. A. Vendor. Pitch. I work on the Google+ Project www.oshineye.com/+
More informationConnecting SQL Data Sources to Excel Using Windward Studios Report Designer
Connecting SQL Data Sources to Excel Using Windward Studios Report Designer Welcome to Windward Studios Report Designer Windward Studios takes a unique approach to reporting. Our Report Designer sits directly
More informationSitefinity Manual. Webmasters. University of Vermont College of Medicine. Medical Communications
Sitefinity Manual Webmasters University of Vermont College of Medicine Medical Communications Table of Contents Basics... 2 Navigating to the Website... 3 Actions.. 4 Titles & Properties. 5 Creating a
More informationSalesforce IoT REST API Getting Started Guide
Salesforce IoT REST API Getting Started Guide Version 42.0, Spring 18 @salesforcedocs Last updated: March 9, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered
More informationXML. Jonathan Geisler. April 18, 2008
April 18, 2008 What is? IS... What is? IS... Text (portable) What is? IS... Text (portable) Markup (human readable) What is? IS... Text (portable) Markup (human readable) Extensible (valuable for future)
More informationRelease Notes Tripolis Dialogue
Release Notes Tripolis Dialogue Version 3.23 September 2016 1 TABLE OF CONTENTS Improvements and features 3 REST API API 3.0 3 TImezone support for campaigns 4 Campaign node details in preview 5 Changes
More informationAzure Developer Immersions API Management
Azure Developer Immersions API Management Azure provides two sets of services for Web APIs: API Apps and API Management. You re already using the first of these. Although you created a Web App and not
More informationNinox API. Ninox API Page 1 of 15. Ninox Version Document version 1.0.0
Ninox API Ninox Version 2.3.4 Document version 1.0.0 Ninox 2.3.4 API 1.0.0 Page 1 of 15 Table of Contents Introduction 3 Obtain an API Key 3 Zapier 4 Ninox REST API 5 Authentication 5 Content-Type 5 Get
More informationXML Processing & Web Services. Husni Husni.trunojoyo.ac.id
XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3
More informationReading How the Web Works
Reading 1.3 - How the Web Works By Jonathan Lane Introduction Every so often, you get offered a behind-the-scenes look at the cogs and fan belts behind the action. Today is your lucky day. In this article
More informationThis is the lesson workshop to create a test page in DIVI
SCWCLUBS.COM Websites are a very important forms of communication. People thinking about Arizona are comparing communities. People in SCW are comparing clubs. Club members are checking information. Keep
More informationHypertext Markup Language, or HTML, is a markup
Introduction to HTML Hypertext Markup Language, or HTML, is a markup language that enables you to structure and display content such as text, images, and links in Web pages. HTML is a very fast and efficient
More informationBlackBerry Developer Summit. A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework
BlackBerry Developer Summit A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework Page 2 of 21 Table of Contents 1. Workbook Scope... 4 2. Compatibility... 4 3. Source code download
More informationHello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going.
Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going. And I ve included a slide about me. You might wonder why, since I only have five minutes, but don t worry. Widgets
More informationBuilding RESTful Web Services with. Presented by Steve Ives
Building RESTful Web Services with Presented by Steve Ives We ve talked about what it is We ve talked about what it does Let s talk about how to use it Requirements & Obtaining Visual Studio 2017 15.8
More informationLab 2. Complete the Process API Layer for Order Fulfillment API
Lab 2 Complete the Process API Layer for Order Fulfillment API Overview Let us now orchestrate our back-end systems to fulfill the order. We ll post the order to the Order API. The implementation will
More informationGmail Integration for Salesforce and Dynamics 365
Gmail Integration for Salesforce and Dynamics 365 PRIVACY POLICY LAST MODIFIED: MARCH 12, 2019 2019 Introduction Welcome to Gmail Integration for Salesforce and Dynamics 365, a service provided by Akvelon,
More informationCSCE Java. Dr. Chris Bourke. Prior to Lab. Peer Programming Pair-Up. Lab 15 - Databases & Java Database Connectivity API
CSCE 155 - Java Lab 15 - Databases & Java Database Connectivity API Dr. Chris Bourke Prior to Lab Before attending this lab: 1. Read and familiarize yourself with this handout. Some additional resources
More informationIntroduction & Basics! Technical Foundation! Authentication! Obtaining a token!... 4 Using the token! Working with notes!...
Simplenote API2 Documentation v2.1.3: (April 18, 2011). Recent documentation changes are listed on the last page. Contents Introduction & Basics!... 3 Technical Foundation!... 3 Authentication!... 4 Obtaining
More informationWeek - 01 Lecture - 04 Downloading and installing Python
Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and
More informationprintf( Please enter another number: ); scanf( %d, &num2);
CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful
More informationAEM Forms: Rest API Integration as a Datasource
AEM Forms: Rest API Integration as a Datasource Samit Narula, Technical Architect, Overview The Swagger (OpenAPI) specification is quite detailed and defines various directives, constraints, and configurations
More informationYour Auth is open! Oversharing with OpenAuth & SAML
Your Auth is open! Oversharing with OpenAuth & SAML Andrew Pollack Northern Collaborative Technologies 2013 by the individual speaker Sponsors 2013 by the individual speaker Who Am I? Andrew Pollack President
More informationWriting your first Web Data Connector
Welcome # T C 1 8 Writing your first Web Data Connector Brett Taylor Staff Software Engineer Tableau Ashwin Sekar Software Engineer Tableau Enabling Integrations for Developers Embedded Analytics Integrations
More informationCisco Spark API Workshop
BRING YOUR LAPTOP! Cisco Spark API Workshop Eugene Morozov Technical Manager CEE-RCIS, N&B 21 April 2018 Fulda What is this? This session IS NOT: The upcoming Emerging Technologies Workshop Experimenting
More informationCopyright 2014 Blue Net Corporation. All rights reserved
a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed
More informationThis tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc.
About the Tutorial JSON or JavaScript Object Notation is a lightweight text-based open standard designed for human-readable data interchange. The JSON format was originally specified by Douglas Crockford,
More informationWebsite Updates Made Easy
Built by Packerland Websites, Managed by You You will learn: How to log into your website to make changes How to update the Home, About Us & other pages Quick tips for success How to add photos, links,
More informationCreating a REST API which exposes an existing SOAP Service with IBM API Management
Creating a REST API which exposes an existing SOAP Service with IBM API Management 4.0.0.0 2015 Copyright IBM Corporation Page 1 of 33 TABLE OF CONTENTS OBJECTIVE...3 PREREQUISITES...3 CASE STUDY...4 USER
More informationUsing Dreamweaver CC. 5 More Page Editing. Bulleted and Numbered Lists
Using Dreamweaver CC 5 By now, you should have a functional template, with one simple page based on that template. For the remaining pages, we ll create each page based on the template and then save each
More informationGoLive will first ask you if your new site will be for one individual or a work group; select for a Single User, and click Next.
Getting Started From the Start menu, located the Adobe folder which should contain the Adobe GoLive 6.0 folder. Inside this folder, click Adobe GoLive 6.0. GoLive will open to its initial project selection
More informationUsing PowerPoint - 1
Using PowerPoint - 1 Introduction to the course. Before we start, we need to know what power point is. I m sure most of you know about ppt, but for those of you who may be new to this: [1a-c] When you
More informationIntroduction to RESTful Web Services. Presented by Steve Ives
1 Introduction to RESTful Web Services Presented by Steve Ives Introduction to RESTful Web Services What are web services? How are web services implemented? Why are web services used? Categories of web
More informationCreate-A-Page Design Documentation
Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship
More informationIntro to XML. Borrowed, with author s permission, from:
Intro to XML Borrowed, with author s permission, from: http://business.unr.edu/faculty/ekedahl/is389/topic3a ndroidintroduction/is389androidbasics.aspx Part 1: XML Basics Why XML Here? You need to understand
More informationWeb Design Course Syllabus and Course Outline
Web Design Course Syllabus and Course Outline COURSE OVERVIEW AND GOALS In today's world, web pages are the most common medium for sharing ideas and information. Learning to design websites is an incredibly
More informationCivil Engineering Computation
Civil Engineering Computation First Steps in VBA Homework Evaluation 2 1 Homework Evaluation 3 Based on this rubric, you may resubmit Homework 1 and Homework 2 (along with today s homework) by next Monday
More informationUsing Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links
Using Dreamweaver CC 4 Creating a Template Now that the main page of our website is complete, we need to create the rest of the pages. Each of them will have a layout that follows the plan shown below.
More informationAuthoring World Wide Web Pages with Dreamweaver
Authoring World Wide Web Pages with Dreamweaver Overview: Now that you have read a little bit about HTML in the textbook, we turn our attention to creating basic web pages using HTML and a WYSIWYG Web
More informationAdd Your Product to Clickbank
MODULE 3 LESSON 8 Add Your Product to Clickbank 2013 Mark Bishop NicheSynergy.com 1 Niche Synergy Table of Contents Disclaimer... 2 Why use Clickbank instead of another platform?... 3 The most important
More informationSecurity Workbook. Version 1: Spring 13. Last updated: February 22, 2013
Version 1: Spring 13 Security Workbook Last updated: February 22, 2013 Copyright 2000 2013 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com, inc., as
More informationWelcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay.
Welcome Back! Now that we ve covered the basics on how to use templates and how to customise them, it s time to learn some more advanced techniques that will help you create outstanding ebay listings!
More informationDesigning RESTful Web Applications. Ben Ramsey
Designing RESTful Web Applications Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationKyle Rainville Littleton Coin Company
Kyle Rainville Littleton Coin Company What is JSON? Javascript Object Notation (a subset of) Data Interchange Format Provides a way for communication between platforms & languages Derived from Javascript
More informationContents. 1. Using Cherry 1.1 Getting started 1.2 Logging in
1 Contents 1. Using Cherry 1.1 Getting started 1.2 Logging in 2. Site Page Hierarchy Management 2.1 Page Addition 2.2 Page Deletion 2.3 Editing Page Details 3. Page Content Modification 3.1 Page Revisions
More informationModern Online Radio with Liquidsoap
Modern Online Radio with Liquidsoap Tony Miller This book is for sale at http://leanpub.com/modernonlineradiowithliquidsoap This version was published on 2015-04-21 This is a Leanpub book. Leanpub empowers
More informationWho should use this manual. Signing into WordPress
WordPress Manual Table of Contents Who should use this manual... 3 Signing into WordPress... 3 The WordPress Dashboard and Left-Hand Navigation Menu... 4 Pages vs. Posts... 5 Adding & Editing Your Web
More informationEXPERIENCES MOVING FROM DJANGO TO FLASK
EXPERIENCES MOVING FROM DJANGO TO FLASK DAN O BRIEN, VP OF ENGINEERING CRAIG LANCASTER, CTO Jana Mobile Inc. www.jana.com WHO WE ARE Jana is a startup company in Boston connecting advertising and marketing
More informationTutorial: Building the Services Ecosystem
Tutorial: Building the Services Ecosystem GlobusWorld 2018 Steve Tuecke tuecke@globus.org What is a services ecosystem? Anybody can build services with secure REST APIs App Globus Transfer Your Service
More informationLUCITY REST API INTRODUCTION AND CORE CONCEPTS
LUCITY REST API INTRODUCTION AND CORE CONCEPTS REST API OFFERINGS Lucity Citizen Portal REST API Lucity REST API Both products are included in our REST API Historically we also offered a COM API and a.net
More informationBiocomputing II Coursework guidance
Biocomputing II Coursework guidance I refer to the database layer as DB, the middle (business logic) layer as BL and the front end graphical interface with CGI scripts as (FE). Standardized file headers
More informationDeveloping Online Databases and Serving Biological Research Data
Developing Online Databases and Serving Biological Research Data 1 Last Time HTML Hypertext Markup Language Used to build web pages Static, and can't change the way it presents itself based off of user
More informationContents OVERVIEW... 3
Contents OVERVIEW... 3 Feature Summary... 3 CONFIGURATION... 4 System Requirements... 4 ConnectWise Manage Configuration... 4 Configuration of Manage Login... 4 Configuration of Integrator Login... 5 Option
More informationAndroid Basics Nanodegree Syllabus
Android Basics Nanodegree Syllabus Before You Start This is an entry-level, single term Nanodegree program with no prior programming experience required. Support Options We are here to support you every
More informationEcocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015
Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 1 Table of Contents 1. Introduction 2 1.1. Client Description 1.2. Product Vision 2. Requirements. 2 2.1. Functional
More informationUsing Dreamweaver. 5 More Page Editing. Bulleted and Numbered Lists
Using Dreamweaver 5 By now, you should have a functional template, with one simple page based on that template. For the remaining pages, we ll create each page based on the template and then save each
More informationEMPOWER2018 Quick Base + Workato Workjam
EMPOWER2018 Quick Base + Workato Workjam Prerequisites Thank you for your interest in the Workjam. We are excited to have you on board. Before you get cracking to build your very own integration, below
More information