Tokens module adjustments
Token whitelist type
Whitelist types per token can be shared as per OCPI specifications. Whitelist types NEVER and ALLOWED_OFFLINE will be forwarded to the CPOs, while whitelist types ALWAYS and ALLOWED will be overwritten with ALLOWED_OFFLINE when they are shared with the CPOs. The reason for this is to avoid the risk of tokens being whitelisted at CPOs in case of later migrations or miscommunication. The token whitelist types define the behaviour of real-time authorization and session allowance between Plugsurfing and the CPO, while the real-time authorization flow between Plugsurfing and you is managed through an organization setting in Plugsurfing Power Portal.Real-time authorisation
Real-time authorisation can be configured for your organization in Plugsurfing Power Portal. When enabling real-time authorization, you can also decide on the timeout and the behaviour in case of timeout or malformed response (accept/deny).- Real-time authorization (Enabled / Disabled)
- Timeout (1-10 seconds)
- Allow session on communication failure or timeout? (Yes / No)
- Step 1: Internal Validation - perform standard checks:
- Location within supported countries (based on existing location reference)
- Key enabled/disabled
- Step 2: Forwarding to EMP - If the internal checks pass, Plugsurfing forwards the request to you for real-time authorization.
Multiple keys per contract_id
Your organization can be set up to either support just one key per contract_id or multiple keys per contract_id. The default value is one key per contract_id, and if you support multiple keys per contract_id and want the setting enabled, you should know that there are a few limitations to the solution:- Restriction of maximum 25 tokens per contract ID. The reason for the limit is because of a limit/risk with OCPI 2.1.1 connections with CPO partners. If such partner just sends us just a CDR (for a local start), we will not be able to identify exactly which charging key performed the charge. In such case we will pick the first key matching the contract ID in the CDR.
- To clarify that the session was conducted where there is uncertainty of whether we share the correct charging key or not, a header X-Original-Protocol is available for outgoing requests over the Session and CDR module. It contains
<protocol>-<version>, where protocol can be OCPI or OICP. The current versions are listed below, but can be extended if we upgrade CPO integrations to higher versions.- OCPI-2.1.1
- OCPI-2.2
- OCPI-2.2.1
- OICP-2.3 (hubject)