schema

package
v0.0.0-...-742d8af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package schema defines Go structs that map to and from the ChargePoint API WSDL types (using `encoding/xml` marshaling/unmarshaling rules).

"API Guide" comments are quoted (with section numbers given before each quote) verbatim from the following reference:

ChargePoint Web Services API Programmer’s Guide
Document Part Number: 75-001102-01
Document Revision: 8
Revision Date: 2016-04-20

In addition, the WSDL file that is modeled here, while unversioned, has the following MD5 hash:

79595c612a701f4bf7e3f9d1ede2f7a9

Note that struct and field names have been chosen for clarity of semantic meaning, and not for strict equivalence with the corresponding WSDL types. Struct tags are used to map each field to the corresponding XML element name.

In addition, the schema is defined by the element names in the XSD, not the XSD type names. As such, no structs except those at the "top level" (i.e., ones mapping to elements whose parents do not uniquely identify their name) should define an element name (via an `xml.Name` field), as it will always be overwritten by the containing element.

Index

Constants

View Source
const (
	UserConnectionStatus_Approved     UserConnectionStatus = "APPROVED"
	UserConnectionStatus_NotConnected                      = "NOT CONNECTED"
	UserConnectionStatus_Rejected                          = "REJECTED"
	UserConnectionStatus_Pending                           = "PENDING"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ClearShedStateRequest

type ClearShedStateRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices clearShedState"`

	StationGroupID *int32 `xml:"shedQuery>shedGroup>sgID,omitempty"`

	StationID *string `xml:"shedQuery>shedStation>stationID,omitempty"`

	// This part of the API is not documented in the API Guide, but it is
	// part of the WSDL.
	//
	// Note that `StationID` is required if `PortNumbers` is specified.
	//
	// TODO(james): Check if this is actually implemented in the API server.
	// If not, it should be removed from this schema representation.
	Ports *ClearShedStateRequest_Ports `xml:"shedQuery>shedStation>Ports,omitempty"`
}

API Guide (§ 6.2): "Use this call to clear the shed state from a single station or group of stations."

type ClearShedStateRequest_Ports

type ClearShedStateRequest_Ports struct {
	PortNumbers []string `xml:"Port>portNumber"`
}

type ClearShedStateResponse

type ClearShedStateResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices clearShedStateResponse"`

	// API Guide (§ 6.2.3): "A success (1) or failure (0) response code
	// only."
	//
	// This field has `type="xsd:int"` in the WSDL, but is semantically
	// boolean, and can safely be parsed as such.
	Success bool `xml:"Success,omitempty"`

	StationGroupID int32  `xml:"sgID,omitempty"`
	StationID      string `xml:"stationID,omitempty"`
	// contains filtered or unexported fields
}

type Coordinate

type Coordinate struct {
	Latitude  string `xml:"Lat"`
	Longitude string `xml:"Long"`
}

TODO(james): Figure out the CRS that the api uses for these coordinates.

type GetCPNInstancesRequest

type GetCPNInstancesRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getCPNInstances"`
}

API Guide (§ 4.1): "Use this call to retrieve ChargePoint NOS instances."

TODO(james): Figure out what "NOS" means, as it is not documented in the API Guide.

type GetCPNInstancesResponse

type GetCPNInstancesResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getCPNInstancesResponse"`

	ChargePointNetworks []GetCPNInstancesResponse_ChargePointNetwork `xml:"CPN,omitempty"`
}

type GetCPNInstancesResponse_ChargePointNetwork

type GetCPNInstancesResponse_ChargePointNetwork struct {
	ID          string `xml:"cpnID,omitempty"`
	Name        string `xml:"cpnName,omitempty"`
	Description string `xml:"cpnDescription,omitempty"`
}

type GetLoadRequest

type GetLoadRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getLoad"`

	StationGroupID int32  `xml:"searchQuery>sgID,omitempty"`
	StationID      string `xml:"searchQuery>stationID,omitempty"`
}

API Guide (§ 6.3): "Use this call to retrieve the load and shed state for a single station or custom station group. This method also returns the load for each port on a multi-port station."

type GetLoadResponse

type GetLoadResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getLoadResponse"`

	StationGroupID          int32  `xml:"sgID,omitempty"`
	StationGroupNumStations int32  `xml:"numStations,omitempty"`
	StationGroupName        string `xml:"groupName,omitempty"`
	StationGroupLoadKW      string `xml:"sgLoad,omitempty"`

	Stations []GetLoadResponse_Station `xml:"stationData,omitempty"`
	// contains filtered or unexported fields
}

type GetLoadResponse_Station

type GetLoadResponse_Station struct {
	StationID      string `xml:"stationID,omitempty"`
	StationName    string `xml:"stationName,omitempty"`
	StationAddress string `xml:"Address,omitempty"`
	StationLoadKW  string `xml:"stationLoad,omitempty"`

	Ports []GetLoadResponse_Station_Port `xml:"Port,omitempty"`
}

type GetLoadResponse_Station_Port

type GetLoadResponse_Station_Port struct {
	PortNumber string `xml:"portNumber,omitempty"`
	UserID     string `xml:"userID,omitempty"`
	// API Guide (§ 6.3.3): "Identifier of the credential used to start the
	// session.  If it was a ChargePoint RFID card, it is the printed serial
	// number on the card.  If it was the ChargePoint Mobile App, it will be
	// the identifier displayed in the user’s mobile app.  Contactless
	// credit cards will be obviously be displayed as blank."
	CredentialID *string `xml:"credentialID,omitempty"`

	PortLoadKW string `xml:"portLoad,omitempty"`

	// API Guide (§ 6.3.3): "1 = Shed, 0 = Not Shed"
	ShedState *uint8 `xml:"shedState,omitempty"`

	// API Guide (§ 6.3.3): "Maximum load allowed at the station (kW).  If
	// percentShed was used in the last shedLoad call to this station, this
	// parameter will be zero."
	AllowedLoadKW string `xml:"allowedLoad,omitempty"`
	// API Guide (§ 6.3.3): "Percent of load currently being shed.  If
	// allowedLoad was used in the last shedLoad call to this station, this
	// parameter will be zero."
	//
	// Percent of load currently being shed (0 - 100).
	PercentShed *uint8 `xml:"percentShed,omitempty"`
}

type GetOrgsAndStationGroupsRequest

type GetOrgsAndStationGroupsRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getOrgsAndStationGroups"`

	OrganizationID   string `xml:"searchQuery>orgID,omitempty"`
	OrganizationName string `xml:"searchQuery>organizationName,omitempty"`

	StationGroupID   int32 `xml:"searchQuery>sgID,omitempty"`
	StationGroupName int32 `xml:"searchQuery>sgName,omitempty"`
}

API Guide (§ 8.5): "Use this call to retrieve organization and custom station that you have access rights to."

type GetOrgsAndStationGroupsResponse

type GetOrgsAndStationGroupsResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getOrgsAndStationGroupsResponse"`

	Organizations []GetOrgsAndStationGroupsResponse_Organization `xml:"orgData,omitempty"`
	// contains filtered or unexported fields
}

type GetOrgsAndStationGroupsResponse_Organization

type GetOrgsAndStationGroupsResponse_Organization struct {
	OrganizationID   string `xml:"orgID,omitempty"`
	OrganizationName string `xml:"organizationName,omitempty"`

	StationGroups []GetOrgsAndStationGroupsResponse_Organization_StationGroup `xml:"sgData,omitempty"`
}

type GetOrgsAndStationGroupsResponse_Organization_StationGroup

type GetOrgsAndStationGroupsResponse_Organization_StationGroup struct {
	StationGroupID   int32  `xml:"sgID,omitempty"`
	StationGroupName string `xml:"sgName,omitempty"`

	// API Guide (§ 8.5.3): "The Group ID of the parent group (`0` if it has
	// no parent group)."
	ParentGroupID string `xml:"parentGroupID,omitempty"`
}

type GetStationGroupsRequest

type GetStationGroupsRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getStationGroups"`

	OrganizationID string `xml:"orgID"`
}

API Guide (§ 8.3): "Use this call to retrieve custom station groups for any organization. It returns an array of groups for a given organization and lists the stations included in each group."

type GetStationGroupsResponse

type GetStationGroupsResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getStationGroupsResponse"`

	StationGroups []GetStationGroupsResponse_StationGroup `xml:"groupData,omitempty"`
	// contains filtered or unexported fields
}

type GetStationGroupsResponse_StationGroup

