Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

POST /users/sso

Single Sign On for patient and provider.

This is disabled by default, you need to contact admin@vsee.com to request for it.

SSO process will create a user record on VSee side when you first call this API and will map to and return existing user record for further requests.

Parameters

Parameter

Type

Description

first_name

String

Required

last_name

String

Required

dob

String

Optional

type

Integer

200: Member, 400: Provider, 600: Guest User

code

String

Required if type is 200 or 400 / Max length: 128 character
code is a unique user identifier on your end. VSee will store the code for this user record and next time you call SSO, we will return you the same existing user.

email

String

Optional

username

String

Optional - system will generate one as fallback

disable_emails

Integer

Optional - set to 1 - if you want user to disable all email notification

Response

Note: you can use the data.token.token return here to redirect user from your portal to VSee Clinic portal, please see Workflows section.

Guest SSO

curl -X POST
    -H "X-AccountCode: vclinic"
    -H "X-ApiKey: vclinic_api_key"  
    -H "Content-Type: multipart/form-data;"
    -F "first_name=John"
    -F "last_name=Smith"
    -F "dob=1990-01-01"
    -F "type=600"
    "https://api.vsee.me/api_v3/users/sso.json" -k

{
    "data": {
        "id": "10008",
        "code": "57d76ada0bb444f9b3057855ac1f0144",
        "first_name": "John",
        "last_name": "Smith",
        "username": "57d76ad979b843e6973e7855ac1f0144",
        "vseeid": "conciergedev+57d76ad979b843e6973e7855ac1f0144",
        "dob": "1990-01-01",
        "active": true,
        "tos": false,
        "subtype": "",
        "token": {
            "user_id": "10008",
            "token": "0437c1ce3b7079906e2ff247aad1adda",
            "expiry": 1473821786,
            "refresh_token": {
                "user_id": "10008",
                "token": "2693615fd2a46edf13334b3f35580e26",
                "expiry": 1476327386,
                "created": 1473735386
            }
        }
    }
}

Patient SSO

curl -X POST
    -H "X-AccountCode: vclinic"
    -H "X-ApiKey: vclinic_api_key"  
    -H "Content-Type: multipart/form-data;"
    -F "first_name=John"
    -F "last_name=Smith"
    -F "code=ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb"
    -F "type=200"
    "https://api.vsee.me/api_v3/users/sso.json" -k

{
    "data": {
        "id": "10008",
        "code": "ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
        "first_name": "John",
        "last_name": "Smith",
        "username": "57d76ad979b843e6973e7855ac1f0144",
        "vseeid": "conciergedev+57d76ad979b843e6973e7855ac1f0144",
        "active": true,
        "tos": false,
        "subtype": "",
        "token": {
            "user_id": "10008",
            "token": "0437c1ce3b7079906e2ff247aad1adda",
            "expiry": 1473821786,
            "refresh_token": {
                "user_id": "10008",
                "token": "2693615fd2a46edf13334b3f35580e26",
                "expiry": 1476327386,
                "created": 1473735386
            }
        }
    }
}

Provider SSO

curl -X POST
    -H "X-AccountCode: vclinic"
    -H "X-ApiKey: vclinic_api_key"
    -H "Content-Type: multipart/form-data;"
    -F "first_name=John"
    -F "last_name=Provider"
    -F "code=cd978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb"
    -F "type=400"
    "https://api.vsee.me/api_v3/users/sso.json" -k

{
    "data": {
        "id": "10008",
        "code": "cd978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
        "first_name": "John",
        "last_name": "Provider",
        "username": "57d76ad979b843e6973e7855ac1f0144",
        "vseeid": "conciergedev+57d76ad979b843e6973e7855ac1f0144",
        "active": true,
        "tos": false,
        "subtype": "",
        "token": {
            "user_id": "10008",
            "token": "0437c1ce3b7079906e2ff247aad1adda",
            "expiry": 1473821786,
            "refresh_token": {
                "user_id": "10008",
                "token": "2693615fd2a46edf13334b3f35580e26",
                "expiry": 1476327386,
                "created": 1473735386
            }
        }
    }
}

POST /users/login.json [public access]

Log user in and retrieve access token

Notes:

  1. user_type will be member(200), provider(400), …, etc

  2. There is 2 methods for log in

    1. active user

      1. use username and password field

    2. inactive user

      1. user email and email token sent to their email

      2. only after user update their password via API, their status will change to active and can log in via active user log in method above.

