Hi,
I am trying to create new users with additional fields in Docebo via the API.
Currently I have a few additional fields that are not being set when I am creating a user. Is this possible ?
Thanks,
Ben
Best answer by natemadel
View originalHi,
I am trying to create new users with additional fields in Docebo via the API.
Currently I have a few additional fields that are not being set when I am creating a user. Is this possible ?
Thanks,
Ben
Best answer by natemadel
View originalHey Ben,
Yes, this is certainly doable. What are API are you using? manage/v1/user? manage/v1/user/batch?
Nate
Hi Nate,
I am creating them one at a time, batch is not needed for this process.
I am using POST to the following endpoint in a Nodejs Express server.
/manage/v1/user
with the following json object.
{
"email": visitor.email,"password": "*********","firstname": visitor.firstName,"lastname": visitor.lastName,"expiration": visitor.orientationExpiryDate,"additional_fields": { "field_9" : visitor.jobTitle, "field_15": visitor.phone, "field_18": visitor.visitorType, "field_22": visitor.companyName,}
}
I also tried :
{
"email": visitor.email,"password": "*********","firstname": visitor.firstName,"lastname": visitor.lastName,"expiration": visitor.orientationExpiryDate,"field_9" : visitor.jobTitle,"field_15": visitor.phone,"field_18": visitor.visitorType,"field_22": visitor.companyName,}
When the user is created: email, password, firstname, lastname, expiration all get added for the user for both the above json objects, but none of the additional fields are populated. I assume its an issue with the object i’m sending over?
The “additional” field numbers I grabbed from the GET /manage/v1/user just looking at the object that was returned there.
Thanks,
Ben
Gotcha. I think you need to drop the “field” prefixes, give this one a go and let me know:
{
"email":"visitor.email",
"password":"*********",
"firstname":"visitor.firstName",
"lastname":"visitor.lastName",
"expiration":"visitor.orientationExpiryDate",
"additional_fields":{
"9":"visitor.jobTitle",
"15":"visitor.phone",
"18":"visitor.visitorType",
"22":"visitor.companyName"
}
}
Amazing, Thank you Nate! That worked!
Just another quick one, if I am trying to populate additional field of type dropdown, does it need an id for that field or is it just matching the string value ?
Thanks,
Ben
You bet. For the dropdown, it will want the ID of the dropdown option (still quotated though). Manage/v1/user/batch, while probably overkill for one off creations, does accept the friendly values for dropdowns if you’d rather not trouble with it.
Nate
The reply above was very helpful, but I had trouble setting a ‘yesno’ type additional user field with the api. I tried all the combinations I could think of then realized that a ‘yesno’ type field might actually be a dropdown. Therefore, this works (assuming the additional field is field 1):
For Yes:
"additional_fields": {"1": "1"}
For No:
"additional_fields": {"1": "2"}
Hope this saves someone some frustration.
Jon
Enter your email address or username and password below to log in to Docebo Community. No account yet? Create an account
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.