type GetStationGroupsResponse_StationGroup struct {
	OrganizationID   string `xml:"orgID,omitempty"`
	OrganizationName string `xml:"organizationName,omitempty"`

	StationGroupID   int32  `xml:"sgID,omitempty"`
	StationGroupName string `xml:"sgName,omitempty"`

	Stations []GetStationGroupsResponse_StationGroup_Station `xml:"stationData,omitempty"`
}

type GetStationGroupsResponse_StationGroup_Station

type GetStationGroupsResponse_StationGroup_Station struct {
	StationID  string      `xml:"stationID,omitempty"`
	Coordinate *Coordinate `xml:"Geo,omitempty"`
}

type GetStationsRequest

type GetStationsRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getStations"`

	// API Guide (§ 8.1.2): "A unique station identifier used in
	// ChargePoint.  This identifier never changes, even when the station's
	// head assembly is swapped.  Format: CPNID:StationIdentifier."
	StationID           string `xml:"searchQuery>stationID,omitempty"`
	StationManufacturer string `xml:"searchQuery>stationManufacturer,omitempty"`
	StationModel        string `xml:"searchQuery>stationModel,omitempty"`
	// API Guide (§ 8.1.2): "Name of the station (wild card characters are
	// allowed).  It should be searched for by both company name (the name
	// of the organization that owns the charging station) and station name.
	// Company name is displayed on Line 1 of the charging station (if
	// applicable) and the station name is displayed on Line 2 of the
	// charging station (if applicable)."
	StationName string `xml:"searchQuery>stationName,omitempty"`

	// API Guide (§ 8.1.2): "Address around which you want to see stations.
	// This can be street address or complete address (street address, city,
	// state, zip code, country)."
	Address    string `xml:"searchQuery>Address,omitempty"`
	City       string `xml:"searchQuery>City,omitempty"`
	State      string `xml:"searchQuery>State,omitempty"`
	Country    string `xml:"searchQuery>Country,omitempty"`
	PostalCode string `xml:"searchQuery>postalCode,omitempty"`

	Coordinate *Coordinate `xml:"searchQuery>Geo,omitempty"`
	// API Guide (§ 8.1.2): "Distance from the station's specified lat/long
	// (Geo) from which you want to retrieve station information.  Default
	// is 5"
	Proximity string `xml:"searchQuery>Proximity,omitempty"`
	// API Guide (§ 8.1.2): "Default value for proximity unit is M.  Can
	// have values: M (miles), N (Nautical miles), K (Kilometer), F (Feet),
	// I (Inches)."
	ProximityUnit string `xml:"searchQuery>proximityUnit,omitempty"`

	// WSDL: "Possible values 1 is Level 1, 2 is Level 2, 3 is Level 1 2 ,4
	// is DC charger, 5 Level 1, Level2, DC charger"
	//
	// API Guide (§ 8.1.2): "Station level type where 1 is 'Level 1', 2 is
	// 'Level 2', 3 is 'Level 3', and 4 is 'DC Fast'.  If a station has more
	// than one level (for example, the station provides both level 1 and
	// level 2 charging), the response will includ both level (1,2).  Note:
	// This parameter is for 'US Stations' and 'AU Stations' only (and is
	// used instead of 'Mode')."
	Level string `xml:"searchQuery>Level,omitempty"`
	// API Guide (§ 8.1.2): "Station mode type where 1 is 'Mode 1', 3 is
	// 'Mode 3', and 4 is 'DC Fast'.  If the station has more than one mode
	// (for example, the station provides both mode 1 with a domestic socket
	// and mode 3 charging with an IEC 62196 Type 2 socket), the response
	// will include both modes (1,3).  Note: This parameter is for "EU
	// Stations" only (and is used instead of "Level").
	Mode string `xml:"searchQuery>Mode,omitempty"`

	PricingSession *GetStationsRequest_PricingSession `xml:"searchQuery>Pricing,omitempty"`

	// API Guide (§ 8.1.2): "Whether or not the station can be reserved: '1'
	// - the station can be reserved.  '0' - the station cannot be
	// reserved."
	Reservable uint8 `xml:"searchQuery>Reservable,omitempty"`

	// API Guide (§ 8.1.2): "Connector type.  For example: NEMA 5-20R,
	// J1772, ALFENL3, Shuko."
	Connector string `xml:"searchQuery>Connector,omitempty"`

	// API Guide (§ 8.1.2): "Nominal voltage (V)."
	Voltage string `xml:"searchQuery>Voltage,omitempty"`
	// API Guide (§ 8.1.2): "Current supported (A)."
	Current string `xml:"searchQuery>Current,omitempty"`
	// API Guide (§ 8.1.2): "Power supported (kW)."
	PowerKW string `xml:"searchQuery>Power,omitempty"`

	// API Guide (§ 8.1.2): "Array of serial numbers of stations identified
	// as a 'demo'.  Used only for client applications that need to access
	// stations identified as 'demo'.
	DemoStationSerialNumbers []string `xml:"searchQuery>demoSerialNumber>serialNumber,omitempty"`

	// API Guide (§ 8.1.2): "The org identifier CPNID:CompanyID"
	OrganizationID   string `xml:"searchQuery>orgID,omitempty"`
	OrganizationName string `xml:"searchQuery>organizationName,omitempty"`
	StationGroupID   string `xml:"searchQuery>sgID,omitempty"`
	StationGroupName string `xml:"searchQuery>sgName,omitempty"`

	// API Guide (§ 8.1.2): "Start index for the stations that match the
	// query."
	StartRecord int32 `xml:"searchQuery>startRecord,omitempty"`
	// API Guide (§ 8.1.2): "Number of stations to return in the response.
	// Maximum is 500, and if left blank, the method will return up to 500
	// stations."
	NumRecords int32 `xml:"searchQuery>numStations,omitempty"`

	// Undocumented in the API Guide, but exist in the WSDL.
	SerialNumber          string      `xml:"searchQuery>serialNumber,omitempty"`
	StationActivationDate xsdDateTime `xml:"searchQuery>stationActivationDate,omitempty"`
}

