Authorization ++++++++++++++++++++++++++++++ .. admonition:: Description. :class: seealso Authorization of a driver. Request/Response messages are used by services to request an authorization from the OCPP service. Update messages are used by OCPP to inform other services of an authorization which has already happened. For example an external authorization through the CSMS would be relayed using the Update message. If a driver is authorized for charging on the CS or 15118 service, OCPP may also use the Update to inform other services of this. For free charging, an authorization request is required of the type `no_authorization` (id_token should omitted) this will then be accepted immediately by Josev. .. jsonschema:: ../../../schemas/AuthorizationRequest.json :hide_key: /**/additionalProperties Example:: { "id": "57828133-8cfe-477d-b829-0b60aff90c2a", "name": "authorization", "type": "request", "data": {"evse_id": "GB*SEV*E123456789", #OPTIONAL "id_token": "03459512", #OPTIONAL (omitted for no_authorization) "token_type": "ISO14443" # ISO15693, key_code, local, no_authorization, mac_address } } .. admonition:: EVSE_ID can be an optional depending on the use case :class: tip CS manufacturers confirmed that often the RFID token is scanned before the actual cable is plugged and the EVSE is known. If the EV is plugged in after scanning the RFID token, then EVSE_ID is optional. It is for this reason that Switch's OCPP implementation side works with or without EVSE_ID included in the Request message. EVSE_ID value will then be inferred after the plug in event. .. warning:: If the EV is plugged in BEFORE scanning the RFID token, then the CS manufacturer MUST include the EVSE_ID in the payload. ---------- .. jsonschema:: ../../../schemas/AuthorizationResponse.json :hide_key: /**/additionalProperties Example:: { "id": "57828133-8cfe-477d-b829-0b60aff90c2a", "name": "authorization", "type": "response", "data": { "status": "accepted" # rejected, deauthorized } } ---------- .. jsonschema:: ../../../schemas/AuthorizationUpdate.json :hide_key: /**/additionalProperties Example:: { "id": "8562ab54-58cb-44aa-a3da-faec44dd203e", "name": "authorization", "type": "update", "data": {"evse_id": "DE*SEV*E123456789", "id_token": "FF44556670AA", #OPTIONAL (omitted for no_authorization) "token_type": "mac_address", # ISO14443, ISO15693, key_code, local, no_authorization, central, e_maid "status": "accepted" # rejected, deauthorized } }