| 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 .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
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
}