API Guide (§ 8.1): "Use this call to return a list of stations. This will not return stations that you don't have access rights to. For example, it will not return a public station unless you either own the station or have been granted rights by the station's owner."

API Guide (§ 8.1.1): "Up to 500 stations will be returned by this method."

type GetStationsRequest_PricingSession

type GetStationsRequest_PricingSession struct {
	StartTime xsdTime `xml:"startTime"`

	// WSDL: "Expected duration of charging session in minutes."
	//
	// API Guide (§ 8.1.2): "Estimated duration of session in hours"
	ExpectedDurationMinutes int32 `xml:"Duration"`
	// API Guide (§ 8.1.2): "Estimated energy needed for a charging session
	// in kWh."
	ExpectedDurationKWh float64 `xml:"energyRequired"`

	// This field is part of the XSD type used by "getStations", but is not
	// documented for that request.  It is only documented in § 5.1
	// ("getPublicStations"), § 5.2 ("getPublicStationStatus"), and § 8.2
	// ("getStatusStatus").  It does however, appear in the sample
	// "getStations" request in § 8.1.4.
	//
	// API Guide (§ 5.1.2): "If a session is active, present amount of power
	// in kW being delivered to the vehicle."
	PowerDrawKW float64 `xml:"vehiclePower"`
}

type GetStationsResponse

type GetStationsResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getStationsResponse"`

	Stations []GetStationsResponse_Station `xml:"stationData,omitempty"`

	// API Guide (§ 8.1.3): "Indicates that the number of stations that
	// match this query is greater than the maximum number of stations that
	// can be returned in one call (currently 500), and therefore the list
	// was truncated."
	//
	// This field has `type="xsd:int"` in the WSDL, but is semantically
	// boolean (the value should either be "0" or "1"), and can safely be
	// parsed as such.
	Truncated bool `xml:"moreFlag,omitempty"`
	// contains filtered or unexported fields
}

type GetStationsResponse_Station

