happyco api overview - happyco—public apideveloper.happy.co/downloads/overview.pdf · •data...

7
API Overview We love developers

Upload: others

Post on 22-May-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

API OverviewWe love developers

Page 2: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

• gRPC

• MyID

• Streaming API

• Data Model Overview

• Vendors

HappyCo API Topics

Page 3: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

• gRPC is a secure modern communication protocol open sourced by Google*. It bridges the gap between your platform and ours by acting as a translator — it let’s us all speak the same “language”.

• HappyCo uses gRPC for all of our public (and internal) APIs and have found it to robust while drastically decreasing development time.

• gRPC likely means you will integrate HappyCo much faster than you would with a typical REST API, as you won’t have to write boilerplate client code to serialize requests and deserialize responses.

• gRPC officially supports C++, Java, Python, Go, Ruby, C#, Node.js, Android Java, Objective-C, and PHP.

The future of APIs is here

gRPC

*(3-clause BSD license)

Page 4: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

• Sometimes it’s just easier to use your ID than to save ours.

• Our MyID system lets you create, find, update, and delete objects using IDs from your systems.

• You can always save our IDs too — all API requests accept either your ID or ours, and all of our API responses return both.

Because sometimes adding another column sucks

MyID

Page 5: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

• Sometimes you might need to be notified when things occur within the HappyCo platform, like when objects are created, or updated. Our streaming API is just for that.

• This notification problem is typically solved by web hooks or polling, both make tradeoffs that you have to deal with (more coding). We wanted to save you time so we designed our streaming API to make listening to events easy.

• You simply subscribe to an event stream with a handler (one API call) and let us do the heavy lifting*.

Better than polling and web-hooks

Streaming API

* Heavy Lifting:

• When multiple clients are connected, we’ll automatically de-duplicate event streams. e.g. in a clustered environment, each client can process a stream without worrying about other clients.

• If you’re unavailable to process an event, we’ll hold on to it until you’re next available.

• If you can’t process an event, we’ll hold on to it until you can deploy some new code.

Page 6: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

Asset

Data Model Overview

FolderAccountProperty Manager Co Black Stone Apartments Unit 201

TemplateMove In/Move Out

has

man

y

Inspection

Report TemplateStandard Report

SnapTextSnippets Library

Inspection Report

has

man

yha

s m

any

UserJindou Lee

has many

has

man

y

has

man

y

has

man

y

base

d on

styl

ed b

y

has

man

y

based on

has

acce

ss

Page 7: HappyCo API Overview - HappyCo—Public APIdeveloper.happy.co/downloads/overview.pdf · •Data Model Overview •Vendors HappyCo API Topics • gRPC is a secure modern communication

• As a vendor who integrates you might want to create and provision HappyCo accounts on the fly.

• Our vendor interface let you manage any account created by you automatically.

• Please contact us for access to this interface.

Account Management APIs

Vendors