Description

You have to call this method when you want create a new user in DRUID, and user credentials exists in another provider (eg: facebook, twitter, etc). This process could also been known as Social Register.

Please, read first https://dru-id.com/developers/apis/oauth-2/ to learn about Oauth2 protocol and the meaning of each token.

As you know, DRUID defines a set of mandatory data for registration depending of the entry point you are using; be aware that if you send more data than defined in minimal register configuration, not needed data will be discarded and it will be not persisted nor validated.

The difference with tradicional register, is that if you provide an external_id field, and you indicate that identifier (eg: email) is confirmed, registered account will be confirmed (because we suspense and trust that third provider has confirmed that identifier). Be careful with ‘confirmed’ attribute, because it can lead to serious legal problems, if you indicate that an identifier is confirmed, but none really confirmed it.

You must provide a real external identifier, indicating also a real external provider. Otherwise, ‘confirm’ attribute will be ignored and account must be confirmed by DRUID.

Endpoint URL:

 POST https://{your-endpoint-domain.com}/activityid/v1/user/create

Request parameters

ParameterDescriptionTypeRequired
Authorization“Bearer app_token” Literal text Bearer followed by app_token that is the token obtained from /oauth2/token endpointstringyes
Content-TypeThe type of content that will be used for requests to be JSONstringyes
AcceptThe type of content that will be used for responses to be JSONstringyes
FromName of the entry pointstringyes
Accept-LanguageLanguage of this requestLocaleno

Query string parameters

ParameterDescriptionTypeRequired
scWith this paramater you can configure how user fields are validated: by default ALL validation errors are returned back to service caller (). If you want to receive only ONE validation error each time, you have to send query String parameter ‘sc=true’booleanno
stateAn opaque value used by the client to maintain state between the request and callback.stringno

Request example

ParameterDescriptionTypeRequiredValue
actor.idapp_id of the application you are using to log userstringyesapp id
actor.objectTypeType of the object which represents the actor.stringyes‘application’
verbVerb used for create userstringyes‘create’
object.objectTypeObjectType represents the userstringyes‘user’
object.passwordPassword of the user. it must be send plainstringyesuser password
object.idsUser identifiers. More info about user identifiers User Infostructyesstruct
object.datasUser datas. More info about user datas User Infostructyesstruct
object.assertionsStruct that defines legalities manage by the user. More info about user assertions User Infostructyesstruct
source.idType of device doing the activitystringyes‘unknown’ | ‘pc’ | ‘mobile’ | ‘tablet’ | ‘game_console’ | ‘itv’
source.objectTypeType of sourcestringyes‘device’

Response examples

Response: user created and notification sent

ParameterDescriptionType
result.statusHTTP status codestring

Response: user created and notification failed

Response: User not created due to validation errors

CodeTypeDescription
400ErrorBad Request: The request could not be understood by the server due to malformed syntax
401ErrorUnauthorized: authentication is required and has failed or has not yet been provided (token is invalid, etc)
412ErrorPrecondition failed: User can not be created because he/she has some data errors
451ErrorUnavailable For Legal Reasons: user must accept new terms and conditions
500ErrorInternal Server Error: The server encountered an unexpected condition which prevented it from fulfilling the request
502ErrorBad Gateway: notification service has failed
201SuccessUser created successfully
207Partial SuccessMulti-Status: user is created succesfully, but confirmation notification could not be sent