type GetStationsResponse_Station struct {
	StationID           string `xml:"stationID,omitempty"`
	StationManufacturer string `xml:"stationManufacturer,omitempty"`
	StationModel        string `xml:"stationModel,omitempty"`
	StationMACAddress   string `xml:"stationMacAddr,omitempty"`
	StationSerialNumber string `xml:"stationSerialNum,omitempty"`

	StationGroupID   string `xml:"sgID,omitempty"`
	StationGroupName string `xml:"sgName,omitempty"`
	OrganizationID   string `xml:"orgID"`
	OrganizationName string `xml:"organizationName"`

	// API Guide (§ 8.1.3): "Complete address (street address, city, state,
	// zip code, country)."
	Address    string `xml:"Address,omitempty"`
	City       string `xml:"City,omitempty"`
	State      string `xml:"State,omitempty"`
	Country    string `xml:"Country,omitempty"`
	PostalCode string `xml:"postalCode,omitempty"`

	NumPorts int32                              `xml:"numPorts,omitempty"`
	Ports    []GetStationsResponse_Station_Port `xml:"Port,omitempty"`

	// API Guide (§ 8.1.3): "The ISO 4217 code for the currency used on the
	// station.  For eample, US Dollar = USD, Canadian Dollar = CAD, Euro =
	// EUR."
	CurrencyCode string `xml:"currencyCode,omitempty"`

	// `maxOccurs` for this element in the WSDL is 2.
	PricingSpecification []GetStationsResponse_Station_PricingSpecification `xml:"Pricing,omitempty"`

	DriverSupportPhoneNumber string `xml:"mainPhone,omitempty"`

	// Undocumented in the API Guide, but exist in the WSDL.
	StationActivationDate xsdDateTime `xml:"stationActivationDate,omitempty"`
	DriverName            string      `xml:"driverName,omitempty"`
	DriverAddress         string      `xml:"driverAddress,omitempty"`
	DriverEmail           string      `xml:"driverEmail,omitempty"`
	DriverPhoneNumber     string      `xml:"driverPhoneNumber,omitempty"`
	LastModifiedDate      xsdDateTime `xml:"lastModifiedDate,omitempty"`
	ModTimeStamp          xsdDateTime `xml:"modTimeStamp,omitempty"`
	TimezoneOffset        string      `xml:"timezoneOffset,omitempty"`
}

type GetStationsResponse_Station_Port

type GetStationsResponse_Station_Port struct {
	// API Guide (§ 8.1.3): "Identifier of the port.  This ID is 1 based."
	PortNumber string `xml:"portNumber,omitempty"`

	StationName string      `xml:"stationName,omitempty"`
	Coordinate  *Coordinate `xml:"Geo,omitempty"`
	Reservable  uint8       `xml:"Reservable,omitempty"`
	Level       string      `xml:"Level,omitempty"`
	Mode        string      `xml:"Mode,omitempty"`
	Connector   string      `xml:"Connector,omitempty"`
	Voltage     string      `xml:"Voltage,omitempty"`
	Current     string      `xml:"Current,omitempty"`
	PowerKW     string      `xml:"Power,omitempty"`

	// Undocumented in the API Guide, but exist in the WSDL
	Description   string      `xml:"Desription,omitempty"`
	Status        string      `xml:"Status,omitempty"`
	Timestamp     xsdDateTime `xml:"timeStamp,omitempty"`
	EstimatedCost float64     `xml:"estimatedCost,omitempty"`
}

type GetStationsResponse_Station_PricingSpecification

type GetStationsResponse_Station_PricingSpecification struct {
	// API Guide (§ 8.1.3): "Pricing Type (Session, Hourly, or kWh)"
	Type string `xml:"Type,omitempty"`

	// API Guide (§ 8.1.3): "The start time of a pricing session."
	StartTime xsdTime `xml:"startTime,omitempty"`
	// API Guide (§ 8.1.3): "The end time of a pricing session."
	EndTime xsdTime `xml:"endTime,omitempty"`

	// API Guide (§ 8.1.3): "Maximum time allowed for a session."
	MaxSessionTime string `xml:"sessionTime,omitempty"`

	// API Guide (§ 8.1.3): "The minimum price charged for a session."
	MinPrice float64 `xml:"minPrice,omitempty"`
	// API Guide (§ 8.1.3): "The maximum price charged for a session."
	MaxPrice float64 `xml:"maxPrice,omitempty"`

	// API Guide (§ 8.1.3): "The hourly price if this mode of pricing is
	// enabled"
	UnitPricePerHour float64 `xml:"unitPricePerHour,omitempty"`
	// API Guide (§ 8.1.3): "The session price if this mode of pricing is
	// enabled"
	UnitPricePerSession float64 `xml:"unitPricePerSession,omitempty"`
	// API Guide (§ 8.1.3): "The kWh price if this mode of pricing is
	// enabled"
	UnitPricePerKWh float64 `xml:"unitPricePerKWh,omitempty"`

	// This field is documented in the API Guide, but does not exist in the
	// WSDL.
	//
	// API Guide (§ 8.1.3): "The hourly price for the first portion of the
	// pricing specification if pricing varies by length of time"
	UnitPriceForFirst float64 `xml:"unitPriceForFirst,omitempty"`

	// API Guide (§ 8.1.3): "The hourly price for the second portion of the
	// pricing specification if pricing varies by length of time"
	UnitPricePerHourThereafter float64 `xml:"unitPricePerHourThereafter,omitempty"`
	// contains filtered or unexported fields
}

