Commit | Line | Data |
---|---|---|
d270cc87 JB |
1 | { |
2 | "$schema": "http://json-schema.org/draft-06/schema#", | |
3 | "$id": "urn:OCPP:Cp:2:2020:3:CustomerInformationRequest", | |
4 | "comment": "OCPP 2.0.1 FINAL", | |
5 | "definitions": { | |
6 | "CustomDataType": { | |
7 | "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", | |
8 | "javaType": "CustomData", | |
9 | "type": "object", | |
10 | "properties": { | |
11 | "vendorId": { | |
12 | "type": "string", | |
13 | "maxLength": 255 | |
14 | } | |
15 | }, | |
16 | "required": ["vendorId"] | |
17 | }, | |
18 | "HashAlgorithmEnumType": { | |
19 | "description": "Used algorithms for the hashes provided.\r\n", | |
20 | "javaType": "HashAlgorithmEnum", | |
21 | "type": "string", | |
22 | "additionalProperties": false, | |
23 | "enum": ["SHA256", "SHA384", "SHA512"] | |
24 | }, | |
25 | "IdTokenEnumType": { | |
26 | "description": "Enumeration of possible idToken types.\r\n", | |
27 | "javaType": "IdTokenEnum", | |
28 | "type": "string", | |
29 | "additionalProperties": false, | |
30 | "enum": [ | |
31 | "Central", | |
32 | "eMAID", | |
33 | "ISO14443", | |
34 | "ISO15693", | |
35 | "KeyCode", | |
36 | "Local", | |
37 | "MacAddress", | |
38 | "NoAuthorization" | |
39 | ] | |
40 | }, | |
41 | "AdditionalInfoType": { | |
42 | "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", | |
43 | "javaType": "AdditionalInfo", | |
44 | "type": "object", | |
45 | "additionalProperties": false, | |
46 | "properties": { | |
47 | "customData": { | |
48 | "$ref": "#/definitions/CustomDataType" | |
49 | }, | |
50 | "additionalIdToken": { | |
51 | "description": "This field specifies the additional IdToken.\r\n", | |
52 | "type": "string", | |
53 | "maxLength": 36 | |
54 | }, | |
55 | "type": { | |
56 | "description": "This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.\r\n", | |
57 | "type": "string", | |
58 | "maxLength": 50 | |
59 | } | |
60 | }, | |
61 | "required": ["additionalIdToken", "type"] | |
62 | }, | |
63 | "CertificateHashDataType": { | |
64 | "javaType": "CertificateHashData", | |
65 | "type": "object", | |
66 | "additionalProperties": false, | |
67 | "properties": { | |
68 | "customData": { | |
69 | "$ref": "#/definitions/CustomDataType" | |
70 | }, | |
71 | "hashAlgorithm": { | |
72 | "$ref": "#/definitions/HashAlgorithmEnumType" | |
73 | }, | |
74 | "issuerNameHash": { | |
75 | "description": "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n", | |
76 | "type": "string", | |
77 | "maxLength": 128 | |
78 | }, | |
79 | "issuerKeyHash": { | |
80 | "description": "Hashed value of the issuers public key\r\n", | |
81 | "type": "string", | |
82 | "maxLength": 128 | |
83 | }, | |
84 | "serialNumber": { | |
85 | "description": "The serial number of the certificate.\r\n", | |
86 | "type": "string", | |
87 | "maxLength": 40 | |
88 | } | |
89 | }, | |
90 | "required": ["hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber"] | |
91 | }, | |
92 | "IdTokenType": { | |
93 | "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", | |
94 | "javaType": "IdToken", | |
95 | "type": "object", | |
96 | "additionalProperties": false, | |
97 | "properties": { | |
98 | "customData": { | |
99 | "$ref": "#/definitions/CustomDataType" | |
100 | }, | |
101 | "additionalInfo": { | |
102 | "type": "array", | |
103 | "additionalItems": false, | |
104 | "items": { | |
105 | "$ref": "#/definitions/AdditionalInfoType" | |
106 | }, | |
107 | "minItems": 1 | |
108 | }, | |
109 | "idToken": { | |
110 | "description": "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", | |
111 | "type": "string", | |
112 | "maxLength": 36 | |
113 | }, | |
114 | "type": { | |
115 | "$ref": "#/definitions/IdTokenEnumType" | |
116 | } | |
117 | }, | |
118 | "required": ["idToken", "type"] | |
119 | } | |
120 | }, | |
121 | "type": "object", | |
122 | "additionalProperties": false, | |
123 | "properties": { | |
124 | "customData": { | |
125 | "$ref": "#/definitions/CustomDataType" | |
126 | }, | |
127 | "customerCertificate": { | |
128 | "$ref": "#/definitions/CertificateHashDataType" | |
129 | }, | |
130 | "idToken": { | |
131 | "$ref": "#/definitions/IdTokenType" | |
132 | }, | |
133 | "requestId": { | |
134 | "description": "The Id of the request.\r\n\r\n", | |
135 | "type": "integer" | |
136 | }, | |
137 | "report": { | |
138 | "description": "Flag indicating whether the Charging Station should return NotifyCustomerInformationRequest messages containing information about the customer referred to.\r\n", | |
139 | "type": "boolean" | |
140 | }, | |
141 | "clear": { | |
142 | "description": "Flag indicating whether the Charging Station should clear all information about the customer referred to.\r\n", | |
143 | "type": "boolean" | |
144 | }, | |
145 | "customerIdentifier": { | |
146 | "description": "A (e.g. vendor specific) identifier of the customer this request refers to. This field contains a custom identifier other than IdToken and Certificate.\r\nOne of the possible identifiers (customerIdentifier, customerIdToken or customerCertificate) should be in the request message.\r\n", | |
147 | "type": "string", | |
148 | "maxLength": 64 | |
149 | } | |
150 | }, | |
151 | "required": ["requestId", "report", "clear"] | |
152 | } |