Parameters

Parameter

Type

Description

username

String

(for active user only)

password

String

(for active user only)

email

String

(for non-active user who has not set the password yet)

email_token

String

(for non-active user who has not set the password yet)

Response

Note: you can use the token.token return here to redirect user from your portal to VSee Clinic portal, please see Section Web log in using SSO Token.

curl -X POST -d "username=member-201&password=111111" https://api.vsee.me/api_v3/users/login.json

curl -X POST -d "email=an+1@vsee.com&email_token=ztpand" https://api.vsee.me/api_v3/users/login.json

{
  "data": {
    "user_id": "201",
    "token": "18c31fa10afb6f0857c803eb01a2b392",
    "expiry": 1473822319,
    "created": 1473735919,
    "user_type": "200",
    "refresh_token": {
      "user_id": "201",
      "token": "6338a6e42f407acf39d07a63442efb9d",
      "expiry": 1476327919,
      "created": 1473735919
    },
    "user": {
      "id": "201",
      "code": "54bdf165f02c4a0fbaac2603ac1f0144",
      "first_name": "Lemuel",
      "last_name": "Eveline (201)test",
      "username": "member-201",
      "vseeid": "conciergedev+richard",
      "dob": "1960-01-01",
      "email": "an+user1@vsee.com",
      "gender": 2,
      "photo": "https://api.vsee.me/api_v3/files/index/app_user/photo/201/?auth_code=e965cbbe29c1fc1e8076ff00733648625bd56ac0",
      "active": true,
      "tos": false,
      "phone": "800-555-5555",
      "subtype": "",
      "street_addr": "FIrst str 12",
      "state": "CA",
      "city": "San Francisco",
      "zip": "01234",
      "pcp_name": "",
      "pcp_phone": ""
    }
  }
}

GET /me

Parameters

Parameter

Type

Description

user_photo_size

String

(optional) User photo dimensions in {W}x{H} format. Example: 320x240.

Response

curl -X GET -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734" https://api.vsee.me/api_v3/me.json

{
    "data": {
        "id": "201",
        "first_name": "An",
        "last_name": "Nguyen",
        "username": "member-201",
        "dob": "1960-01-01",
        "email": "an+user1@vsee.com",
        "gender": 2,
        "active": true,
        "nationality": "Vietnamese",
        "tos": false,
            "photo": "https://api.vsee.me/api_v3/files/57e8c9a2-5c30-4b2c-b9d0-11d6ac1f0144?auth_code=8cd13ff90604b5820d2cfb16859054e9c1c074c4&time=1474873881&size=320x240",
    }
}

POST /me

Update current user profile

Parameters

Parameter

Type

Description

password

String

(optional) Should be sent alone if it’s first time setting password, or together with old_password to change it.

old_password

String

(optional) Should be sent when user is changing password

dob

Date

(optional) yyyy-mm-dd

gender

String

(optional) male / female

nationality

String

(optional) choose 1 from the list e.g Vietnamese

tos

Integer

0 - not accepting / 1 - accepted Terms of service

phone

String

(optional) phone number

first_name

String

(optional) First name

last_name

String

(optional) Last name

street_addr

String

(optional) Street addr

state

String

(optional) 2 letter state code (CA, AL)

zip

String

(optional) eg 07123

city

String

(optional) City

pcp_name

String

(optional) Primary Care Physician Name

pcp_phone

String

(optional) Primary Care Physician Phone (10 digit)

timezone

String

(optional) See timezone list below

photo

String

(optional) File id retrieved from POST /files API call to upload photo

To delete the uploaded avatar, pass empty string. latlong??? gps | Object | json object, min lat, long

Timezone List