type GetUsersRequest

type GetUsersRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getUsers"`

	// API Guide (§ 10.1.2): "Unique identifier of the driver.  This value
	// is not a driver account number or username."
	UserID string `xml:"searchQuery>userID,omitempty"`

	// API Guide (§ 10.1.2): "First name of the user/driver."
	FirstName string `xml:"searchQuery>firstName,omitempty"`
	// API Guide (§ 10.1.2): "Last name of the user/driver."
	LastName string `xml:"searchQuery>lastName,omitempty"`

	// API Guide (§ 10.1.2): "Find only records equal to or later than the
	// timestamp of the last change to any property of a user account.  This
	// property uses the ISO 8601 date time format in UTC
	// YYYY-MM-DDTHH:MM:SSZ."
	LastModified xsdDateTime `xml:"searchQuery>lastModifiedTimeStamp,omitempty"`

	// API Guide (§ 10.1.2): "Include this object in the query if you are
	// searching for a driver by their ChargePoint Connection properties.
	Connection *GetUsersRequest_Connection `xml:"searchQuery>Connection,omitempty"`

	// API Guide (§ 10.1.2): "Include this object if you wish to search for
	// users that are part of the Management Realm for your organization."
	ManagementRealm *GetUsersRequest_ManagementRealm `xml:"searchQuery>managementRealm,omitempty"`

	// API Guide (§ 10.1.2): "Use this property to search for users by
	// either the printed serial number from a ChargePoint RFID card or a
	// ChargePoint Mobile App identifier."
	CredentialID string `xml:"searchQuery>credentialID,omitempty"`

	// Undocumented pagination parameters.
	StartRecord int `xml:"searchQuery>startRecord,omitempty"`
	NumUsers    int `xml:"searchQuery>numUsers,omitempty"`
}

API Guide (§ 10.1): "Use this method to get a list of connected or managed drivers. If your organization uses ChargePoint Connections, this method will return the list of all drivers who have requested a connection with your organization, as well as a list of all drivers who have either been approved or rejected as connected drivers. If your organization uses a branded ChargePoint portal to sign up drivers, then those drivers will appear in your management realm, and the list of those drivers will be returned by this method."

type GetUsersRequest_Connection

type GetUsersRequest_Connection struct {
	// API Guide (§ 10.1.2): "Use this property to search for all users with
	// a given Connection status.  This property may be one of the following
	// values: APPROVED, NOT CONNECTED, REJECTED, PENDING."
	Status UserConnectionStatus `xml:"Status,omitempty"`

	// API Guide (§ 10.1.2): "This object contains a key-value-pair of
	// information that the driver provided when connecting to your
	// organization, such as an employee ID or club number."
	CustomInfo *GetUsersRequest_CustomInfo `xml:"customInfo,omitempty"`
}

type GetUsersRequest_CustomInfo

type GetUsersRequest_CustomInfo struct {
	// API Guide (§ 10.1.2): "The name of the key that you wish to use for
	// the search such as "Employee ID".  This key name is defined when your
	// Network Administrator defines a Connection Offer for your
	// organization."
	//
	// API Guide (§ 10.1.2): "The name of the key that you wish to use for
	// the search for users."
	Key string `xml:"Key,omitempty"`

	// API Guide (§ 10.1.2): "The value of this key that the user provided
	// when requesting a Connection with your organization."
	//
	// API Guide (§ 10.1.2): "The value of this key that the user provided
	// when signing up through your branded portal."
	Value string `xml:"Value,omitempty"`
}

This `xsd:complexType` is used for query both connection and management realm "custom info". The documentation for each field is included separately below.

type GetUsersRequest_ManagementRealm

