| POST | /{Workspace}/UserImport |
|---|
namespace Field2Office.API.Model
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Location() =
member val y:Double = new Double() with get,set
member val x:Double = new Double() with get,set
type UserStatus =
| NotStarted = 0
| Driving = 1
| InProgress = 2
| Complete = 3
| Blocked = 4
[<AllowNullLiteral>]
type Address() =
member val Street:String = null with get,set
member val Unit:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val Zip:String = null with get,set
member val ContactTitle:String = null with get,set
member val ContactName:String = null with get,set
member val ContactPhone:String = null with get,set
member val ContactEmail:String = null with get,set
member val Location:Location = null with get,set
member val SiteName:String = null with get,set
member val GeocodeFailed:Boolean = new Boolean() with get,set
member val Country:String = null with get,set
[<AllowNullLiteral>]
type UIColumnPref() =
member val Name:String = null with get,set
member val Width:Double = new Double() with get,set
[<AllowNullLiteral>]
type EventItem() =
member val ObjectId:String = null with get,set
member val Date:String = null with get,set
member val Location:Location = null with get,set
member val Barcode:String = null with get,set
member val Details:String = null with get,set
member val Type:String = null with get,set
member val IsScan:Boolean = new Boolean() with get,set
member val User:String = null with get,set
member val SelectedBy:String = null with get,set
member val Status:String = null with get,set
member val StatusType:String = null with get,set
member val DateCreated:String = null with get,set
member val Automatic:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type WorkDay() =
member val DayOfWeek:Int32 = new Int32() with get,set
member val Start:Int32 = new Int32() with get,set
member val End:Int32 = new Int32() with get,set
member val Lunch:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type CustomSchedule() =
member val Date:String = null with get,set
member val Start:Int32 = new Int32() with get,set
member val End:Int32 = new Int32() with get,set
member val Type:String = null with get,set
///<summary>
///Represents a DTO for a user in a workspace. Calls without an ObjectId will retrieve an array of all user objects for the workspace.
///</summary>
[<AllowNullLiteral>]
type User() =
member val Workspace:String = null with get,set
member val TimeZone:String = null with get,set
member val ObjectId:String = null with get,set
member val VersionId:String = null with get,set
member val Created:String = null with get,set
member val LastUpdated:String = null with get,set
member val BasedOn:String = null with get,set
member val ExternalId:String = null with get,set
member val Name:String = null with get,set
member val Initials:String = null with get,set
member val Phone:String = null with get,set
member val Email:String = null with get,set
member val Password:String = null with get,set
member val RequestUser:String = null with get,set
member val Location:Location = null with get,set
member val UserType:String = null with get,set
member val ProposedRoute:ResizeArray<Location> = new ResizeArray<Location>() with get,set
member val ActualRoute:ResizeArray<Location> = new ResizeArray<Location>() with get,set
member val Image:String = null with get,set
member val UserStatus:UserStatus = new UserStatus() with get,set
member val RecordStatus:String = null with get,set
member val Documents:ResizeArray<String> = new ResizeArray<String>() with get,set
member val SubscribeToEmails:Boolean = new Boolean() with get,set
member val Address:Address = null with get,set
member val SkillTags:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Enabled:Boolean = new Boolean() with get,set
member val UIPrefTaskColumnsOff:ResizeArray<String> = new ResizeArray<String>() with get,set
member val UIPrefTaskColumns:ResizeArray<UIColumnPref> = new ResizeArray<UIColumnPref>() with get,set
member val Data:Dictionary<String, String> = new Dictionary<String, String>() with get,set
member val Teams:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Events:ResizeArray<EventItem> = new ResizeArray<EventItem>() with get,set
member val Color:String = null with get,set
member val VehicleAsset:String = null with get,set
member val ExternalAuth:Boolean = new Boolean() with get,set
member val CreatedBy:String = null with get,set
member val ServiceAccount:Boolean = new Boolean() with get,set
member val Assets:ResizeArray<String> = new ResizeArray<String>() with get,set
member val TfaRequired:Boolean = new Boolean() with get,set
member val TfaPreference:String = null with get,set
member val WorkWeek:ResizeArray<WorkDay> = new ResizeArray<WorkDay>() with get,set
member val CustomSchedulesEnabled:Boolean = new Boolean() with get,set
member val CustomSchedules:ResizeArray<CustomSchedule> = new ResizeArray<CustomSchedule>() with get,set
member val OverrideSso:Boolean = new Boolean() with get,set
///<summary>
///Bulk import a set of users.
///</summary>
[<AllowNullLiteral>]
type UserImport() =
member val Workspace:String = null with get,set
member val Users:ResizeArray<User> = new ResizeArray<User>() with get,set
member val RequestId:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /{Workspace}/UserImport HTTP/1.1
Host: dev.fieldsquared.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Workspace":"String","Users":[{"Workspace":"String","TimeZone":"String","ObjectId":"String","VersionId":"String","Created":"String","LastUpdated":"String","BasedOn":"String","ExternalId":"String","Name":"String","Initials":"String","Phone":"String","Email":"String","Password":"String","RequestUser":"String","Location":{"y":0,"x":0},"UserType":"String","ProposedRoute":[{"y":0,"x":0}],"ActualRoute":[{"y":0,"x":0}],"Image":"String","UserStatus":"NotStarted","RecordStatus":"String","Documents":["String"],"SubscribeToEmails":false,"Address":{"Street":"String","Unit":"String","City":"String","State":"String","Zip":"String","ContactTitle":"String","ContactName":"String","ContactPhone":"String","ContactEmail":"String","Location":{"y":0,"x":0},"SiteName":"String","GeocodeFailed":false,"Country":"String"},"SkillTags":["String"],"Enabled":false,"UIPrefTaskColumnsOff":["String"],"UIPrefTaskColumns":[{"Name":"String","Width":0}],"Data":{"String":"String"},"Teams":["String"],"Events":[{"ObjectId":"String","Date":"String","Location":{"y":0,"x":0},"Barcode":"String","Details":"String","Type":"String","IsScan":false,"User":"String","SelectedBy":"String","Status":"String","StatusType":"String","DateCreated":"String","Automatic":false}],"Color":"String","VehicleAsset":"String","ExternalAuth":false,"CreatedBy":"String","ServiceAccount":false,"Assets":["String"],"TfaRequired":false,"TfaPreference":"String","WorkWeek":[{"DayOfWeek":0,"Start":0,"End":0,"Lunch":0}],"CustomSchedulesEnabled":false,"CustomSchedules":[{"Date":"String","Start":0,"End":0,"Type":"String"}],"OverrideSso":false}],"RequestId":"String"}