Create a Connect Webview
To allow a user to sign in, you need to create a connect_webview . After creating the webview, you'll receive a URL that you can use to open an iframe or new window containing a login page for your us

An example of what the webview will look like to your user:
post
https://connect.getseam.com
/connect_webviews/create
Create a connect_webview
Ruby
Python
Javascript
seam.connect_webviews.create(
accepted_providers: ["smartthings"]
)
# <Seam::ConnectWebview:0x006a950
# url="https://connect.getseam.com/connect_webviews/view?connect_webview_id=123e4567-e89b-12d3-a456-426614174000&auth_token=q123DASDASKd23DADdad29"
# status="pending"
# created_at="2022-07-06T23:20:09.785729+00:00"
# workspace_id="123e4567-e89b-12d3-a456-426614174000"
# accepted_devices=[]
# login_successful=false
# accepted_providers=["smartthings"]
# any_device_allowed=nil
# connect_webview_id="123e4567-e89b-12d3-a456-426614174000"
# custom_redirect_url=nil
# custom_redirect_failure_url=nil
# any_provider_allowed=false
# device_selection_mode="none">
seam.connect_webviews.create(['schlage'])
# ConnectWebview(
# connect_webview_id='61c2877a-81e0-4474-ba8d-f96950dc095f',
# status='pending',
# url='https://connect.getseam.com/connect_webviews/viewconnect_webview_id=61c277a-81e0-4474-ba8d-f96950dc095f&auth_token=Codur8hWGnxJBv7rgoEg2mBDbYY4xnMXh',
# login_successful=False,
# custom_redirect_url=NOne,
# custom_redirect_failure_url=None,
# connected_account_id=None
# )
await seam.connectWebviews.create({
accepted_providers: ["schlage"],
});
/*{
url: 'https://connect.getseam.com/connect_webviews/view?connect_webview_id=7a85bb60-3d0c-4bf1-b75d-c802df011509&auth_token=DTnrAuQU4FCEz2koXGZ7wJ6Yi1owHb3d1',
status: 'pending',
created_at: '2022-08-23T15:14:49.672196+00:00',
workspace_id: 'f97073eb-c003-467a-965b-e6dba3a0131d',
accepted_devices: [],
login_successful: false,
accepted_providers: [ 'schlage' ],
any_device_allowed: null,
connect_webview_id: '7a85bb60-3d0c-4bf1-b75d-c802df011509',
custom_redirect_url: null,
custom_redirect_failure_url: null,
any_provider_allowed: false,
device_selection_mode: 'none'
}*/
You should make a new connect_webview for each unique login request: Each
connect_webview
tracks the user that signed in with it, you'll get an error if you re-use a webview for the same user twice, or if you use the same webview for multiple users.accepted_providers | type: string[] | |
custom_redirect_url | type: string
Optional | URL to redirect user to after provider login is complete |
custom_redirect_failure_url | type: string Optional | Alternative URL to redirect the user on error. If this is not set, falls back to custom_redirect_url |
device_selection_mode | type: 'none' | 'multiple' |
This section shows the JSON response returned by the API. Since each language encapsulates this response inside objects specific to that language and/or implementation, the actual type in your language might differ from what’s written here.
JSON
{
"connect_webview": {
"connect_webview_id": "123e4567-e89b-12d3-a456-426614174000",
"custom_redirect_url": null,
"url": "https://connect.getseam.com/v1/connect_webviews/view?connect_webview_id=02454094-1cab-4693-babc-afa9e1c55f09&auth_token=P7XLD4hYXva24WqwSKTC4pKQMP7v3zWUz",
"workspace_id": "84dda4b8-f327-4d97-a720-e0504a13a441",
"device_selection_mode": "none",
"accepted_providers": [
"smartthings"
],
"accepted_devices": [],
"any_provider_allowed": false,
"any_device_allowed": null,
"created_at": "2022-02-07T18:33:50.271Z",
"login_successful": false,
"custom_redirect_url": null,
"custom_redirect_failure_url": null,
"status": "pending"
}
}
Last modified 2mo ago