type GetUsersRequest_ManagementRealm struct {
	// API Guide (§ 10.1.2): "Use this property to search for all users with
	// a given status.  This property may be one of the following values:
	// APPROVED, NOT MANAGED."
	Status UserManagementRealmStatus `xml:"Status,omitempty"`

	// API Guide (§ 10.1.2): "This object contains a key-value-pair of
	// information that the driver provided when joining the management
	// realm."
	CustomInfo *GetUsersRequest_CustomInfo `xml:"customInfo,omitempty"`
}

type GetUsersResponse

type GetUsersResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices getUsersResponse"`

	Users    []GetUsersResponse_User `xml:"users>user,omitempty"`
	MoreFlag int                     `xml:"users>moreFlag,omitempty"`
	// contains filtered or unexported fields
}

type GetUsersResponse_Connection

type GetUsersResponse_Connection struct {
	// API Guide (§ 10.1.3): "Status of the Connection between this user and
	// your organization.  This property will be one of the following
	// values: APPROVED, NOT CONNECTED, REJECTED, PENDING.
	Status UserConnectionStatus `xml:"Status,omitempty"`

	// API Guide (§ 10.1.3): "Time stamp indicated when the user requested a
	// connection with your organization."
	RequestTimestamp xsdDateTime `xml:"requestTimeStamp,omitempty"`

	// API Guide (§ 10.1.3): "This object contains a key-value-pair of
	// information that the dirver provided when connecting to your
	// organization, such as an employee ID or club number."
	CustomInfo []GetUsersResponse_CustomInfo `xml:"customInfos>customInfo,omitempty"`
}

type GetUsersResponse_CustomInfo

type GetUsersResponse_CustomInfo struct {
	// API Guide (§ 10.1.3): "The name of the key for this custom property
	// of the connection.  This key name is defined when your Network
	// Administrator defines a Connection Offer for your organization."
	//
	// API Guide (§ 10.1.3): "The name of the custom key that you defined
	// for driver sign up for your Management Realm."
	Key string `xml:"Key,omitempty"`

	// API Guide (§ 10.1.3): "The value of this key that the user provided
	// when requesting a Connection with your organization."
	//
	// API Guide (§ 10.1.3): "The value of this key that the user provided
	// when signing up with your organization."
	Value string `xml:"Value,omitempty"`
}

This `xsd:complexType` is used for query both connection and management realm "custom info". The documentation for each field is included separately below.

type GetUsersResponse_ManagementRealm

type GetUsersResponse_ManagementRealm struct {
	// API Guide (§ 10.1.3): "Status of the user.  This property will be one
	// of the following values: APPROVED, NOT MANAGED"
	Status UserManagementRealmStatus `xml:"Status,omitempty"`

	// API Guide (§ 10.1.3): "Time stamp indicated when the user signed up
	// with your organization."
	SignupTimestamp xsdDateTime `xml:"signupTimeStamp,omitempty"`

	// API Guide (§ 10.1.3): "This object contains a key-value-pair of
	// information that the driver provided when signing up with your
	// organization."
	CustomInfo []GetUsersResponse_CustomInfo `xml:customInfos>customInfo,omitempty"`
}

type GetUsersResponse_User

type GetUsersResponse_User struct {
	// API Guide (§ 10.1.3): "Timestamp of the last change to any property
	// of this user account.  This property uses the ISO 8601 date time
	// format in UTC YYYY-MM-DDTHH:MM:SSZ."
	LastModified xsdDateTime `xml:"lastModifiedTimestamp,omitempty"`

	// API Guide (§ 10.1.3): "Unique identifier of the driver.  This value
	// is not a driver account number or username."
	UserID string `xml:"userID,omitempty"`

	// API Guide (§ 10.1.3): "First name of the user/driver."
	FirstName string `xml:"firstName,omitempty"`
	// API Guide (§ 10.1.3): "Last name of the user/driver."
	LastName string `xml:"lastName,omitempty"`

	// API Guide (§ 10.1.3): "If the user is Connected to or has requested a
	// Connection to your organization, this object will include properties
	// of that Connection."
	Connection *GetUsersResponse_Connection `xml:"Connection,omitempty"`

	// API Guide (§ 10.1.3): "If the user is part of your Management Realm,
	// this object will include the properties of that assiciation with your
	// organization."
	ManagementRealm *GetUsersResponse_ManagementRealm `xml:"managementRealm,omitempty"`

	// API Guide (§ 10.1.3): "The printed serial number from a ChargePoint
	// RFID card or a ChargePoint Mobile App identifier."
	CredentialIDs []string `xml:"credentialIDs>credentialID,omitempty"`

	RecordNumber int `xml:"recordNumber,omitempty"`
}

