| GET | /{Workspace}/API/User/Schema | ||
|---|---|---|---|
| GET, PUT, POST, DELETE | /{Workspace}/API/User/{Id} | ||
| GET, PUT, POST, DELETE | /{Workspace}/API/User |
export class Location
{
public y: number;
public x: number;
public constructor(init?: Partial<Location>) { (Object as any).assign(this, init); }
}
export enum UserStatus
{
NotStarted = 'NotStarted',
Driving = 'Driving',
InProgress = 'InProgress',
Complete = 'Complete',
Blocked = 'Blocked',
}
export class Address
{
public Street: string;
public Unit: string;
public City: string;
public State: string;
public Zip: string;
public ContactTitle: string;
public ContactName: string;
public ContactPhone: string;
public ContactEmail: string;
public Location: Location;
public SiteName: string;
public GeocodeFailed: boolean;
public Country: string;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
export class UIColumnPref
{
public Name: string;
public Width: number;
public constructor(init?: Partial<UIColumnPref>) { (Object as any).assign(this, init); }
}
export class EventItem
{
public ObjectId: string;
public Date: string;
public Location: Location;
public Barcode: string;
public Details: string;
public Type: string;
public IsScan: boolean;
public User: string;
public SelectedBy: string;
public Status: string;
public StatusType: string;
public DateCreated: string;
public Automatic: boolean;
public constructor(init?: Partial<EventItem>) { (Object as any).assign(this, init); }
}
export class WorkDay
{
public DayOfWeek: number;
public Start: number;
public End: number;
public Lunch: number;
public constructor(init?: Partial<WorkDay>) { (Object as any).assign(this, init); }
}
export class CustomSchedule
{
public Date: string;
public Start: number;
public End: number;
public Type: string;
public constructor(init?: Partial<CustomSchedule>) { (Object as any).assign(this, init); }
}
/** @description Represents a DTO for a user in a workspace. Calls without an ObjectId will retrieve an array of all user objects for the workspace. */
export class User
{
public Workspace: string;
public TimeZone: string;
public ObjectId: string;
public VersionId: string;
public Created: string;
public LastUpdated: string;
public BasedOn: string;
public ExternalId: string;
public Name: string;
public Initials: string;
public Phone: string;
public Email: string;
public Password: string;
public RequestUser: string;
public Location: Location;
public UserType: string;
public ProposedRoute: Location[];
public ActualRoute: Location[];
public Image: string;
public UserStatus: UserStatus;
public RecordStatus: string;
public Documents: string[];
public SubscribeToEmails: boolean;
public Address: Address;
public SkillTags: string[];
public Enabled: boolean;
public UIPrefTaskColumnsOff: string[];
public UIPrefTaskColumns: UIColumnPref[];
public Data: { [index: string]: string; };
public Teams: string[];
public Events: EventItem[];
public Color: string;
public VehicleAsset: string;
public ExternalAuth: boolean;
public CreatedBy: string;
public ServiceAccount: boolean;
public Assets: string[];
public TfaRequired: boolean;
public TfaPreference: string;
public WorkWeek: WorkDay[];
public CustomSchedulesEnabled: boolean;
public CustomSchedules: CustomSchedule[];
public OverrideSso: boolean;
public constructor(init?: Partial<User>) { (Object as any).assign(this, init); }
}
// @DataContract
export class PublicUser
{
// @DataMember
public Id: string;
// @DataMember
public Workspace: string;
// @DataMember
public User: User;
// @DataMember
public Users: User[];
public constructor(init?: Partial<PublicUser>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /{Workspace}/API/User/{Id} HTTP/1.1
Host: dev.fieldsquared.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"Id":"String","Workspace":"String","User":{"ExternalId":"String","Name":"String","Initials":"String","Phone":"String","Email":"String","UserType":"String","Image":"String","Lat":0,"Lon":0,"StreetAddress":"String","Unit":"String","City":"String","State":"String","Zip":"String","Country":"String","SkillTags":["String"],"Enabled":false,"Data":{"String":{}},"Teams":["String"],"LastUpdated":"String","Created":"String"},"Users":[{"ExternalId":"String","Name":"String","Initials":"String","Phone":"String","Email":"String","UserType":"String","Image":"String","Lat":0,"Lon":0,"StreetAddress":"String","Unit":"String","City":"String","State":"String","Zip":"String","Country":"String","SkillTags":["String"],"Enabled":false,"Data":{"String":{}},"Teams":["String"],"LastUpdated":"String","Created":"String"}]}