$timezones = array(
        'America/Los_Angeles' => "(GMT-08:00) Pacific Time (US & Canada)",
        'America/Denver' => "(GMT-07:00) Mountain Time (US & Canada)",
        'America/Chicago' => "(GMT-06:00) Central Time (US & Canada)",
        'America/New_York' => "(GMT-05:00) Eastern Time (US & Canada)",
        'Pacific/Pago_Pago' => "(GMT-11:00) Coordinated Universal Time-11",
        'Pacific/Honolulu' => "(GMT-10:00) Hawaii",
        'America/Anchorage' => "(GMT-09:00) Alaska",
        'America/Mazatlan' => "(GMT-07:00) Chihuahua, La Paz, Mazatlan",
        'America/Guatemala' => "(GMT-06:00) Central America",
        'America/Mexico_City' => "(GMT-06:00) Guadalajara, Monterrey, Mexico City",
        'America/Regina' => '(GMT-06:00) Saskatchewan',
        'America/Bogota' => "(GMT-05:00) Bogota, Lima, Quito",
        'America/Caracas' => "(GMT-04:30) Caracas",
        'America/Asuncion' => "(GMT-04:00) Asuncion",
        'America/Halifax' => "(GMT-04:00) Atlantic Time (Canada)",
        'America/Santiago' => "(GMT-04:00) Santiago",
        'America/St_Johns' => "(GMT-03:30) St Johns, Newfoundland",
        'America/Buenos_Aires' => "(GMT-03:00) Buenos Aires",
        'America/Godthab' => "(GMT-03:00) Godthab, Greenland",
        'America/Montevideo' => "(GMT-03:00) Montevideo",
        'America/Sao_Paulo' => "(GMT-03:00) Sao Paulo, Brasilia",
        'America/Noronha' => "(GMT-02:00) Mid-Atlantic",
        'Atlantic/Azores' => "(GMT-01:00) Azores",
        'Atlantic/Cape_Verde' => "(GMT-01:00) Cape Verde Is.",
        'Europe/London' => "(GMT+00:00) Dublin, Edinburgh, Lisbon, London",
        'UTC' => "(GMT+00:00) Monrovia, Reykjavik",
        'Europe/Berlin' => "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
        'Europe/Prague' => "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",
        'Europe/Paris' => "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris",
        'Europe/Warsaw' => "(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb",
        'Africa/Windhoek' => "(GMT+01:00) Windhoek",
        'Africa/Johannesburg' => "(GMT+02:00) Johannesburg, Harare, Pretoria",
        'Asia/Beirut' => "(GMT+02:00) Beirut",
        'Europe/Bucharest' => "(GMT+02:00) Athens, Bucharest",
        'Europe/Istanbul' => "(GMT+02:00) Istanbul",
        'Asia/Damascus' => "(GMT+02:00) Damascus",
        'Asia/Jerusalem' => "(GMT+02:00) Jerusalem",
        'Africa/Cairo' => "(GMT+02:00) Cairo",
        'Europe/Kiev' => "(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",
        'Asia/Amman' => "(GMT+03:00) Amman",
        'Europe/Minsk' => "(GMT+02:00) Kalinignrad, Minsk",
        'Asia/Baghdad' => "(GMT+03:00) Baghdad",
        'Asia/Riyadh' => '(GMT+03:00) Kuwait, Riyadh',
        'Asia/Tehran' => "(GMT+03:30) Tehran",
        'Europe/Moscow' => "(GMT+04:00) Moscow, St. Petersburg, Volgograd",
        'Asia/Dubai' => "(GMT+04:00) Dubai, Abu Dhabi, Muscat",
        'Asia/Yerevan' => "(GMT+04:00) Yerevan",
        'Asia/Baku' => "(GMT+04:00) Baku",
        'Asia/Kabul' => "(GMT+04:30) Kabul",
        'Asia/Karachi' => "(GMT+05:00) Islamabad, Karachi",
        'Asia/Kolkata' => "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi",
        'Asia/Colombo' => "(GMT+05:30) Sri Lanka",
        'Asia/Kathmandu' => "(GMT+05:45) Kathmandu",
        'Asia/Yekaterinburg' => "(GMT+06:00) Ekaterinburg",
        'Asia/Dhaka' => "(GMT+06:00) Dhaka",
        'Asia/Rangoon' => "(GMT+06:30) Yangon",
        'Asia/Novosibirsk' => "(GMT+07:00) Novosibirsk",
        'Asia/Ho_Chi_Minh' => "(GMT+07:00) Hanoi, Hochiminh City, Bangkok",
        'Asia/Jakarta' => "(GMT+07:00) Jakarta",
        'Asia/Krasnoyarsk' => "(GMT+07:00) Krasnoyarsk",
        'Asia/Shanghai' => "(GMT+08:00) Shanghai, Beijing, Chongqing, Hong Kong, Urumqi",
        'Asia/Singapore' => "(GMT+08:00) Singapore, Kuala Lumpur",
        'Asia/Taipei' => "(GMT+08:00) Taipei",
        'Australia/Perth' => "(GMT+08:00) Perth",
        'Asia/Irkutsk' => "(GMT+09:00) Irkutsk",
        'Asia/Tokyo' => "(GMT+09:00) Osaka, Sapporo, Tokyo",
        'Asia/Seoul' => "(GMT+09:00) Seoul",
        'Australia/Darwin' => "(GMT+09:30) Darwin",
        'Australia/Adelaide' => "(GMT+09:30) Adelaide",
        'Australia/Brisbane' => "(GMT+10:00) Brisbane",
        'Pacific/Guam' => "(GMT+10:00) Guam, Port Moresby",
        'Asia/Yakutsk' => "(GMT+10:00) Yakutsk",
        'Australia/Sydney' => "(GMT+10:00) Canberra, Melbourne, Sydney",
        'Australia/Hobart' => "(GMT+10:00) Hobart",
        'Asia/Vladivostok' => "(GMT+11:00) Vladivostok",
        'Pacific/Fiji' => "(GMT+12:00) Fiji",
        'Asia/Magadan' => "(GMT+12:00) Magadan",
        'Pacific/Auckland' => "(GMT+12:00) Auckland, Wellington",
        'Pacific/Tongatapu' => "(GMT+13:00) Tongatapu, Nuku'alofa",
        'Pacific/Apia' => "(GMT+13:00) Samoa"
    )
);

Response

curl -X POST -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734"
-d "password=111111&dob=1983-10-02&nationality=Vietnamese"
https://api.vsee.me/api_v3/me.json

{
    "data": {
        "id": "201",
        "first_name": "An",
        "last_name": "Nguyen",
        "username": "member-201",
        "dob": "1960-01-01",
        "email": "an+user1@vsee.com",
        "gender": 2,
        "active": true,
        "nationality": "Vietnamese",
        "tos": true
    }
}

POST /users/logout

Parameters

Parameter

Type

Description

tokens

Array

Array of tokens to be destroyed, e.g ['token1','token2'] or string 'token1,token2'

Response

{
    "data": true
}

POST /tokens/refresh

Parameters

Parameter

Type

Description

refresh_token

String

Response

curl -X POST -d "refresh_token: 6366a7018a39536a1ef4b63626f8e734" https://api.vsee.me/api_v3/tokens/refresh.json

{
    "data": {
        "user_id": "201",
        "user_type": "200",
        "token": "b21ab6cb871fa452a1193f0fbcf400d5",
        "expiry": 1426236055,
        "user": {
            "id": "201",
            "code": "55011c6c5b5c4aed99624956c0a801ee",
            "username": "member-201",
            "first_name": "Kristopher",
            "last_name": "Nieves (201)",
            "email": "an+user1@vsee.com",
            "dob": "1960-01-01",
            "gender": "Female",
            "photo": null,
            "name": "Kristopher Nieves (201)"
        },
    }
}

POST /users/reset_password

Parameters

Parameter

Type

Description

email

String

Valid email to send reset password email

Response

curl -X POST -d "email=an+1@vsee.com" https://api.vsee.me/api_v3/users/reset_password.json

{
    "data": true
}        

POST /users/alive

When user is in critical workflow such as waiting for provider to call, it's required to send keep alive at certain interval recommended < 1/2 of the heartbeat value. Only "alive" patients will be able to show up on provider dashboard

Parameters

Parameter

Type

Description

heartbeat

Integer

(optional) default value is 300s, you can set your own heartbeat value, the more intermittent your network connection, the higher the value you should set. Ideally for mobile, set to about 300s and update every 250s

Response

curl -X POST -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734" https://api.vsee.me/api_v3/users/alive.json

{
    "data": {
        "last_connected": 1423023124,
        "heartbeat": 300
    }
}

POST /users/activate

It will check user info against eligibility file if configured for the current account. User will receive email with activation code.

Parameters

Parameter

Type

Description

first_name

String

last_name

String

email

String

e.g an@vseeclinic.com

dob

String

YYYY-MM-DD e.g 1988-10-02

ssn

String

4 digits e.g 1234, 1111

Response

curl -X POST -d "first_name=An&last_name=Nguyen&email=an@vsee.com" https://api.vsee.me/api_v3/users/activate.json

{
    "data": true
}

  • No labels