type ShedLoadRequest

type ShedLoadRequest struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices shedLoad"`

	StationGroupID int32 `xml:"shedQuery>shedGroup>sgID,omitempty"`
	// Only one of the following two fields may be set.
	//
	// API Guide (§ 6.1.2): "Maximum allowed load expressed in kW.  This
	// value is an absolute maximum and is not relative to the power being
	// dispensed by the station.  At the group level, this parameter applies
	// to each station, not the total power for the group."
	StationGroupAllowedLoadKW string `xml:"shedQuery>shedGroup>allowedLoadPerStation,omitempty"`
	// API Guide (§ 6.1.2): "Percentage of the power currently being
	// dispensed by the station to shed.  For example, if the station is
	// currently dispensing 10kW, a value of 60% will lower the power being
	// dispensed to 4kW.  At the group level, this value applies to each
	// station.  If a station is not dispensing any power, the output will
	// be set to zero until the shed state is cleared."
	StationGroupPercentShed *int32 `xml:"shedQuery>shedGroup>percentShedPerStation,omitempty"`

	Station *ShedLoadRequest_Station `xml:"shedQuery>shedStation,omitempty"`

	// API Guide (§ 6.1.2): "Time interval in minutes.  A value of 0
	// indicates that there is no specified duration for which the power
	// will be shed."
	TimeInterval int32 `xml:"shedQuery>timeInterval"`
}

API Guide (§ 6.1): "Use this call to shed load for a single port on a station, both ports on a multi-port station or a group of stations. Only one of these three options may be used in a request as follows:

  • Group: Include the shedGroup element.
  • Station: Include the shedStation element and either the allowedLoadPerStation or percentShedPerStation parameters within that element; omit the Ports array.
  • Port: Include the shedStation element and the Ports array; set the allowedLoadPerStation and percentShedPerStation parameters in the shedStation element to a null value or omit them from the request."

type ShedLoadRequest_Station

type ShedLoadRequest_Station struct {
	StationID string `xml:"stationID"`
	// Only one of the following two fields may be set.
	AllowedLoadKW string `xml:"allowedLoadPerStation,omitempty"`
	PercentShed   *int32 `xml:"percentShedPerStation,omitempty"`

	Ports *ShedLoadRequest_Station_Ports `xml:"Ports,omitempty"`
}

type ShedLoadRequest_Station_Ports

type ShedLoadRequest_Station_Ports struct {
	Ports []ShedLoadRequest_Station_Ports_Port `xml:"Port"`
}

type ShedLoadRequest_Station_Ports_Port

type ShedLoadRequest_Station_Ports_Port struct {
	PortNumber    string `xml:"portNumber"`
	AllowedLoadKW string `xml:"allowedLoadPerPort"`
	PercentShed   *int32 `xml:"percentShedPerPort"`
}

type ShedLoadResponse

type ShedLoadResponse struct {
	XMLName xml.Name `xml:"urn:dictionary:com.chargepoint.webservices shedLoadResponse"`

	// API Guide (§ 6.1.3): "A success (1) or failure (0) response code
	// only."
	Success uint8 `xml:"Success,omitempty"`

	StationGroupID int32  `xml:"sgID,omitempty"`
	StationID      string `xml:"stationID,omitempty"`

	AllowedLoadKW string `xml:"allowedLoadPerStation,omitempty"`
	PercentShed   *int32 `xml:"percentShedPerStation,omitempty"`

	Ports []ShedLoadResponse_Port `xml:"Ports>Port,omitempty"`
	// contains filtered or unexported fields
}

type ShedLoadResponse_Port

type ShedLoadResponse_Port struct {
	PortNumber    string `xml:"portNumber"`
	AllowedLoadKW string `xml:"allowedLoadPerPort,omitempty"`
	PercentShed   *int32 `xml:"percentShedPerPort,omitempty"`
}

type UserConnectionStatus

type UserConnectionStatus string

type UserManagementRealmStatus

type UserManagementRealmStatus string
const (
	UserManagementRealmStatus_Approved   UserManagementRealmStatus = "APPROVED"
	UserManagementRealmStatus_NotManaged                           = "NOT MANAGED"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL