Top Banner
INTEGRATING WITH THE ORCID API 19 APRIL 2017 [email protected] | orcid.org/0000-0002-6036-0903 ALAINNA THERESE WRIGLEY Senior ORCID Community Team Specialist (APAC)
20

Integrating with the ORCID API

Jan 23, 2018

Download

Nobuko Miyairi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Integrating with the ORCID API

INTEGRATING WITH THE ORCID API

19 APRIL 2017

[email protected] | orcid.org/0000-0002-6036-0903

ALAINNA THERESE WRIGLEYSenior ORCID Community Team Specialist (APAC)

Page 2: Integrating with the ORCID API

THE ORCID APIAPI Features

Public API

Freely available to anyone with

ORCID iD

• One (1) set of public API credentials (integration)

• Authenticate: Get a user’s authenticated ORCID iD

• Read (Public): Search/retrieve public data

Member API

ORCID member organizations

(Sandbox test environment

freely available to anyone)

• One (1) set of API credentials (integration)

• Read (Limited): Search/retrieve limited-access data

• Add: Post new data to a record

• Update: Edit or delete data you previously added

Premium Member API

Premium ORCID member

organizations

• Five (5) sets of API credentials (integrations)

• Webhooks: Receive notifications of updates

• Customised monthly reports (including email stats)

• Access to monthly public data file

Page 3: Integrating with the ORCID API

ORCID REGISTRY CONNECTIONS

Two models:

1. Connect via a vendor system

• Manuscript submission/publication

• Document/data repositories

• Profile systems

• CRIS systems

2. Develop a custom connection

Page 4: Integrating with the ORCID API

VENDOR CONNECTIONS

Publishing• eJournal Press• Editorial Manager• Open Journal Systems• ScholarOne

Document / data repositories

• ePrints• Hydra/Fedora

CRIS Systems• Converis• DSpace-CRIS• Elements• IRMA• Pivot• PlumX• Pure• Vivo

Find more: https://members.orcid.org/orcid-

enabled-systems

Page 5: Integrating with the ORCID API

CUSTOM INTEGRATIONS

Via the ORCID API

• Fine-tuned control & permissions

• Customized buttons, user flows, feedback

• Test & troubleshoot with ORCID team

Case examples: https://members.orcid.org/resources

Code examples: https://members.orcid.org/api/resources/code-examples

Page 6: Integrating with the ORCID API

COLLECT & CONNECT

Page 7: Integrating with the ORCID API

COLLECT

COLLECT researcher’s validated iDs using OAuth & ORCID API

Learn more: • ORCID workflows: https://members.orcid.org/api/workflow• ORCID integration points: https://members.orcid.org/api/integrate

Look for natural fits:

• Email to researcher

• Registration/sign in

• Account settings/profile

• Submission

Email invitation

ORCID as a sign in option

Page 8: Integrating with the ORCID API

INVOLVING THE USER

Key benefits:• You know the user controls the iD• User knows what’s going on/user choice• Privacy/ data control trends• Position/ strengthen your system as a

service

How?• Just a customized URL• Prior iD not needed

Page 9: Integrating with the ORCID API

STEP 1: AUTHORIZATION URL

https://sandbox.orcid.org/oauth/authorize? \

client_id=APP-E422WM33OPZWKKMQ& \

response_type=code& \

scope=/read-limited%20/activities/update& \

redirect_uri=https://my.URL.org& \

family_names=Researcher&given_names=Bob&

[email protected]&

state=UNI-ID

the base URL, displays ORCID sign in screen

who’s asking?

what permissions?

where the user goes next

personalize theexperience with data from your system

The OAuth call: part I

extra info to identify user to your system

Page 10: Integrating with the ORCID API

WHAT THE USER SEES

already signed insign in form

(already registered)registration form

Page 11: Integrating with the ORCID API

STEP 2: AUTH CODE & USER FEEDBACK

ORCID sends the user to your redirect, with an

auth code appended to the endhttps://my.URL.org?htA3yE&state=UNI-ID

• Save the code – you need it for the next step

• Display useful messages to the user

deny message

authorize message

Page 12: Integrating with the ORCID API

STEP 3A: TRANSFORM THE CODE INTO A TOKEN

Use the code to gain access using the ORCID API

https://sandbox.orcid.org/oauth/token

HEADER: accept:application/json

DATA:

client_id=APP-XT8FBKJRO3MR8WDRclient_secret=e285575c-4794-464b-a807-6f1c06b63grant_type=authorization_codecode=htA3yEredirect_uri=https%3A%2F%2Fmy.URL.org

our API calls always look like URLs (RESTful)

what format?

the auth codeconfirms that you arethe right one to get thisinformation

Page 13: Integrating with the ORCID API

STEP 3B: STORE THE RESULT

The result of the call"access_token" :"6710dfee-6aab-445b-a266-205dd9085273",

"token_type" :"bearer",

“refresh_token“ :"2d76d8d0-6fd6-426b-a017-61e0ceda0ad2",

"expires_in" :631138518,

"scope" :"/read-limited /activities/update",

"orcid" :"0000-0002-0491-7882",

"name" :"Bob Researcher"

store the access token, refresh token and iD with user’s info in your system

when permission expires (in seconds)

your permission – executed contract

iD & name for the person who gave permission

what you can do

✔ iD Collected!

Page 14: Integrating with the ORCID API

DISPLAY

DISPLAY iDs on your website & systems

Learn more: • iD display guidelines: https://orcid.org/trademark-and-id-display-guidelines

iDs in profiles: Tokyo Institute of Technology

iDs in journals: eLife

Page 15: Integrating with the ORCID API

DISPLAY: IDS IN METADATA<person_name>

<given_name>Tomoko</given_name><surname>Kato</surname><ORCID authenticated=“true”>

http://orcid.org/0000-0002-1469-0685</ORCID>

</person_name>

DOI metadata

iDs in search

Page 16: Integrating with the ORCID API

CONNECT

CONNECT your data to ORCID records• Request permission to write to records

• Store long-lived tokens & put codes

• Add data that you uniquely can assert

• Explain the connection to your users

Enable researchers to provide validated data to other systems they use

Learn more: • ORCID workflows: https://members.orcid.org/api/workflow• Auto-update: https://orcid.org/blog/2015/10/26/auto-update-has-arrived-orcid-records-move-next-level

Page 17: Integrating with the ORCID API

CONNECT VIA API TO SEND DATA

Verb: POST

BASE URL: https://api.sandbox.orcid.org/v2.0/0000-0002-0491-7882/employment

HEADERS: Content-type:application/vnd.orcid+xml

Authorization: Bearer 6710dfee-6aab-445b-a266-205dd9085273

DATA (if adding or updating):

the file [email protected]

endpoint: /education

/work/funding

/peer-reviewetc.

data format

access token from before

type of action, also: GET; PUT; DELETE

1. Your client sends data 2. Researcher’s record updated

researcher’s iD

your client’s name

Page 18: Integrating with the ORCID API

Saved time, better reporting, improved information flow

SYNCHRONIZE with your systems

• Continuously update researchers’ records with new or corrected activity

• Know when record is updated – register ORCID update notifications (webhooks)

• Search & Link wizard

SYNCHRONIZE

Learn more: • Webhooks: https://members.orcid.org/api/tutorial/webhooks• Auto-update: https://orcid.org/blog/2015/10/26/auto-update-has-arrived-orcid-records-move-next-level

Page 19: Integrating with the ORCID API

API DEMO: CREATE ON DEMAND

https://orcid-createondemand.herokuapp.com

Page 20: Integrating with the ORCID API

RESOURCESMembership / API comparison chart

https://orcid.org/about/membership/comparison

Member Support Centre

https://members.orcid.org

ORCID API documentation

https://members.orcid.org/api

ORCID API documentation

https://members.orcid.org/api/workflow

ORCID API users listserv

https://groups.google.com/group/orcid-api-users

ORCID message (XSD) (Github)

https://git.io/vXw5w

Questions? [email protected]