{"info":{"_postman_id":"9ec7aeee-e5f8-4ba6-a067-658ed83011ed","name":"Ukheshe Technologies : Eclipse REST API - Public","description":"This is a RESTful web service using JSON as the data transfer model. The service covers all the tenant facing functionality in Eclipse\n\nUpdated 28 October 2021","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"eclipse-conductor/rest/v1","item":[{"name":"A. Authentication","item":[{"name":"Consumer","item":[{"name":"1. Create JWT with identity and password","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    var jwtExpiryEpoch = jsonData.expires;\r","    var jwt = jsonData.headerValue.split(' ')[1];\r","    var jwtData =  jwt_decode(jwt);\r","    pm.collectionVariables.set(\"consumerJwtToken\", jwt);\r","    pm.collectionVariables.set(\"consumerId\", jwtData.tenant);\r","    pm.collectionVariables.set(\"consumerJwtExpires\", jwtExpiryEpoch);\r","}); \r","\r","function jwt_decode(a) {\r","    var parts = a.split('.'); // header, payload, signature\r","    return JSON.parse(atob(parts[1]));\r","}\r",""]}}],"id":"189a9e55-abc6-4237-81d5-7184dcd4e555","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"identity\": \"{{consumerIdentity}}\",\n    \"password\": \"{{consumerPassword}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/login","description":"This is used to log in with an identity and password. The resulting Jwt specifies the header name and header value that should be passed on all subsequent requests to identity the caller. Tokens expire need to be renewed. Any request with an expired token will return an HTTP 401 error and should be renewed. Best practice is to store the expiry date and renew before the token expxires. Catching expiry errors and then deciding to renew and retry the request is often error prone."},"response":[]}],"id":"d5ae06ce-f8f6-496e-be37-d9d2c77e2b0c"},{"name":"Tenant","item":[{"name":"1. Create JWT with identity and password","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    var jwtExpiryEpoch = jsonData.expires;\r","    var jwt = jsonData.headerValue.split(' ')[1];\r","    var jwtData =  jwt_decode(jwt);\r","    pm.collectionVariables.set(\"tenantJwtToken\", jwt);\r","    pm.collectionVariables.set(\"tenantId\", jwtData.tenant);\r","    pm.collectionVariables.set(\"tenantJwtExpires\", jwtExpiryEpoch);\r","}); \r","\r","function jwt_decode(a) {\r","    var parts = a.split('.'); // header, payload, signature\r","    return JSON.parse(atob(parts[1]));\r","}\r",""]}}],"id":"759d6d98-46e5-4cb2-9e02-3c19db670d0a","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"identity\": \"{{tenantIdentity}}\",\n    \"password\": \"{{tenantPassword}}\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/login","description":"This is used to log in with an identity and password. The resulting Jwt specifies the header name and header value that should be passed on all subsequent requests to identity the caller. Tokens expire need to be renewed. Any request with an expired token will return an HTTP 401 error and should be renewed. Best practice is to store the expiry date and renew before the token expxires. Catching expiry errors and then deciding to renew and retry the request is often error prone."},"response":[]},{"name":"2. Renew a JWT by providing the current token  in the Authorization header or body","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200); // Stop if not\r","\r","    console.info(\"Storing renewed Tenant JWT\");\r","    var jsonData = JSON.parse(responseBody);\r","    //expires\":\"2021-04-30T08:31:43.749Z\",\"expiresEpochSecs\":1619771503}\r","    var jwtExpiryEpoch = jsonData.expires;\r","    \r","    var jwt = jsonData.headerValue.split(' ')[1];\r","    pm.collectionVariables.set(\"tenantJwtToken\", jwt);\r","    var jwtData =  jwt_decode(jwt);\r","    console.info(\"Tenant JWT breakdown\" ,jwtData);\r","    console.log(\"Tenant ID from JWT\" , jwtData.tenant);\r","    \r","    pm.collectionVariables.set(\"Eclipse_Tenant_Id\", jwtData.tenant);\r","    pm.collectionVariables.set(\"Eclipse_Tenant_JWT_Expires\", jwtExpiryEpoch);\r","}); \r","\r","function jwt_decode(a) {\r","    var parts = a.split('.'); // header, payload, signature\r","    return JSON.parse(atob(parts[1]));\r","}\r",""]}}],"id":"fc0e42d7-6ffb-4ca9-bb62-98dca71835ef","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"jwt\": \"{{tenantJwtToken}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/renew","description":"This is used to renew a token. The resulting new Jwt specifies the header name and header value that should be passed on all subsequent requests to identity the caller. Tokens expire and need to be renewed again. You only need to pass the expired JWT. Auth credentials are not needed to renew a token"},"response":[]},{"name":"3. Invalidate the token provided in the Authorization header or body","id":"8d9dc4b5-2a84-44cd-9429-85b2d9cefe11","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"jwt\": \"{{tenantJwtToken}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/logout","description":"The token will no longer work for subsequent requests and cannot be renewed."},"response":[]},{"name":"4. Get a PKI challenge for use on /login, with an associated challenge to the server to prove its identity","id":"bd9f495f-f05a-411d-9d5c-0fddf0e2cacc","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/login-challenges?clientChallenge={{tenantClientChallenge}}&identity={{tenantIdentity}}","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","authentication","login-challenges"],"query":[{"key":"clientChallenge","value":"{{tenantClientChallenge}}"},{"key":"identity","value":"{{tenantIdentity}}"}]},"description":"The server will generate some random data and encrypt it using the public key of the user identity (with RSA/ECB/OAEPWithSHA-1AndMGF1Padding) and base64 encode the result and return it. The client then has until the expiry time to call the /login endpoint and provide a SHA256 hash of the challenge data and SHA256 hash of the decrypted result. The decryption should be done using the corresponding private key which only the tenant would have. If clientChallenge is provided then the server will base64 decode it and decrypt it using the Eclipse private key and return the SHA256 of the result in field base64EncodedClientChallengeResponse."},"response":[]},{"name":"5. Create JWT with identity and base64EncodedChallengeHash","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    var jwtExpiryEpoch = jsonData.expires;\r","    var jwt = jsonData.headerValue.split(' ')[1];\r","    var jwtData =  jwt_decode(jwt);\r","    pm.collectionVariables.set(\"tenantJwtToken\", jwt);\r","    pm.collectionVariables.set(\"tenantId\", jwtData.tenant);\r","    pm.collectionVariables.set(\"tenantJwtExpires\", jwtExpiryEpoch);\r","}); \r","\r","function jwt_decode(a) {\r","    var parts = a.split('.'); // header, payload, signature\r","    return JSON.parse(atob(parts[1]));\r","}\r",""]}}],"id":"3bb6d8f7-1118-4bd6-9398-d48d7f4dca6e","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"identity\": \"{{tenantIdentity}}\",\n    \"password\": \"{{tenantPassword}}\",\n    \"base64EncodedChallengeHash\": \"rkJCRm/ZoZO1flFj9Gd9cxa/09WB29Qy2gfWMCFRmVg=\",\n    \"base64EncodedChallengeResponse\": \"hMzkeuSXYCJMK5bYNX0t4YylNoo+LUJ5IvoBDN3kGLI=\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/login","description":"This is used to log in with an identity and password. The resulting Jwt specifies the header name and header value that should be passed on all subsequent requests to identity the caller. Tokens expire need to be renewed. Any request with an expired token will return an HTTP 401 error and should be renewed. Best practice is to store the expiry date and renew before the token expxires. Catching expiry errors and then deciding to renew and retry the request is often error prone."},"response":[]}],"id":"f335d503-8ab1-4111-af4d-68e9beadcaee"},{"name":"Anonymous / Impersonation","item":[{"name":"1. Create Consumer JWT with Tenant JWT","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    var jwtExpiryEpoch = jsonData.expires;\r","    var jwt = jsonData.headerValue.split(' ')[1];\r","    var jwtData =  jwt_decode(jwt);\r","    pm.collectionVariables.set(\"consumerJwtToken\", jwt);\r","    pm.collectionVariables.set(\"consumerId\", jwtData.tenant);\r","    pm.collectionVariables.set(\"consumerJwtExpires\", jwtExpiryEpoch);\r","}); \r","\r","function jwt_decode(a) {\r","    var parts = a.split('.'); // header, payload, signature\r","    return JSON.parse(atob(parts[1]));\r","}\r",""]}}],"id":"31b0abf7-291b-4ad3-80a4-aadb7b581df0","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"identity\": \"{{consumerIdentity}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/login","description":"This is used to log in with an identity and password. The resulting Jwt specifies the header name and header value that should be passed on all subsequent requests to identity the caller. Tokens expire need to be renewed. Any request with an expired token will return an HTTP 401 error and should be renewed. Best practice is to store the expiry date and renew before the token expxires. Catching expiry errors and then deciding to renew and retry the request is often error prone."},"response":[]}],"id":"b36117ed-cdf9-4248-afae-20acd106691a"},{"name":"Integrator","item":[{"name":"1. Create JWT with identity and password","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    var jwtExpiryEpoch = jsonData.expires;\r","    var jwt = jsonData.headerValue.split(' ')[1];\r","    var jwtData =  jwt_decode(jwt);\r","    pm.collectionVariables.set(\"integratorJwtToken\", jwt);\r","    pm.collectionVariables.set(\"integratorId\", jwtData.tenant);\r","    pm.collectionVariables.set(\"integratorJwtExpires\", jwtExpiryEpoch);\r","}); \r","\r","function jwt_decode(a) {\r","    var parts = a.split('.'); // header, payload, signature\r","    return JSON.parse(atob(parts[1]));\r","}\r",""]}}],"id":"ae6335d9-01c7-466c-ba3a-a809b09c6307","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"identity\": \"mtechintegrator\",\n    \"password\": \"mtechintegrator\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/authentication/login","description":"This is used to log in with an identity and password. The resulting Jwt specifies the header name and header value that should be passed on all subsequent requests to identity the caller. Tokens expire need to be renewed. Any request with an expired token will return an HTTP 401 error and should be renewed. Best practice is to store the expiry date and renew before the token expxires. Catching expiry errors and then deciding to renew and retry the request is often error prone."},"response":[]}],"id":"a873ee8f-04ea-4bbd-a265-5806b915b146"}],"id":"0b4321c6-6b8d-41b4-bfd6-637adedf4f17","description":"Authentication and authorisation is done via JWT's obtained with an identity and password and optionally an additional PKI challenge/response. There are 2 types of identities - those of a tenant system and those of a customer. Both can be created by a tenant. JWT's should be reused until they are about to expire. They can be renewed or a new JWT obtained with the identity and password again. Always obey the JWT expiry to avoid failed calls with expired tokens. PKI is recommended for higher security and involves setting a RSA X.509 public key on the tenant/customer identity. If a public key is set then Eclipse will force using a challenge/response algorithm in order to get a JWT when calling /login. This works as follows: 1) Client calls login-challenges passing the identity they want to log in with. 2) Server looks up the public key on record and generates some random data and encrypts it using the public key (with RSA/ECB/OAEPWithSHA-1AndMGF1Padding) and returns the data. 3) Client must base64 decode the challenge and a) Do a SHA256 of it and then base64 encode the result for the base64EncodedChallengeHash field and b) Decrypt it using the private key and SHA256 that result and then base64 encode it for the base64EncodedChallengeResponse field. 4) The server verifies the identity, password & challenges all compute and if so provide a JWT. This ensures that it is physically impossible for anyone to get a JWT without having the private key, and the private key never leaves the tenants system. So as long as the tenant never exposes it's private key, only the tenant can ever get a JWT.","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"711e632e-7ff0-49be-901c-1703db077b5e","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"24a8c123-779b-4a8f-90eb-ec63e6808b0f","type":"text/javascript","exec":[""]}}]},{"name":"B. Tenant Configuration & Onboarding","item":[{"name":"Admin Users","item":[{"name":"1. Get a list of admin users in the tenant","id":"028b0bde-981c-4a5b-9a3f-a403c345b8ee","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/admin-users","description":"Returns all the admin users in the tenant"},"response":[]},{"name":"2. Create a user which can administer the tenant","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing admin detail\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantAdminUserId\", jsonData.version);\r","}); \r",""]}}],"id":"39464114-ba39-4d1d-ad57-f348f84d1bc2","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"phone1\": \"08312345678\",\n    \"email\": \"admin@tenant.com\",\n    \"firstName\": \"{{$randomFirstName}}\",\n    \"lastName\": \"{{$randomLastName}}\",\n    \"identity\": \"{{$randomUserName}}\",\n    \"password\": \"{{$randomPassword}}\",\n    \"positions\": [\n        \"LEVEL_01\",\n        \"TENANT_SYSTEM\"\n    ],\n    \"base64EncodedPublicKey\": null,\n    \"ssoEnabled\": false,\n    \"totpEnabled\": false\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/admin-users","description":"If using PKI, to generate a public/private key combination use openssl: openssl req -nodes -x509 -sha256 -newkey rsa:4096 -keyout \"PrivateKey.key\" -out \"PublicKey.crt\" -days 99999 Then extract the base64 public key from the certificate as follows: openssl x509  -in PublicKey.crt -pubkey -noout | grep -v \"\\-\\-\\-\\-\\-\" | base64 -d| base64 -w0 "},"response":[]},{"name":"3. Update an admin user","id":"34e18a61-5061-4d53-bce6-1a7eafd38a98","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"phone1\": \"08312345678\",\n    \"email\": \"admin@tenant.com\",\n    \"firstName\": \"{{$randomFirstName}}\",\n    \"lastName\": \"{{$randomLastName}}\",\n    \"password\": \"{{$randomPassword}}\",\n    \"positions\": [\n        \"LEVEL_01\",\n        \"TENANT_SYSTEM\"\n    ],\n    \"base64EncodedPublicKey\": null,\n    \"ssoEnabled\": false,\n    \"totpEnabled\": false\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/admin-users/{{tenantAdminUserId}}","description":"Updates the admin user"},"response":[]},{"name":"4. Delete an admin user","id":"27640500-4a1f-44d8-8498-c9e26d5ffde2","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/admin-users/xyz","description":"Deletes the admin user"},"response":[]}],"id":"ef6cb8f3-b140-4720-9dbf-3e6507029899"},{"name":"Reports","item":[{"name":"1. Run a tenant report and return the result","id":"c38e37fb-dd5e-4aa1-b7e6-f816141e9883","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{Eclipse_Tenant_Id}}/reports/:reportId?d1=do dolor occaecat minim&d2=do dolor occaecat minim&d3=do dolor occaecat minim&d4=do dolor occaecat minim&d5=do dolor occaecat minim&d6=do dolor occaecat minim&d7=do dolor occaecat minim&d8=do dolor occaecat minim&n1=-76388944.19764349&n2=-76388944.19764349&n3=-76388944.19764349&n4=-76388944.19764349&n5=-76388944.19764349&n6=-76388944.19764349&n7=-76388944.19764349&n8=-76388944.19764349&s1=do dolor occaecat minim&s2=do dolor occaecat minim&s3=do dolor occaecat minim&s4=do dolor occaecat minim&s5=do dolor occaecat minim&s6=do dolor occaecat minim&s7=do dolor occaecat minim&s8=do dolor occaecat minim","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{Eclipse_Tenant_Id}}","reports",":reportId"],"query":[{"key":"d1","value":"do dolor occaecat minim"},{"key":"d2","value":"do dolor occaecat minim"},{"key":"d3","value":"do dolor occaecat minim"},{"key":"d4","value":"do dolor occaecat minim"},{"key":"d5","value":"do dolor occaecat minim"},{"key":"d6","value":"do dolor occaecat minim"},{"key":"d7","value":"do dolor occaecat minim"},{"key":"d8","value":"do dolor occaecat minim"},{"key":"n1","value":"-76388944.19764349"},{"key":"n2","value":"-76388944.19764349"},{"key":"n3","value":"-76388944.19764349"},{"key":"n4","value":"-76388944.19764349"},{"key":"n5","value":"-76388944.19764349"},{"key":"n6","value":"-76388944.19764349"},{"key":"n7","value":"-76388944.19764349"},{"key":"n8","value":"-76388944.19764349"},{"key":"s1","value":"do dolor occaecat minim"},{"key":"s2","value":"do dolor occaecat minim"},{"key":"s3","value":"do dolor occaecat minim"},{"key":"s4","value":"do dolor occaecat minim"},{"key":"s5","value":"do dolor occaecat minim"},{"key":"s6","value":"do dolor occaecat minim"},{"key":"s7","value":"do dolor occaecat minim"},{"key":"s8","value":"do dolor occaecat minim"}],"variable":[{"key":"reportId","value":"do dolor occaecat minim","description":"(Required) "}]},"description":"Runs a pre-configured report for a tenant and returns the results"},"response":[]}],"id":"b995b201-4b07-437f-9585-604e5f0f7583"},{"name":"1. Get a tenant by tenant id","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing Tenant Details\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantName\", jsonData.name);\r","    pm.collectionVariables.set(\"tenantEmail\", jsonData.email);\r","    pm.collectionVariables.set(\"tenantPhone1\", jsonData.phone1);\r","    pm.collectionVariables.set(\"tenantCompanyNumber\", jsonData.companyNumber);\r","    pm.collectionVariables.set(\"tenantTaxNumber\", jsonData.taxNumber);\r","    pm.collectionVariables.set(\"tenantTradingName\", jsonData.tradingName);\r","    pm.collectionVariables.set(\"tenantSector\", jsonData.industrialSector);\r","    pm.collectionVariables.set(\"tenantClassification\", jsonData.industrialClassification);\r","    pm.collectionVariables.set(\"tenantDetailVersion\", jsonData.version);\r","}); \r",""]}}],"id":"41f55c06-1ca5-43cb-852f-652bfc00b90f","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}","description":"Returns the tenant"},"response":[]},{"name":"2. Update the details of an existing tenant","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing Tenant Details Version\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantDetailVersion\", jsonData.version);\r","}); \r",""]}}],"id":"b538fca5-2d08-49ce-965b-72e0a67687a8","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"version\": {{tenantDetailVersion}},\n    \"name\": \"{{tenantName}}\",\n    \"email\": \"{{tenantEmail}}\",\n    \"phone1\": \"{{tenantPhone1}}\",\n    \"companyNumber\": \"{{tenantCompanyNumber}}\",\n    \"taxNumber\": \"{{tenantTaxNumber}}\",\n    \"tradingName\": \"{{tenantTradingName}}\",\n    \"industrialSector\": \"{{tenantSector}}\",\n    \"industrialClassification\": \"{{tenantClassification}}\"\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}","description":"Updates and then returns the tenant"},"response":[]},{"name":"3. Create a wallet directly attached to the tenant","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing tenantWalletId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantWalletId\", jsonData.walletId);\r","}); \r",""]}}],"id":"4611a4cc-38c1-45ca-8035-0a61ea5e96d7","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"{{$randomCompanyName}}\",\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"walletTypeId\": {{tenantWalletTypeId}},\n    \"status\": \"ACTIVE\",\n    \"currency\": \"ZAR\"\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/tenant-wallets","description":"Creates a wallet linked to the tenant directly for system or suspense purposes. These wallets cannot have an associated physical card hence primaryPhysicalCardIdentifier must not be provided"},"response":[]},{"name":"4. Get list of wallets directly attached to the tenant.","id":"d4cfe605-d9fe-450d-95ab-96dc5c867475","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/tenant-wallets","description":"Lists all the wallets directly linked to the tenant These are typically for system purposes or suspense wallets."},"response":[]}],"id":"915fd1e4-7b65-4f45-a0e8-ba80377d416b","description":"A tenant is a client of the Eclipse platform. All API's called by a tenant can only access that tenants data which is logically separated from other tenants data. Attempts to access data belonging to a different tenant than the one for which a JWT is obtained will result is a security exception being returned.","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"80619a9f-e439-4a93-82a9-a8504fbb9300","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"fbd327c1-5403-46c5-aa35-28812de3bbbb","type":"text/javascript","exec":[""]}}]},{"name":"C. Wallet Types & Configuration","item":[{"name":"1. Get list of the tenants wallet types","id":"134d41c8-d599-470f-9f24-7d996663d1ae","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallet-types","description":"Returns all wallet types configured for the tenant"},"response":[]},{"name":"2. Create a new wallet type","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing tenantWalletTypeId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantWalletTypeId\", jsonData.walletTypeId);\r","}); \r",""]}}],"id":"24481fba-c369-427f-9743-2411867f781a","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"configuration\": [\n    {\n      \"att\": \"Currency\",\n      \"val\": \"ZAR\"\n    }\n  ],\n  \"mode\": \"OPEN_LOOP_DIGITAL\",\n  \"name\": \"Source of funds\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallet-types","description":"This wallet type can then be used for creating wallets"},"response":[]},{"name":"3. Get Wallet Type by walletTypeId","id":"616bd60a-db57-4b70-af94-62348e938394","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallet-types/{{tenantWalletTypeId}}","description":"Get a specific wallet type"},"response":[]},{"name":"4. Update a wallet type by walletTypeId","id":"448aa813-2797-4254-9993-9eeacaf98c14","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"MTech Wallet\",\n    \"configuration\": [\n        {\n            \"att\": \"Currency\",\n            \"val\": \"ZAR\"\n        }\n    ]\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallet-types/{{tenantWalletTypeId}}","description":"Update an existing wallet type"},"response":[]},{"name":"5. Delete a wallet type by walletTypeId","id":"57818046-15e1-4c9a-8256-652afa0c3d91","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallet-types/{{tenantWalletTypeId}}","description":"Delete an existing wallet type. This will only be allowed if the wallet type has no wallets"},"response":[]}],"id":"7ddd9d19-4974-42f4-9412-dbf238c2d415","description":"A wallet type determines the setup, configuration and behaviour of all wallets created with the wallet type. Think of it as a template for creating wallets. Wallet types hold many rules and bahaviours and customisations for a tenant. For complex options and functionality please consult with Ukheshe support as to the configuration parameters to provide in the configuration AVP's."},{"name":"D. Customer","item":[{"name":"Cards","item":[{"name":"1. Get a customers cards","id":"9ecb0a89-340c-4426-8ce3-f8d6863930e2","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards","description":"Returns all cards held by the customer"},"response":[]},{"name":"2. Create VCC","id":"a5ebd0c2-091f-408b-8ad5-052161e2e13b","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"primaryPhysicalCardIdentifier\": {\n        \"cardId\": \"\",\n        \"packId\": \"\",\n        \"pan\": \"\"\n    },\n    \"status\": \"ACTIVE\",\n    \"name\": \"my {{$randomWord}} Card\",\n    \"description\": \"vcc\",\n    \"walletTypeId\": 52,\n    \"cardType\": \"virtual\",\n    \"customerSearch\": \"\",\n    \"searchBy\": \"lastName\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/wallets","description":"This is for addon and replacement cards. For a nett-new card, create a new wallet which supports cards. If physical card details are provided then an existing physical card will be used or else a virtual card will be issued"},"response":[]},{"name":"4. Create Phisical Card","id":"bdd7898f-5fc4-455f-a887-9de0e9e4d118","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"primaryPhysicalCardIdentifier\": {\n        \"packId\": \"0PRG17USD0000012521\"\n    },\n    \"status\": \"ACTIVE\",\n    \"name\": \"my {{$randomWord}} phys\",\n    \"description\": \"phys\",\n    \"walletTypeId\": 52,\n    \"cardType\": \"phisical\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/wallets","description":"This is for addon and replacement cards. For a nett-new card, create a new wallet which supports cards. If physical card details are provided then an existing physical card will be used or else a virtual card will be issued"},"response":[]},{"name":"3. Retrieve Card Details","id":"cef438bf-872d-4126-89e4-6c5d5db128c6","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/cards/{{consumerCardId}}?masked=true&cap=1111","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","cards","{{consumerCardId}}"],"query":[{"key":"masked","value":"true"},{"key":"cap","value":"1111"}]},"description":"Returns masked card detail"},"response":[]},{"name":"Card Captive Portal Create pin","id":"d8f270ac-f884-405a-a926-37035fd31cc7","request":{"method":"VIEW","header":[],"url":{"raw":"{{baseUrl}}/card-ui/?interactionType=createPin&tenantId={{tenantId}}&userId={{consumerId}}&cardId={{consumerCardId}}","host":["{{baseUrl}}"],"path":["card-ui",""],"query":[{"key":"interactionType","value":"createPin"},{"key":"tenantId","value":"{{tenantId}}"},{"key":"userId","value":"{{consumerId}}"},{"key":"cardId","value":"{{consumerCardId}}"}]},"description":"Redirect user to this url in a browser to set a pin to view card.\nThis pin will become the user's CAP (Card Access Password)"},"response":[]},{"name":"Card Captive Portal View card","id":"9d3e3207-8016-4e57-840e-241b39d7bc9b","request":{"method":"VIEW","header":[],"url":{"raw":"{{baseUrl}}/card-ui/?interactionType=createPin&tenantId={{tenantId}}&userId={{consumerId}}&cardId={{consumerCardId}}","host":["{{baseUrl}}"],"path":["card-ui",""],"query":[{"key":"interactionType","value":"createPin"},{"key":"tenantId","value":"{{tenantId}}"},{"key":"userId","value":"{{consumerId}}"},{"key":"cardId","value":"{{consumerCardId}}"}]},"description":"Redirect user to this url in a browser to view card.\nUser will need to enter their CAP (Card Access Password)"},"response":[]},{"name":"Issue a replacement or addon card to the customer for an existing card on their profile.","id":"219c1947-0d45-409c-a8b6-01a68264cd97","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"cardRules\": {\n        \"ecommerceTransactionsEnabled\": true,\n        \"internationalTransactionsEnabled\": true\n    },\n    \"status\": \"ACTIVE\",\n    \"walletId\": {{consumerWalletId}},\n    \"operationType\": \"CARD_REPLACEMENT\",\n     \"physicalCardIdentifier\": {\n        \"cardId\": 0,\n        \"packId\": \"reprehenderit id \",\n        \"pan\": \"voluptate repreh\",\n        \"qrCode\": \"aliqua Excepteur d\"\n    }\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards","description":"This is for addon and replacement cards. For a nett-new card, create a new wallet which supports cards. If physical card details are provided then an existing physical card will be used or else a virtual card will be issued"},"response":[]}],"id":"d0dbc6b6-e36b-4845-9380-5fb487993a83"},{"name":"Cards on file","item":[{"name":"1. Get a customers cards on file","id":"c76560dd-56ce-42b3-b37e-a61ae6e10311","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file","description":"Returns all cards on file held by the customer. This has nothing to do with Eclipse issued cards. This is for any card the customer wants to tore on file with Eclipse"},"response":[]},{"name":"8.  Get a customers cards on file by cardOnFileId","id":"b2edac20-46b8-4903-8b43-27b543cb4a36","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file{{cnsumerCardOnFileId}}","description":"Returns all cards on file held by the customer. This has nothing to do with Eclipse issued cards. This is for any card the customer wants to tore on file with Eclipse"},"response":[]},{"name":"2. Add a card on file (UX Flow)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing cardOnFileId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerCardOnFileId\", jsonData.cardOnFileId);\r","}); \r",""]}}],"id":"7e06f319-14ea-4117-bc4b-b82a68f3282b","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"alias\": \"My Card {{$randomInt}}\",\n  \"landingUrl\": \"{{requestBinUrl}}/landing\",\n  \"callbackUrl\": \"{{requestBinUrl}}/callback\"\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file","description":"There are 2 scenarios. First is where a cardId is provided. In this case the caller must be the card owner and the Eclipse issued card will be added to Card on file and will return the cardOnFileId The second scenario is where cardId is not provided. A completion URL will be returned which can be opened in an iFrame for the customer to add card details. Once completed, the CardOnFile will be POSTED to the callbackUrl"},"response":[]},{"name":"3. Update a customers cards on file.","id":"ef6ac48d-e29f-4b7d-8193-e168b5ced0dc","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"alias\": \"My Alias {{$randomWord}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file/{{consumerCardOnFileId}}","description":"Update a customers card on file"},"response":[]},{"name":"4. Delete card on file","id":"2cea871e-e621-4303-ba67-41b72ef15bbe","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file/{{consumerCardOnFileId}}","description":"Delete a card on file"},"response":[]},{"name":"5. Add a card on file for the customer","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing cardOnFileId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerCardOnFileId\", jsonData.cardOnFileId);\r","}); \r",""]}}],"id":"93cc7920-9596-4aac-8a86-4de78ff8cc9b","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"alias\": \"My Card {{$randomInt}}\",\n  \"landingUrl\": \"{{requestBinUrl}}/landing\",\n  \"callbackUrl\": \"{{requestBinUrl}}/callback\"\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file","description":"There are 2 scenarios. First is where a cardId is provided. In this case the caller must be the card owner and the Eclipse issued card will be added to Card on file and will return the cardOnFileId The second scenario is where cardId is not provided. A completion URL will be returned which can be opened in an iFrame for the customer to add card details. Once completed, the CardOnFile will be POSTED to the callbackUrl"},"response":[]},{"name":"6. Initiate adding a card on file for the customer CardId","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing cardOnFileId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerCardOnFileId\", jsonData.cardOnFileId);\r","}); \r",""]}}],"id":"040f70d0-22fe-4be2-a77e-af91a361e3b9","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"alias\": \"My Card {{$randomInt}}\",\n   \"cardId\" : \"261\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file","description":"There are 2 scenarios. First is where a cardId is provided. In this case the caller must be the card owner and the Eclipse issued card will be added to Card on file and will return the cardOnFileId The second scenario is where cardId is not provided. A completion URL will be returned which can be opened in an iFrame for the customer to add card details. Once completed, the CardOnFile will be POSTED to the callbackUrl"},"response":[]},{"name":"7. Add a card on file (Full Detail)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing cardOnFileId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerCardOnFileId\", jsonData.cardOnFileId);\r","}); \r",""]}}],"id":"b7a5f52e-cded-46a4-91d1-15f4d8cbb4eb","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"alias\": \"My Card {{$randomInt}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/callback\",\n    \"cardData\": {\n        \"accountType\": \"01\",\n        \"cardholderName\": \"{{$randomFirstName}} \",\n        \"expiry\": \"1022\",\n        \"pan\": \"5412830000965450\",\n        \"alias\": \"My new Card {{$randomInt}}\",\n        \"cvv\": \"128\",\n        \"dob\": \"19861201\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/cards-on-file","description":"There are 2 scenarios. First is where a cardId is provided. In this case the caller must be the card owner and the Eclipse issued card will be added to Card on file and will return the cardOnFileId The second scenario is where cardId is not provided. A completion URL will be returned which can be opened in an iFrame for the customer to add card details. Once completed, the CardOnFile will be POSTED to the callbackUrl"},"response":[]}],"id":"11e98f95-3abf-4e25-867b-8d0f67dbf6df"},{"name":"Identities","item":[{"name":"1. Get a list of the customers identities","id":"305f9055-ec7d-4e0e-b20b-5e520ba3a8ca","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/identities","description":"Returns the identities of the customer"},"response":[]},{"name":"2. Create a username/password for a customer","event":[{"listen":"prerequest","script":{"id":"3d707b10-a1df-4ff5-9354-1b72eb31c818","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"1589df1e-5b58-4fa3-8479-9a6f0003e4eb","exec":[""],"type":"text/javascript"}}],"id":"c0831f6e-3d80-4c9b-9d8a-cf1c6c1b3984","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"identity\": \"Client-{{consumerCustomerId}}\",\n  \"password\": \"Client-Pass-{{consumerCustomerId}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/identities","description":"Customers can then get a JWT with these credentials and access their profile, wallets, cards etc. This is necessary when tenants want to give their customers direct access to the Ukheshe APIs or for customers using Ukheshe companion Apps. If using PKI, to generate a public/private key combination use openssl: openssl req -nodes -x509 -sha256 -newkey rsa:4096 -keyout \"PrivateKey.key\" -out \"PublicKey.crt\" -days 99999 Then extract the base64 public key from the certificate as follows: openssl x509  -in PublicKey.crt -pubkey -noout | grep -v \"\\-\\-\\-\\-\\-\" | base64 -d| base64 -w0 "},"response":[]},{"name":"3. Update a password for a customer","id":"efeee3ad-e00a-42b8-8490-2e550467c0b0","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"password\": \"{{consumerPassword}}\",\n    \"totpEnabled\": false,\n    \"totpReset\": false\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/identities/{{consumerIdentity}}","description":"It is the responsibility of the tenant to ensure they have verified that the customer is the one setting the new password"},"response":[]},{"name":"4. Delete an identity for a customer","id":"ee8934c0-8db9-42c5-a531-5d828b2b33b1","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/identities/{{consumerIdentity}}","description":"Delete the identity so it cannot be used"},"response":[]},{"name":"5. Create a CAP user Identity","event":[{"listen":"prerequest","script":{"id":"dab6d095-dbc1-4211-bbc5-6db4ec9748f2","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"eaa9fe65-9f4b-4f19-9e4e-dc2db97b4c8a","exec":[""],"type":"text/javascript"}}],"id":"884a6e86-9ddc-49d1-9916-eafd9c617040","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"identity\": \"CAP\"\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/identities","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","identities"],"variable":[{"id":"904c2261-5f2d-4953-8076-9da0e1b02b67","key":"tenantId","value":"80680079","description":"(Required) "},{"id":"d28e3f6d-1857-4dbb-b071-2af9da215ab3","key":"customerId","value":"80680079","description":"(Required) "}]},"description":"Customers can then get a JWT with these credentials and access their profile, wallets, cards etc. This is necessary when tenants want to give their customers direct access to the Ukheshe APIs or for customers using Ukheshe companion Apps. If using PKI, to generate a public/private key combination use openssl: openssl req -nodes -x509 -sha256 -newkey rsa:4096 -keyout \"PrivateKey.key\" -out \"PublicKey.crt\" -days 99999 Then extract the base64 public key from the certificate as follows: openssl x509  -in PublicKey.crt -pubkey -noout | grep -v \"\\-\\-\\-\\-\\-\" | base64 -d| base64 -w0 "},"response":[]}],"id":"ea93e994-1901-40f0-910b-54efaf52c359"},{"name":"Positions","item":[{"name":"1. Get a list of positions held by the customer.","id":"29401824-351c-4c6e-82b0-cc4839433ca7","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/positions","description":"Positions are held by customers in an organisation. E.g. CEO, employee etc. Positions impact security access to wallets held by the organisation"},"response":[]},{"name":"2. Add a position held by the customer.","id":"1a4c7f0c-43e3-44eb-9472-e0b9e3bc0198","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"organisationId\": \"{{organisationId}}\",\n    \"position\": \"HEAD\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/positions","description":"Positions are held by customers in an organisation. E.g. CEO, employee etc. Positions impact security access to wallets held by the organisation"},"response":[]},{"name":"3. Delete a position held by a customer in an organisation.","id":"94ba6032-cd8b-4c05-b58e-0727090d1ef2","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/positions/{{organisationId}}/HEAD","description":"Positions are held by customers in an organisation. E.g. CEO, emplyee etc. Positions impact security access to wallets held by the organisation"},"response":[]}],"id":"34b9c6dc-74fe-4b3f-9b0d-9fc534d80d83"},{"name":"Addresses","item":[{"name":"1. Get a list of the customers addresses","id":"209bd3ee-82cf-4e19-83d7-41e069f51aef","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/addresses","description":"This will return all addresses linked to the customer"},"response":[]},{"name":"2. Add a new address for the customer","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing consumerAddressId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerAddressId\", jsonData.addressId);\r","}); \r",""]}}],"id":"84f6c59e-4022-4c0f-af62-2295002443b8","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"addressType\": \"PHYSICAL\",\n    \"city\": \"JHB\",\n    \"country\": \"SOUTH AFRICA\",\n    \"line1\": \"{{$randomStreetAddress}}\",\n    \"line2\": \"{{$randomStreetAddress}}\",\n    \"state\": \"GAUTENG\",\n    \"code\": \"{{$randomInt}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/addresses","description":"Creates a new address linked to the customer. You can give a customer multiple addresses."},"response":[]}],"id":"b86a9c94-f12f-4b7f-9762-550a3939bf07"},{"name":"KYC / Ratify","item":[{"name":"10. Get list of the customers documents","id":"1512f426-081d-434a-a054-6e90ad2d593b","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/documents","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","documents"],"variable":[{"id":"17cf7ce3-b51d-4099-9e64-077596ed840e","key":"tenantId","value":"80680079","description":"(Required) "},{"id":"f4d2444c-2518-4088-a381-5d01c765ec94","key":"customerId","value":"80680079","description":"(Required) "}]},"description":"This will return all documents linked to the customer"},"response":[]},{"name":"11. Add  a new document against the customer","event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerDocumentId\", jsonData.documentId);\r","}); \r","\r",""]}}],"id":"371eeee3-cc5a-442b-82bb-554577044e20","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"documentType\":\"NATIONAL_IDENTITY\",\n    \"mediaType\": \"image/jpeg\",\n    \"base64EncodedDocument\": \"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xG5un16N+NvS8nqQuPGWEt2bhLkeFBuSLHyfC/6Q9icWxHkFUhOpi5JokmljCH7xOWu0RYhB3g00HtWRUrJCXsFYOZ4IsxbDr3t71Pg0qrFoQh9zf9dgqCXTMYVBUblNTHYIx9l4m7/AihoUO8Z8b8L8bckimRkOWRPyboVrGQFfa/8ASe3vMq+w8+8P1s+W/GHL+N/kLVkNLwv6NtCd3T+j4nlX2oIoBik0xXP3dx+AYxzX4X425seGJ5PSlHKuPCStdqPxiJKSLJKw17qL+9X4KRGB47IcY5/uKiJCRJKyQ2qHutXBqhiv64ImwZrM5LTsy/YT461l/hf3d24WFMebBLNyzR3khU7+PZlYFWML55L+gpLjhEocF5HRASVNPUkLCIGUaVqkWAmJqbc6vQfS0iJWAnTXE0gwgkig2hmi/wBxpLEwi9YSQU/NpCN8cehx4UFeelMLnr2uj56/Dl5S7plSlFRRhf0XXv3Kt/RWWoMSSJFCsksOTHocejx6TPj6tKF56WwvK5oS2Pdpo9eTHg0kchPPEjCZ/WY/+Nj0OIj+aBHcbExU0MF0zBsWbh3/ANLpLs6XshCuNENrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWIVxqhdJl3SvdhqSwf8f71LWWnqptY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaw0lJ6L/9kv/aAAwDAQACAAMAAAAQ888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww488888888888tn222226666666662222222226666666662222XQ8888888888tnne+p3uw/424muIyZcYh287jqtIbF+V1i3+Onnh8888888888Pnn3GiJFiYZvJqaNMv1/FT1ouPVrbma1ff3Wznnz8888888888PnnlUnGjIaY4oI4oUnHGkEEUXyYob4LaYYEHGnn38888888888pKqKqqKGWGGWGWGCCKqKqqKqKGWWGWGWGCCKqqKt8888888888zbbbbbbnnnnnnnnnbbbbbbbbbHnnnnnnnnbbbbbf8888888888ze9+++++++++++MvTdfbTVTZTrnnnnnnnnbbbbbf8888888888zYrAAAAAAAAAAABv8rIbtxVagonnnnnnnnbbbbbP8888888888zYrAABBIO7DBAABvbbbbbbbbbnnnnnnnnnbbbbbP8888888888zYrAAOd999sbAABvbbbbbbbbbnnnnnnnnnbbbbbP8888888888zYrAA499999qAABvzd0AzObbannnnnnnnnbbbbbP8888888888zYrAAWghAAxrBABvdJrWKqbenunnnnnnnnbbbbbP8888888888zYrABdGTBM1/VPHiWx0OtsRNaFujuvnnnnTbbbbf8888888888/ErAA7QjKwWkdjq2v3831RjuGq2KqGDrrLHXXXHX8888888888PkrAAsNwCFXoAhzCm2G2GmW22qqqaKbbbbHnnnn38888888888PkrAA0GM6hMKAAB7njvnvvnvnfffXTbbbbnnnnnz8888888888PkrAAAkiZhzAAAB7tGIiEsIM9ORATZbbbbnnnnnz8888888888PkrAAFRblJgPBAB7b8SLD5mY47rbL7bbbbnnnnnz8888888888PktBxFIAnMCBDDD7MUHqFyJOMbbbbbbbbbnnnnnz8888888888PkSAATfUR6+JAQV7nnnnnnnnnbbbbbbbbbnnnnnz8888888888PgrBBDKk1kGJBBU7nnnjjsnnnYcTbabbbRjrknnz8888888888PnnFFFBBJJFJJJbbHnntCdnnnBzIy4bbLVMLPnn38888888888zLbbNfCMUs2NrsnHDbbbXVbbLAPrnnHnnHDLbbbf8888888888zbbNQB41tI+EunnnbbbqzJbbb3ID3nnnnnbbbbbb8888888888/bbbabbnn2nnnnnnbbbbbbbbbnnnnnnnnnbbbbbL8888888888+kxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYe888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/8QALBEAAwABAgYCAQMEAwAAAAAAAAERMRAhIEBBUWGhUHEwgZHRcLHw8YDB4f/aAAgBAwEBPxD+v9HBJ8LVVVVVVVVVVVUwYn+PDWlvR1ZCTKpipin1KWQyNMrIKnKI0slbqU+ojVUuViyURrI2tQ02thU5RGlkpKsS3KOsZSZdNb7CNPcddhO0UVo5rc7gZY9U2/MN0GpSgm5mxuTEF2TWgi20GwFNbkqDdApbMaxwSYaoyjbQW8oUlGb6EtWo9RkiTVofZoVKodSCFkyORBoyLBHbSOxFgglMEWRpPIkkJJYGk8iSWBo8kY0SSwRZGk8iSWBoyQSSIrdGk8kCUwRCSWCIjt+csiSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+fAbXbo83pnm9M83pnm9M83pnm9M83pnm9M83pnm9M83pnWfo0ThA2kRYJGQJMkEDRbc0Dwez+TH9aNOplYEbkKtEyYk8iYqQbEd35oHg9nWaKyRVBet5/gv8jKuxiqyjTaPXH9fCGA8Hs6pbLd8LVyLdRrj+vhDAeD2dbofZcTE6+tcf1o7T2KBgpeAx0ZvrzpgPB7Orx3hCI2BIDYEmYeq/oaa0x/WjVaZtbhhsZOmTGLro+bMB4PZ0SuyHZgoI3hwXrbou/QI09dEtJ20vYJsfjSDiGyVHuheSMFTgrcOkxXRj5oHg9nTCgmMm7XgaqhDCJaJdMylXhBtNIN0P7GieC4JNusuEbabEypahvbKrEa6cyYDwezr5Gv9iN4fYFDsX7iyNbGAuolEf5CrRujbF4+EMB4PZ1zmGJN7bMSZpkJJuf9IjT2DqngYzp6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\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/documents","description":"This is for KYC and other regulatory requirements"},"response":[]},{"name":"14. Get customers document detail","id":"2dc5ea70-13ff-483b-967c-89dd773fa87b","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/documents/18729","description":"This will return all documents linked to the customer"},"response":[]},{"name":"12. Get the ratify results for the customer.","id":"0dd2f7f0-a610-4322-8166-facf3856d938","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/ratify?limit=5&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","ratify"],"query":[{"key":"limit","value":"5"},{"key":"offset","value":"0"}]},"description":"The results are returned from most recent to oldest so pass offset=0 and limit=1 for the most recent one"},"response":[]},{"name":"13. Run a KYC algorithm on the customers profile to update the KYC status.","id":"32caf29e-306b-4608-abd9-b0256d257831","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/ratify","description":"This will ratify the customers profile and attached documentation and provide an updated KYC status. Populate request body only if you want to do manual ratify else left blank"},"response":[]}],"id":"4ad7da98-1aa3-46a2-b9f5-8b49f26cfd32"},{"name":"Payments","item":[{"name":"Acquiring use case","item":[{"name":"1. Initiate a new payment link, store cofId","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"20b45d35-38c8-420b-9580-7360964adf40","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 47,\n  \"callbackUrl\": \"{{requestBinUrl}}/payment/callback\",\n  \"currency\": \"ZAR\",\n  \"landingUrl\": \"{{requestBinUrl}}/payment/landing\",\n  \"paymentData\": \"2064\",\n  \"paymentMechanism\": \"CARD\",\n  \"externalUniqueId\": \"{{$guid}}\",\n  \"phone\": \"27832837000\",\n  \"storeCardOnFile\": true,\n  \"type\": \"GLOBAL_WALLET\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]},{"name":"2. Initiate a new payment link, use cofId","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"5cdd3f85-e2b6-47b7-8dfb-2235e14d7fdd","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 48,\n  \"callbackUrl\": \"{{requestBinUrl}}/payment/callback\",\n  \"currency\": \"ZAR\",\n  \"landingUrl\": \"{{requestBinUrl}}/payment/landing\",\n  \"paymentData\": \"2064\",\n  \"paymentMechanism\": \"CARD\",\n  \"externalUniqueId\": \"{{$guid}}\",\n  \"cardOnFileId\": \"1c4ef6f8-b5f4-4de4-9ec3-665d175487b3\",\n  \"phone\": \"27832837000\",\n  \"type\": \"GLOBAL_WALLET\"\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]},{"name":"3. Initiate a new payment link, use cofId for recurring","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"358d261f-904a-44bc-8c62-b6a7d10f8703","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 100,\n  \"callbackUrl\": \"{{requestBinUrl}}/payment/callback\",\n  \"currency\": \"ZAR\",\n  \"landingUrl\": \"{{requestBinUrl}}/payment/landing\",\n  \"paymentData\": \"2064\",\n  \"paymentMechanism\": \"CARD\",\n  \"externalUniqueId\": \"{{$guid}}\",\n  \"cardOnFileId\": \"227816ac-8dd5-4e62-b566-e4493b00f730\",\n  \"phone\": \"27832837000\",\n  \"type\": \"GLOBAL_WALLET\",\n  \"unattended\": true\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]}],"id":"e208b370-dd63-42c8-aa19-d9a1e90d64c4"},{"name":"1. Get a list of payments for the customer","id":"f7ec01b1-44b0-4f1e-973e-62b44e42ad24","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments?limit=50&offset=0&dateFromIncl=2021-10-05T14:06:03.000Z","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","payments"],"query":[{"key":"dateToExcl","value":"2021-07-24T10:00:39.000Z","description":"toDate, the date upto when we want to get the payments exclusive","disabled":true},{"key":"limit","value":"50"},{"key":"offset","value":"0"},{"key":"dateFromIncl","value":"2021-10-05T14:06:03.000Z"}]},"description":"Returns payments that were initiated against the customer"},"response":[]},{"name":"2. Initiate making a payment","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"8279e33e-1d1f-42ed-abfe-60a57fc88c11","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentData\": \"2877680738\",\n    \"type\": \"ZA_QRCODE\",\n    \"phone\": \"{{consumerMobile}}\"\n}\n\n// ,\"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n//     \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n//     \"landingUrl\": \"{{requestBinUrl}}/landing\""},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"3. Update Payment - COMPLETION_URL (3ds UX)","id":"0987be0f-2516-4e46-81cd-278c2776abb9","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"paymentMechanism\": \"COMPLETION_URL\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"landingUrl\": \"{{requestBinUrl}}/landing\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments/{{consumerPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"4. Get the details of a payment","id":"c667c903-bb2a-49d7-b559-bac13adba61d","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments/{{consumerPaymentId}}","description":"The status details of a payment which may be in progress or complete"},"response":[]},{"name":"5. Update Payment - SECURE_CODE (NO UX)","id":"a344feec-3665-42b0-be25-cbcbc6aa1d25","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n    \"paymentMechanism\": \"CARD\", \n    \"paymentSecurityData\": {\n        \"cavv\": \"xgQolSUPAAAAAAAAAAAAAAAAAAA=\",\n        \"xid\": \"MDAwMDAwMDAwMDAwMDAwMDE2MzU=\",\n        \"eciFlag\": \"02\",\n        \"paResStatus\": \"Y\",\n        \"signatureVerification\": \"Y\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments/{{consumerPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"6. Update Payment - AMT","id":"81eea9bc-ad2b-4e62-88d3-c16f01186377","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"paymentMechanism\": \"AMT\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n    \"paymentSecurityData\": {\n        \"pinData\": \"{{$randomUUID}}\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments/{{consumerPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"7. Update Payment - EXTERNAL_WALLET","id":"77f68146-66ff-4466-bf85-44bcdb3de5a8","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"paymentMechanism\": \"EXTERNAL_WALLET\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"externalWalletId\": \"998877123412341234\",\n    \"externalWalletType\": \"ZA_PAYFLEX\",\n    \"paymentSecurityData\": {\n        \"token\": \"{{$randomUUID}}\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments/{{consumerPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"8. Update Payment - sov","id":"b3503ac4-3c4c-45d8-ae71-ce75b757dc06","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"walletId\": 51,\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments/{{consumerPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"9. Initiate making a payment Combined COMPLETION_URL","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"3aaa5925-a5f2-43b0-b826-28d762bf4eca","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentData\": \"2877680738\",\n    \"type\": \"ZA_QRCODE\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"landingUrl\": \"{{requestBinUrl}}/landing\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"10. Initiate making a payment Combined with 3ds CAVV","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"3c0ffd81-466b-4b30-9c86-bdb979ea8374","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentData\": \"2877680738\",\n    \"type\": \"ZA_QRCODE\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"paymentSecurityData\": {\n        \"cavv\": \"xgQolSUPAAAAAAAAAAAAAAAAAAA=\",\n        \"xid\": \"MDAwMDAwMDAwMDAwMDAwMDE2MzU=\",\n        \"eciFlag\": \"02\",\n        \"paResStatus\": \"Y\",\n        \"signatureVerification\": \"Y\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"11. Initiate making a payment Combined GLOBAL_WALLET","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"1e4d8a0d-6c72-4166-9256-3e63733d0e96","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 46,\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n    \"currency\": \"ZAR\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"landingUrl\": \"{{requestBinUrl}}/landing\",\n    \"paymentData\": \"150\",\n    \"paymentMechanism\": \"CARD\",\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"phone\": \"{{consumerPhone1}}\",\n    \"storeCardOnFile\": true,\n    \"type\": \"GLOBAL_WALLET\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}//payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"12. Initiate making a payment VAS - ACS","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"490c5d1c-7b8b-4b63-b579-6226721b2c72","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"paymentMechanism\": \"CARD\",\n    \"type\": \"GLOBAL_VAS\",\n    \"currency\": \"ZAR\",\n    \"amount\": 59,\n    \"paymentData\": \"5_V542\",\n    \"additionalFields\": [\n        {\n            \"id\": \"msisdn\",\n            \"value\": \"0832146700\"\n        }\n    ],\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"13. Initiate making a payment VAS MP","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"d6bc383c-a5f0-419e-b369-831720ff10b7","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"paymentMechanism\": \"CARD\",\n    \"type\": \"GLOBAL_VAS\",\n    \"currency\": \"ZAR\",\n    \"amount\": 59,\n    \"paymentData\": \"12_MENU-7\",\n    \"additionalFields\": [\n        {\n            \"id\": \"account\",\n            \"value\": \"115962222222222\"\n        }\n    ],\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"14. Initiate making a payment VAS","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"6488a551-9a8e-4b80-b46a-21aaa5726811","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"paymentMechanism\": \"CARD\",\n    \"type\": \"GLOBAL_VAS\",\n    \"currency\": \"ZAR\",\n    \"amount\": 100,\n    \"paymentData\": \"12_MENU-7\", \n     \"additionalFields\": [\n    {\n      \"id\": \"account\",\n      \"value\": \"113748711140315080\"\n    }\n  ],\n      \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"landingUrl\": \"{{requestBinUrl}}/landing\"\n}\n//   \"purchaseSubType\": \"ELECTRICITY\",\n//   \"purchaseType\": \"MOBILERECHARGE\"\n\n\n// ,\"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"15. Initiate making a payment VAS Elect","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"73c1c7d5-3aae-449c-aea2-a38abeb64fb8","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"paymentMechanism\": \"CARD\",\n    \"type\": \"GLOBAL_VAS\",\n    \"currency\": \"ZAR\",\n    \"amount\": 1000,\n    \"paymentData\": \"12_MENU-10000419\", \n     \"additionalFields\": [\n    {\n      \"id\": \"account\",\n      \"value\": \"14308025122\"\n    }\n  ],\n      \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"landingUrl\": \"{{requestBinUrl}}/landing\"\n}\n//   \"purchaseSubType\": \"ELECTRICITY\",\n//   \"purchaseType\": \"MOBILERECHARGE\"\n\n\n// ,\"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]},{"name":"16. Initiate making a payment walletId (lodge card)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"consumerPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"312f61d9-0a63-4b42-8402-037348f509b5","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentData\": \"5352551822\",\n    \"type\": \"ZA_QRCODE\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"walletId\": \"51\"\n    \n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/payments","description":"The first step for a customer to make a payment"},"response":[]}],"id":"0a624f3e-b01e-4c90-b8b0-18220440e851","description":"Make sure to use consumerJwtToken in auth header"},{"name":"Beneficiary","item":[{"name":"Get Beneficiaries","id":"f24c5d14-efef-414f-9c0a-7279430d474f","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"https://eclipse-java-sandbox.ukheshe.rocks/eclipse-conductor/rest/v1/tenants/22/customers/68/beneficiaries","description":"Get a customers beneficiaries"},"response":[]},{"name":"Add Beneficiaries","id":"d7ed9f8e-bc0f-4d0a-be0e-fc3e5b629e85","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"alias\": \"string\",\r\n    \"bankAccountNumber\": \"string\",\r\n    \"bankName\": \"string\",\r\n    \"beneficiaryAccountId\": \"string\",\r\n    \"branchCode\": \"string\",\r\n    \"country\": \"string\",\r\n    \"customerId\": 1,\r\n    \"dob\": \"stringst\",\r\n    \"firstName\": \"string\",\r\n    \"identityNumber\": \"string\",\r\n    \"lastName\": \"string\",\r\n    \"middleName\": \"string\",\r\n    \"mobileMoneyNetwork\": \"string\",\r\n    \"mobileNumber\": \"string\",\r\n    \"walletId\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}​/eclipse-conductor​/rest​/v1​/tenants​/{{tenantId}}​/customers​/{{consumerCustomerId}}​/beneficiaries","description":"Get a customers beneficiaries"},"response":[]},{"name":"Get Beneficiary Id","id":"1cc1636d-dfdf-4a30-a6ed-21fdcb14fcb2","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}​/eclipse-conductor​/rest​/v1​/tenants​/{{tenantId}}​/customers​/{{consumerCustomerId}}​/beneficiaries/{{beneficiaryId}}","description":"Get a customers beneficiaries"},"response":[]},{"name":"Update Beneficiary","id":"8340f72a-d3ff-42ee-bd84-990105ef85f9","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"alias\": \"string\",\r\n    \"bankAccountNumber\": \"string\",\r\n    \"bankName\": \"string\",\r\n    \"beneficiaryAccountId\": \"string\",\r\n    \"branchCode\": \"string\",\r\n    \"country\": \"string\",\r\n    \"customerId\": 1,\r\n    \"dob\": \"stringst\",\r\n    \"firstName\": \"string\",\r\n    \"identityNumber\": \"string\",\r\n    \"lastName\": \"string\",\r\n    \"middleName\": \"string\",\r\n    \"mobileMoneyNetwork\": \"string\",\r\n    \"mobileNumber\": \"string\",\r\n    \"walletId\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}​/eclipse-conductor​/rest​/v1​/tenants​/{{tenantId}}​/customers​/{{consumerCustomerId}}​/beneficiaries/{{beneficiaryId}}","description":"Get a customers beneficiaries"},"response":[]},{"name":"Delete Beneficiary","id":"437cfa63-63ad-40f9-9ff7-8cfe15381933","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"alias\": \"string\",\r\n    \"bankAccountNumber\": \"string\",\r\n    \"bankName\": \"string\",\r\n    \"beneficiaryAccountId\": \"string\",\r\n    \"branchCode\": \"string\",\r\n    \"country\": \"string\",\r\n    \"customerId\": 1,\r\n    \"dob\": \"stringst\",\r\n    \"firstName\": \"string\",\r\n    \"identityNumber\": \"string\",\r\n    \"lastName\": \"string\",\r\n    \"middleName\": \"string\",\r\n    \"mobileMoneyNetwork\": \"string\",\r\n    \"mobileNumber\": \"string\",\r\n    \"walletId\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}​/eclipse-conductor​/rest​/v1​/tenants​/{{tenantId}}​/customers​/{{consumerCustomerId}}​/beneficiaries/{{beneficiaryId}}","description":"Get a customers beneficiaries"},"response":[]}],"id":"facc7d1d-5713-4ac5-9d8d-4e3246186bac"},{"name":"Attachments","item":[{"name":"1. Add  a new attachment against the customer","event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerDocumentId\", jsonData.documentId);\r","}); \r","\r",""]}}],"id":"df5b19a4-cc79-4a71-bbc9-a959e1924d50","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"attachmentType\":\"some doc\",\n    \"mediaType\": \"image/jpeg\",\n    \"info\": \"aaaaaaaaaaa\",\n    \"base64EncodedDocument\": \"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xG5un16N+NvS8nqQuPGWEt2bhLkeFBuSLHyfC/6Q9icWxHkFUhOpi5JokmljCH7xOWu0RYhB3g00HtWRUrJCXsFYOZ4IsxbDr3t71Pg0qrFoQh9zf9dgqCXTMYVBUblNTHYIx9l4m7/AihoUO8Z8b8L8bckimRkOWRPyboVrGQFfa/8ASe3vMq+w8+8P1s+W/GHL+N/kLVkNLwv6NtCd3T+j4nlX2oIoBik0xXP3dx+AYxzX4X425seGJ5PSlHKuPCStdqPxiJKSLJKw17qL+9X4KRGB47IcY5/uKiJCRJKyQ2qHutXBqhiv64ImwZrM5LTsy/YT461l/hf3d24WFMebBLNyzR3khU7+PZlYFWML55L+gpLjhEocF5HRASVNPUkLCIGUaVqkWAmJqbc6vQfS0iJWAnTXE0gwgkig2hmi/wBxpLEwi9YSQU/NpCN8cehx4UFeelMLnr2uj56/Dl5S7plSlFRRhf0XXv3Kt/RWWoMSSJFCsksOTHocejx6TPj6tKF56WwvK5oS2Pdpo9eTHg0kchPPEjCZ/WY/+Nj0OIj+aBHcbExU0MF0zBsWbh3/ANLpLs6XshCuNENrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWIVxqhdJl3SvdhqSwf8f71LWWnqptY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaxtY2sbWNrG1jaw0lJ6L/9kv/aAAwDAQACAAMAAAAQ888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww488888888888tn222226666666662222222226666666662222XQ8888888888tnne+p3uw/424muIyZcYh287jqtIbF+V1i3+Onnh8888888888Pnn3GiJFiYZvJqaNMv1/FT1ouPVrbma1ff3Wznnz8888888888PnnlUnGjIaY4oI4oUnHGkEEUXyYob4LaYYEHGnn38888888888pKqKqqKGWGGWGWGCCKqKqqKqKGWWGWGWGCCKqqKt8888888888zbbbbbbnnnnnnnnnbbbbbbbbbHnnnnnnnnbbbbbf8888888888ze9+++++++++++MvTdfbTVTZTrnnnnnnnnbbbbbf8888888888zYrAAAAAAAAAAABv8rIbtxVagonnnnnnnnbbbbbP8888888888zYrAABBIO7DBAABvbbbbbbbbbnnnnnnnnnbbbbbP8888888888zYrAAOd999sbAABvbbbbbbbbbnnnnnnnnnbbbbbP8888888888zYrAA499999qAABvzd0AzObbannnnnnnnnbbbbbP8888888888zYrAAWghAAxrBABvdJrWKqbenunnnnnnnnbbbbbP8888888888zYrABdGTBM1/VPHiWx0OtsRNaFujuvnnnnTbbbbf8888888888/ErAA7QjKwWkdjq2v3831RjuGq2KqGDrrLHXXXHX8888888888PkrAAsNwCFXoAhzCm2G2GmW22qqqaKbbbbHnnnn38888888888PkrAA0GM6hMKAAB7njvnvvnvnfffXTbbbbnnnnnz8888888888PkrAAAkiZhzAAAB7tGIiEsIM9ORATZbbbbnnnnnz8888888888PkrAAFRblJgPBAB7b8SLD5mY47rbL7bbbbnnnnnz8888888888PktBxFIAnMCBDDD7MUHqFyJOMbbbbbbbbbnnnnnz8888888888PkSAATfUR6+JAQV7nnnnnnnnnbbbbbbbbbnnnnnz8888888888PgrBBDKk1kGJBBU7nnnjjsnnnYcTbabbbRjrknnz8888888888PnnFFFBBJJFJJJbbHnntCdnnnBzIy4bbLVMLPnn38888888888zLbbNfCMUs2NrsnHDbbbXVbbLAPrnnHnnHDLbbbf8888888888zbbNQB41tI+EunnnbbbqzJbbb3ID3nnnnnbbbbbb8888888888/bbbabbnn2nnnnnnbbbbbbbbbnnnnnnnnnbbbbbL8888888888+kxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYe888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/8QALBEAAwABAgYCAQMEAwAAAAAAAAERMRAhIEBBUWGhUHEwgZHRcLHw8YDB4f/aAAgBAwEBPxD+v9HBJ8LVVVVVVVVVVVUwYn+PDWlvR1ZCTKpipin1KWQyNMrIKnKI0slbqU+ojVUuViyURrI2tQ02thU5RGlkpKsS3KOsZSZdNb7CNPcddhO0UVo5rc7gZY9U2/MN0GpSgm5mxuTEF2TWgi20GwFNbkqDdApbMaxwSYaoyjbQW8oUlGb6EtWo9RkiTVofZoVKodSCFkyORBoyLBHbSOxFgglMEWRpPIkkJJYGk8iSWBo8kY0SSwRZGk8iSWBoyQSSIrdGk8kCUwRCSWCIjt+csiSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+fAbXbo83pnm9M83pnm9M83pnm9M83pnm9M83pnm9M83pnWfo0ThA2kRYJGQJMkEDRbc0Dwez+TH9aNOplYEbkKtEyYk8iYqQbEd35oHg9nWaKyRVBet5/gv8jKuxiqyjTaPXH9fCGA8Hs6pbLd8LVyLdRrj+vhDAeD2dbofZcTE6+tcf1o7T2KBgpeAx0ZvrzpgPB7Orx3hCI2BIDYEmYeq/oaa0x/WjVaZtbhhsZOmTGLro+bMB4PZ0SuyHZgoI3hwXrbou/QI09dEtJ20vYJsfjSDiGyVHuheSMFTgrcOkxXRj5oHg9nTCgmMm7XgaqhDCJaJdMylXhBtNIN0P7GieC4JNusuEbabEypahvbKrEa6cyYDwezr5Gv9iN4fYFDsX7iyNbGAuolEf5CrRujbF4+EMB4PZ1zmGJN7bMSZpkJJuf9IjT2DqngYzp6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\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/attachments","description":"This is for KYC and other regulatory requirements"},"response":[]},{"name":"2. Get list of the customers attachments","id":"fb7de94c-5fe0-4df6-b25d-796989bc78ac","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/attachments","description":"This will return all documents linked to the customer"},"response":[]}],"id":"3694c647-f255-40f9-a302-18453346f9ef"},{"name":"1. Search for customers in the tenant","id":"f041179c-89be-411e-85f7-8bfe77525aa8","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers?limit=50&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers"],"query":[{"key":"email","value":"do dolor occaecat minim","disabled":true},{"key":"externalUniqueId","value":"do dolor occaecat minim","disabled":true},{"key":"identity","value":"do dolor occaecat minim","disabled":true},{"key":"includeAdminUsers","value":"true","disabled":true},{"key":"lastName","value":"do dolor occaecat minim","disabled":true},{"key":"limit","value":"50"},{"key":"nationalIdentityNumber","value":"do dolor occaecat minim","disabled":true},{"key":"offset","value":"0"},{"key":"passportNumber","value":"do dolor occaecat minim","disabled":true},{"key":"phone1","value":"do dolor occaecat minim","disabled":true}]},"description":"This is a general API for searching for customers based on various criteria"},"response":[]},{"name":"2. Register a new Customer","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing consumerCustomerId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerCustomerId\", jsonData.customerId);\r","}); \r",""]}}],"id":"83b7be18-969b-49e1-a350-a4f6489abccf","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"dateOfBirth\": \"19700105\",\n    \"email\": \"{{$randomEmail}}\",\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"firstName\": \"{{$randomFirstName}}\",\n    \"lastName\": \"{{$randomLastName}}\",\n    \"locale\": \"EN\",\n    \"phone1\": \"27831234567\",\n    \"status\": \"ACTIVE\",\n    \"gender\": \"M\",\n    \"maritalStatus\": \"S\",\n    \"birthCountry\": \"South Africa\",\n    \"birthCity\": \"JHB\",\n    \"nationalIdentityNumber\": \"884894894848\",\n    \"title\": \"MR\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers","description":"This will create a new customer profile under the tenant"},"response":[]},{"name":"3. Get a customer profile","id":"3961691c-1968-4fa9-8c73-6880cf8444e6","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}","description":"Retrieves a specific customer"},"response":[]},{"name":"4. Update a customer profile","id":"06f12a32-4438-4439-8017-57af75630304","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"title\": \"MR\",\n    \"gender\": \"M\",\n    \"firstName\": \"Eldridge 1\",\n    \"lastName\": \"Fisher\",\n    \"phone1\": \"27831234567\",\n    \"locale\": \"EN\",\n    \"email\": \"Elton_Vandervort86@hotmail.com\",\n    \"nationalIdentityNumber\": \"4894816865168336\",\n    \"version\": 0,\n    \"dateOfBirth\": \"19700105\",\n    \"birthCity\": \"JHB\",\n    \"birthCountry\": \"South Africa\",\n    \"maritalStatus\": \"S\",\n    \"status\": \"ACTIVE\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}","description":"Update allowed fields on the customer profile"},"response":[]},{"name":"5. Delete a customer profile","id":"2c633e2e-dfb1-4f98-abee-143558eab958","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}","description":"This will only be allowed if the customer has no wallets, positions, cards etc."},"response":[]},{"name":"6. Get list of wallets belonging to the customer","id":"7e10aaec-b221-4523-8844-9c9709a3a0a3","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/wallets","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","wallets"],"query":[{"key":"friendlyId","value":"do dolor occaecat minim","disabled":true}]},"description":"Lists all the wallets directly owned by the customer"},"response":[]},{"name":"7. Create a new Wallet for the customer","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWalletId\", jsonData.walletId);\r","}); \r",""]}}],"id":"f02eba92-8134-4da3-aa87-0fd070ffcea6","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Consumer Wallet\",\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"walletTypeId\": {{tenantWalletTypeId}},\n    \"status\": \"ACTIVE\",\n    \"currency\": \"ZAR\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/wallets","description":"Creates a new wallet linked to the customer. If this is a card wallet then it will be created along with the first linked card which can be retrieved via the cards endpoint"},"response":[]},{"name":"8. Get list customer audit events","id":"4ab20ae3-2330-4dbf-852e-0678515d3c9e","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/wallets","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","wallets"],"query":[{"key":"friendlyId","value":"do dolor occaecat minim","disabled":true}]},"description":"Lists all the wallets directly owned by the customer"},"response":[]},{"name":"9. Get list of wallet types allowed for the customer after kyc","id":"3b18c412-d7cb-42b3-96d4-9d3af7e63779","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/customers/{{consumerCustomerId}}/wallet-types","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","customers","{{consumerCustomerId}}","wallet-types"],"query":[{"key":"friendlyId","value":"do dolor occaecat minim","disabled":true}]},"description":"Lists all the wallets directly owned by the customer"},"response":[]}],"id":"544e517c-257e-4485-8922-8e4a14b1ecd7","description":"Customers are the cardholders, wallet owners and users to whome the tenant is offering B2C services. The amount of data captured and KYC requirements for a customer to own a wallet or card will depend on the regulatory model in effect and will be enforced by Eclipse via rules on the wallet types in use by the tenant. Customers have many sub resources such as addresses, documents, wallets, cards, identities, and positions in organisations","auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}}},{"name":"E. Organisation Management","item":[{"name":"Addresses","item":[{"name":"1. Get a list of the organisations addresses","id":"c3efe93e-a7ea-469f-a6ed-26fb70ef98f3","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/addresses"},"response":[]},{"name":"2. Add a new address for the organisation","id":"c5bddf8e-842b-47c2-8d21-e0db27255e8d","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"addressType\": \"PHYSICAL\",\n    \"city\": \"JHB\",\n    \"country\": \"South Africa\",\n    \"line1\": \"{{$randomStreetAddress}}\",\n    \"line2\": \"{{$randomStreetAddress}}\",\n    \"state\": \"GAUTENG\",\n    \"code\": \"{{$randomInt}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/addresses"},"response":[]}],"id":"a5f71cc9-ca1b-4d69-b07c-88c317f79337"},{"name":"Wallets","item":[{"name":"1. Get list of wallets belonging to the organisation","id":"7c73f45b-1070-4b98-80c0-4587fc6eaa04","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/wallets","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","organisations","{{organisationId}}","wallets"],"query":[{"key":"friendlyId","value":"do dolor occaecat minim","disabled":true}]},"description":"Lists all the wallets directly owned by the organisation"},"response":[]},{"name":"2. Create a new Wallet for the organisation","id":"243ebbe9-b495-41c4-be47-8b1ef632faba","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"status\": \"ACTIVE\",\n    \"customerId\": 68,\n    \"description\": \"esse quis commodo nostrud fugiat\",\n    \"name\": \"est ull\",\n    \"walletTypeId\": 33\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/wallets?customerId={{consumerCustomerId}}","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","organisations","{{organisationId}}","wallets"],"query":[{"key":"customerId","value":"{{consumerCustomerId}}","description":"The customer that the initial card must be linked to"}]},"description":"Creates a new wallet linked to the organisation.If this is a card wallet then it will be created along with the first linked card which can be retrieved via the wallets mappings"},"response":[]}],"id":"a064547c-8427-4035-b86e-16d5606448f2"},{"name":"Documents","item":[{"name":"1. Get list of the organisations documents","id":"7353f815-42f0-4748-ba3d-a220946b43ab","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/documents","description":"This will return all documents linked to the organisation"},"response":[]},{"name":"2. Add  a new document against the organisation","id":"d0a157c7-7058-447e-8375-f874f7e36b47","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"documentType\": {\n        \"value\": \"<Error: Could not resolve allOf schema\"\n    },\n    \"base64EncodedDocument\": \"~\",\n    \"created\": \"1956-12-15T21:32:54.109Z\",\n    \"lastModified\": \"2001-10-19T17:31:47.175Z\",\n    \"mediaType\": \"c\"\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/:organisationId/documents","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","organisations",":organisationId","documents"],"variable":[{"id":"9dc6c4f1-fab3-4cc2-aa83-3947901d2556","key":"organisationId","value":"80680079","description":"(Required) "}]},"description":"This is for KYB and other regulatory requirements"},"response":[]}],"id":"bf6770a9-b418-4232-8658-4bb6fdb89e58"},{"name":"KYC / Ratify","item":[{"name":"Get the ratify results for the organisation.","id":"32f21711-6c0c-4569-a592-72d12a91272a","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/ratify?limit=5&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","organisations","{{organisationId}}","ratify"],"query":[{"key":"limit","value":"5"},{"key":"offset","value":"0"}]},"description":"The results are returned from most recent to oldest so pass offset=0 and limit=1 for the most recent one"},"response":[]},{"name":"Run a KYC algorithm on the organisations profile to update the KYB status","id":"01b2b839-271c-464f-8323-40a69daab2b1","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/ratify","description":"This will ratify the organisation profile and attached documentation and provide an updated KYB status."},"response":[]}],"id":"280e1d35-500c-45a0-ae68-528c7438800a"},{"name":"Positions","item":[{"name":"Get a list of positions held in the organisation.","id":"42e208ad-2be7-41c9-b836-2373c407899a","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/positions","description":"Positions are held by customers in an organisation. E.g. CEO, employee etc. Positions impact security access to wallets held by the organisation"},"response":[]},{"name":"Add a position held in the organisation.","id":"b3914200-d037-4c1d-bd18-e0d109874db4","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"customerId\": 203,\n    \"position\": \"HEAD\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/positions","description":"Positions are held by customers in an organisation. E.g. CEO, employee etc. Positions impact security access to wallets held by the organisation"},"response":[]},{"name":"Delete a position held by a customer in the organisation.","id":"a8af1219-64e8-4046-a99c-d9ab5b56b788","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}/positions/203/HEAD","description":"Positions are held by customers in an organisation. E.g. CEO, emplyee etc. Positions impact security access to wallets held by the organisation"},"response":[]}],"id":"b6893e2e-21fb-4f94-923e-87bab278f47a"},{"name":"1. Search for organisations","id":"34e1d335-5a35-459a-9125-88de8a1306ef","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations?limit=50&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","organisations"],"query":[{"key":"email","value":"do dolor occaecat minim","disabled":true},{"key":"limit","value":"50"},{"key":"name","value":"do dolor occaecat minim","disabled":true},{"key":"offset","value":"0"}]},"description":"This can be used to search for an organisation under the tenant."},"response":[]},{"name":"2. Register a new organisation","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing organisationId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"organisationId\", jsonData.organisationId);\r","}); \r",""]}}],"id":"74c5d4fa-aaef-4f23-bf99-dee2ba338557","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"phone1\": \"0112345678\",\n    \"name\": \"{{$randomCompanyName}}\"\n}\n"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations","description":"An organisation is a grouping of customers."},"response":[]},{"name":"3. Get an organisation","id":"85690d27-65e1-41a0-9e05-4dec9d5a2185","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}","description":"Get an organisation by its organisation id"},"response":[]},{"name":"4. Update an organisation","id":"0f3de21a-4d6d-467a-b4f7-84ed8b78ad3c","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"version\": 0,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"phone1\": \"0112345678\",\n    \"name\": \"{{$randomCompanyName}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}","description":"Update an organisation by its organisation id"},"response":[]},{"name":"5. Delete an organisation","id":"4e3d2dc9-84c1-4b19-8429-ea0bef41075d","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/organisations/{{organisationId}}","description":"This will only be allowed if the organisation has no wallets and no positions"},"response":[]}],"id":"36f99536-f973-47fe-93a4-cf5c06d01920","description":"An organisation is a grouping of customers. An organisation can own wallets, have an address or have associated documents.Sometimes known as a Juristic, but an organisation can also include just a grouping of people like a family, club or association. Tenants do not need to have nor create organisations and can just work with customers as one flat structure under the tenant. Organisations do however provide for more complex scenarios such as wallet sharing within an organisation and authorisation of special positions in an organisation to access data of other members of the organisation."},{"name":"F. Address Management","item":[{"name":"1. Get a certain customer or organisations address by addressId","id":"bb9b78bc-324e-4889-9179-9166028dde10","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/addresses/{{consumerAddressId}}","description":"This can be used when the caller knows the address Id they want to read. Addresses can be discovered  under a cusomer or ogranisation by getting the list of addresses for either"},"response":[]},{"name":"2. Update an address by addressId","id":"3f2619e1-8a99-4d28-b127-b926d4c964fa","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"addressType\": {\n        \"value\": \"<Error: Could not resolve allOf schema\"\n    },\n    \"city\": \"cupidatat\",\n    \"country\": \"dolor deserunt\",\n    \"line1\": \"mollit in veniam Lorem\",\n    \"line2\": \"in esse consectetur\",\n    \"state\": \"ad cupidatat occaecat\",\n    \"version\": 6251726,\n    \"addressId\": 90305847,\n    \"code\": \"irure occa\",\n    \"customerId\": -5881171,\n    \"line3\": \"ad laborum eiusmod et\",\n    \"organisationId\": -40422260\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/addresses/{{consumerAddressId}}","description":"Update an existing address"},"response":[]},{"name":"3. Delete an address by addressId","id":"850aa53f-a47d-4564-ad1d-7374c9414598","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/addresses/{{consumerAddressId}}","description":"Delete an existing address"},"response":[]}],"id":"28286ea3-c0e0-4869-a13d-e83c59fc1af0","description":"Addresses include physical and postal addresses. They apply to customers and organisations and are used for regulatory, KYC and KYB purposes. To create a new address, POST one under the addresses path of a customer or organisation. One can do a get for addresses of a customer or organisation to get their associated addresses"},{"name":"G. Documents","item":[{"name":"Get a certain customer or organisations document by documentId.","id":"a10e8b29-8d8b-46a3-96f3-516b8da8d015","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/documents/:documentId","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","documents",":documentId"],"variable":[{"id":"4d2c3534-434b-449f-a3ad-fd31497877b6","key":"tenantId","value":"80680079","description":"(Required) "},{"id":"f0bfdf87-bb82-474f-ae74-46c1c3661573","key":"documentId","value":"80680079","description":"(Required) "}]},"description":"Gets a document when the document id is known"},"response":[]},{"name":"Update a document by documentId.","id":"d324a5ac-88e6-46c0-b881-e3e8f5d68563","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"documentType\": {\n        \"value\": \"<Error: Could not resolve allOf schema\"\n    },\n    \"version\": 16313483,\n    \"base64EncodedDocument\": \"G\",\n    \"created\": \"1988-09-29T03:46:38.901Z\",\n    \"customerId\": 69790399,\n    \"documentId\": 24311074,\n    \"lastModified\": \"1979-06-05T14:59:55.808Z\",\n    \"mediaType\": \"Y\",\n    \"organisationId\": 19049654\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/documents/:documentId","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","documents",":documentId"],"variable":[{"id":"0eff6e05-584d-4ebf-958f-9ff2ba935d74","key":"tenantId","value":"80680079","description":"(Required) "},{"id":"01650459-437d-48be-a7a2-920ddeb740bd","key":"documentId","value":"80680079","description":"(Required) "}]},"description":"Update an existing document"},"response":[]},{"name":"Delete a document by documentId.","id":"51bcd71f-3f5f-4c45-9ad1-09dc0f9cc9ca","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/documents/:documentId","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","documents",":documentId"],"variable":[{"id":"e4b45c54-0693-4781-be23-609202d8aa7d","key":"tenantId","value":"80680079","description":"(Required) "},{"id":"5bfd8e10-40aa-47a5-a198-8fad065f32b6","key":"documentId","value":"80680079","description":"(Required) "}]},"description":"Delete an existing document"},"response":[]}],"id":"50c454e1-818a-4cdf-9aa2-7d97239c1f15","description":"Both customers and organisations can have documents attached to their profiles for KYC/KYB purposes. A tenant can use the ratify endpoint to analyse the customer/organisation profile and the attached documents to ascertain the KYC status of the customer/organisation. This in combination with a wallet type will determine the eligability of the customer/organisation to be given a wallet, as well as the limits of the type of wallet."},{"name":"H. Wallet's and Details","item":[{"name":"1. Get wallet by walletId","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing Wallet Details\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantWalletName\", jsonData.name);\r","    pm.collectionVariables.set(\"tenantWaleltFriendlyId\", jsonData.friendlyId);\r","    pm.collectionVariables.set(\"tenantWalletCurrency\", jsonData.currency);\r","    pm.collectionVariables.set(\"tenantWalletStatus\", jsonData.status);\r","}); \r",""]}}],"id":"2052df82-0e39-45da-a986-5d4dedaf68a9","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}","description":"Get a wallet when the walletId is known. This will retrieve any wallet in the tenant irrespective of it being tenant-level, customer or organisation"},"response":[]},{"name":"2. Update a wallet by walletId","id":"e40a16bd-adb9-4ea6-8560-b3def7e89bee","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"{{tenantWalletName}}\",\n    \"status\": \"{{tenantWalletStatus}}\",\n    \"walletTypeId\": \"{{tenantWalletTypeId}}\",\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"currency\": \"{{tenantWalletCurrency}}\",\n    \"friendlyId\": \"{{tenantWaleltFriendlyId}}\",\n    \"organisationId\": {{tenantId}}\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}","description":"Update an existing wallet. This will update any wallet in the tenant irrespective of it being tenant-level, customer or organisation"},"response":[]},{"name":"3. Delete a wallet by walletId","id":"8dd965d2-dc35-49e3-ab3c-2e14733a472a","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}","description":"Note that this can only be done if the wallet has no card, transactions, QRCodes or any other activity"},"response":[]},{"name":"4. Get cards linked to the wallet","id":"58bc9280-5e28-49c5-8b02-38611b59fd0e","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/cards","description":"Returns all cards linked to the wallet"},"response":[]},{"name":"5. Get payments made by or accepted into the wallet","id":"88098da8-5cc8-4182-a538-12616ffdfd3e","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/payments","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","wallets","{{tenantWalletId}}","payments"],"query":[{"key":"dateFromIncl","value":"do dolor occaecat minim","description":"fromDate, the date from where we want to get the payments inclusive.","disabled":true},{"key":"dateToExcl","value":"do dolor occaecat minim","description":"toDate, the date upto when we want to get the payments exclusive","disabled":true},{"key":"limit","value":"50","disabled":true},{"key":"offset","value":"0","disabled":true},{"key":"paymentData","value":"do dolor occaecat minim","description":"The payment data used in the payment. E.g. QRCcode","disabled":true}]},"description":"Returns all payments where the wallet was used to make the payment or the payment was received into the wallet"},"response":[]},{"name":"6. Get QRCodes linked to the wallet","id":"5ce8b19a-da1e-4e56-ab93-9ddb06aca46d","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/qr-codes","description":"Returns all QRCodes linked to the wallet"},"response":[]},{"name":"7. Create a new QRCode linked to the wallet","event":[{"listen":"test","script":{"type":"text/javascript","exec":["\r","pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing wallet QR code\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantWalletQrCode\", jsonData.code);\r","}); \r",""]}}],"id":"c70cf833-f26a-439e-83af-2740e6a0b310","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 100,\n  \"description\": \"Some Description\",\n  \"merchantName\": \"My Merchant Name\",\n  \"reference\": \"Merchant-Ref-{{$randomInt}}\",\n  \"type\": \"ZA_MASTERPASS\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/qr-codes","description":"Creates a new QRCode. Once created it will appear under the wallets mappings. The behaviour of the QRCode depends on the type. Typical behaviour is when a compatible App pays the QRCode, the value will appear in the mapped wallet"},"response":[]},{"name":"8. Get wallets transactions","id":"5f9eff90-115c-4629-8009-9e5dbc213eb7","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/transactions?limit=50&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","wallets","{{consumerWalletId}}","transactions"],"query":[{"key":"dateFromIncl","value":"do dolor occaecat minim","description":"fromDate, the date from where we want to get the transactions inclusive.","disabled":true},{"key":"dateToExcl","value":"do dolor occaecat minim","description":"toDate, the date upto when we want to get the transactions exclusive","disabled":true},{"key":"externalId","value":"do dolor occaecat minim","disabled":true},{"key":"externalUniqueId","value":"do dolor occaecat minim","description":"The externalUniqueId used when the transaction was initiated. Other parameters other than walletId are ignored if this is passed","disabled":true},{"key":"limit","value":"50"},{"key":"offset","value":"0"},{"key":"fields","value":"payments","disabled":true}]},"description":"Retrieves the transaction history for a wallet"},"response":[]},{"name":"9. Initiate a new payment","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"d7d915f3-afc6-4eb4-a2cf-07e403030a0d","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentMechanism\": \"CARD\",\n    \"paymentData\": \"8660\",\n    \"type\": \"GLOBAL_WALLET\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"amount\": 260.00,\n    \"currency\": \"ZAR\",\n    \"callbackUrl\": \"{{requestBinUrl}}/merchantPayment\",\n    \"landingUrl\": \"{{requestBinUrl}}/merchantLanding\",\n    \"storeCardOnFile\": true\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/472/payments","description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]},{"name":"10. Initiate a new payment COF","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"2c09efb5-466f-4752-8a3c-7eaa154db414","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentMechanism\": \"CARD\",\n    \"cardOnFileId\": \"cd9d9566-e26f-4f0d-9117-7b78da059c8c\",\n    \"paymentData\": \"8660\",\n    \"type\": \"GLOBAL_WALLET\",\n    \"phone\": \"{{consumerMobile}}\",\n    \"amount\": 200.00,\n    \"currency\": \"ZAR\",\n    \"callbackUrl\": \"{{requestBinUrl}}/merchantPayment\",\n    \"landingUrl\": \"{{requestBinUrl}}/merchantLanding\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/472/payments","description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]}],"id":"45717e37-4b27-4123-81c3-b1ac43a0e75a","description":"A wallet is the store of value in the Eclipse ecosystem. Eclipse supports multiple types of wallets either through partner integrations or built in digital stores of value. Cards use wallets as their underlying store of value and the wallet provides the monetary balance for card purchases. Wallets can be associated to either a customer or an organisation. Wallets linked to an organisation can be useful for shared access amongst employees in the organisation. The detailed rules and implementation of a wallet are determined by the wallet type which are set up by the tenant with guidance from the Eclipse support team. There are a few key wallet modes such as digital open and closed loop and wallets on card rails (through Mastercard). Eclipse can add custom wallet implementations for tenants based on their needs. All wallets share the same familiar API structure on Eclipse - the magic is in the backend switching and store of value.","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"65a015ea-c5cf-4bfe-9c21-ff1208fccbfc","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a37d21a0-0f31-4650-82e7-a2c6d644450e","type":"text/javascript","exec":[""]}}]},{"name":"i. Cards","item":[{"name":"Search for cards in the tenant","id":"7fa81e77-2353-4bc9-8b51-e36f6cf5eb67","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/cards?limit=50&offset=0&qrCode=1234567890","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","cards"],"query":[{"key":"limit","value":"50"},{"key":"offset","value":"0"},{"key":"packId","value":"do dolor occaecat minim","disabled":true},{"key":"pan","value":"do dolor occaecat minim","disabled":true},{"key":"qrCode","value":"1234567890"}]},"description":"This is a general API for searching for cards based on various criteria"},"response":[]},{"name":"Get a specific card by cardId","id":"2e362c36-7a9d-4153-a384-e4602ff329e3","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/cards/{{consumerCardId}}?masked=true","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","cards","{{consumerCardId}}"],"query":[{"key":"masked","value":"true","description":"If false then the full PAN and CVV will be returned. An error will be returned if masked=false and the caller is not the card owner"}]},"description":"Used to get a card when the cardId is known"},"response":[]},{"name":"Update a card","id":"cbf467d0-1aa4-4768-aa72-ed85e43a1590","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"cardRules\": {\n        \"ecommerceTransactionsEnabled\": true,\n        \"internationalTransactionsEnabled\": true\n    },\n    \"pin\": \"sed \",\n    \"pinRetryCounter\": -14452453,\n    \"status\": {\n        \"value\": \"<Error: Could not resolve allOf schema\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/cards/{{consumerCardId}}","description":"Update an existing card. Updates can include pin sets, pin retry reset, status of the card and rules on the card"},"response":[]},{"name":"Set and send new card PIN to customer","id":"20a70bbc-5866-4b1d-afd4-8db0bf3e972d","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"pinDeliveryMechanism\": {\n        \"value\": \"<Error: Could not resolve allOf schema\"\n    }\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/cards/:cardId/pin-sets","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","cards",":cardId","pin-sets"],"variable":[{"id":"77b403d1-2876-41f6-a58e-1a1de74e1745","key":"tenantId","value":"80680079","description":"(Required) "},{"id":"37135ce7-cc69-4174-8520-270de41204bf","key":"cardId","value":"80680079","description":"(Required) "}]},"description":"This will set the PIN to a new random 4 digit number and deliver the PIN to the customer"},"response":[]}],"id":"2738d249-629e-4638-b90d-f98cafcb6578","description":"Cards include debit and credit cards (tenant dependent). An activated card is always associated to both a customer and a wallet The customer is the cardholder and the wallet is the store of value which will be debited when card purchases are made. The wallet owner and cardholder need not be the same customer profile - e.g. a husband and wife may each have a card pointing to the wifes wallet. Cards can be virtual or physical. When creating a card, provide an identifier for the known physical card in order to activate it. If no physical card identifier is provided then its assumed to be a virtual card. Primary cards are added by creating a new wallet for a customer where the wallet type is a card wallet. This will create the wallet and primary card and both will be linked to the customer. Additional/replacement cards for an existing wallet and existing customer can be added by creating a new card under the /cards path of the customer. The new card has a required attribute being the walletId. Cards can also be added onto another customers wallet i.e. as a secondary card for instance in the husband/wife scenario."},{"name":"J. Wallet QR Codes","item":[{"name":"Get details for a specific QRCode","id":"c24260d5-af4a-468e-99a2-4718ba163051","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/qr-codes/{{qrCode}}","description":"Get the details of a QRCode"},"response":[]}],"id":"bf099b1d-08e9-4c98-bb25-df1639cf86ed","description":"QRCodes provide a simple means for various Apps in different countries to scan and pay for goods and services. A QRCode is basically a visual representation of a wallets unique identifier which can be easily deduced by a computer from a video or image. QRCodes either embed information such as expiry dates and amount or they can be a simple code that when looked up has meta data associated to it. The basic premis is that when a QRCode is paid, the wallet it belongs to will be credited. Various standards and interoperability exist across countries and Eclipse hides this complexity and provides a simple way to issue QRCodes which will work in the tenants geography. QCodes can be created for a wallet by doing a POST to the qr-codes path under the wallet. The codes can be permanent or temporary and include an amount or be open ended."},{"name":"K. Topups","item":[{"name":"ZA_MASTERPASS_CARD","item":[{"name":"1. New topup with Card Details","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"fc695ce4-2d23-4283-80d1-34df918500b4","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 201.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/topupCallBackUrl\",\n    \"landingUrl\": \"{{requestBinUrl}}/topupLandingUrl\",\n    \"topupCardData\": {\n        \"accountType\": \"01\",\n        \"cardholderName\": \"{{$randomFirstName}} \",\n        \"expiry\": \"1022\",\n        \"pan\": \"5412830000965450\",\n        \"alias\": \"My new Card {{$randomInt}}\",\n        \"cvv\": \"128\",\n        \"dob\": \"19861201\"\n    },\n    \"topupData\": \"Incoming topup from card\",\n    \"type\": \"ZA_MASTERPASS_CARD\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]},{"name":"2. New topup with cardOnFileId","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"d9b09292-9eb4-4d98-8690-ff3a87476795","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/topupCallBackUrl\",\n    \"landingUrl\": \"{{requestBinUrl}}/topupLandingUrl\",\n    \"topupData\": \"Incoming topup from card\",\n    \"type\": \"ZA_MASTERPASS_CARD\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]},{"name":"3. New topup with redirect","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"0d86c539-e351-46e7-93c4-b830ecf1728c","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/topupCallBackUrl\",\n    \"landingUrl\": \"{{requestBinUrl}}/topupLandingUrl\",\n    \"topupData\": \"Incoming topup from card\",\n    \"type\": \"ZA_MASTERPASS_CARD\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]}],"id":"043d58b4-e62d-49f2-8a2d-238004994f23","description":"Test Detail\nCard Number 5413330089600028 CVV 091, Expiry 12/25 and 3DS password test123"},{"name":"ZA_PNP_CASH","item":[{"name":"1. New topup ZA_PNP_CASH","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"828f040e-b105-46ba-8d57-c1ef1784f31b","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/topupCallBackUrl\",\n    \"landingUrl\": \"{{requestBinUrl}}/topupLandingUrl\",\n    \"topupData\": \"Incoming topup from card\",\n    \"type\": \"ZA_PNP_CASH\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]}],"id":"ab98d8ee-d4af-4116-b74d-af18fe20fd34"},{"name":"ZA_PEACH_CARD","item":[{"name":"1. New topup with redirect","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"4a27feff-525e-47dc-898d-2007cc6257fb","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"callbackUrl\": \"{{requestBinUrl}}/topupCallBackUrl\",\n    \"landingUrl\": \"{{requestBinUrl}}/topupLandingUrl\",\n    \"topupData\": \"Incoming topup from card\",\n    \"type\": \"ZA_PEACH_CARD\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]}],"id":"d81d67c3-c3d3-4dfb-a04c-28cbb32c6d65","description":"Test Detail\nCard Number 4242424242424242 with any future expiry date and CVV 123"},{"name":"ZA_PEACH_EFT","item":[{"name":"1. New topup","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"7bf7e2cb-328a-44d3-aa4a-c0fe07fb8d3f","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"topupData\": \"Incoming topup from Peach\",\n    \"type\": \"ZA_PEACH_EFT\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]}],"id":"40228302-3d65-4251-b521-35c4db3de772","description":"Test Detail\nCard Number 4242424242424242 with any future expiry date and CVV 123"},{"name":"ZA_OZOW","item":[{"name":"1. New topup","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerTopupId\", jsonData.topupId);\r","}); \r",""]}}],"id":"9337ab7b-c33b-412b-a648-130a6572f169","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"topupData\": \"Incoming topup from ZA_OZOW\",\n    \"type\": \"ZA_OZOW\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups"},"response":[]}],"id":"7127462c-35fc-4ccd-9840-ca4397551cf8","description":"Test Detail\nCard Number 4242424242424242 with any future expiry date and CVV 123"},{"name":"1. Get a wallets topups","id":"3850a4dc-b6c7-42b5-97f5-9f04040c4fd7","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups?limit=50&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","wallets","{{consumerWalletId}}","topups"],"query":[{"key":"dateFromIncl","value":"do dolor occaecat minim","description":"fromDate, the date from where we want to get the topups inclusive.","disabled":true},{"key":"dateToExcl","value":"do dolor occaecat minim","description":"toDate, the date upto when we want to get the topups exclusive","disabled":true},{"key":"limit","value":"50"},{"key":"offset","value":"0"}]},"description":"Gets the wallets topups based on certain criteria."},"response":[]},{"name":"2. Get the details for a topup","id":"e1dcca4d-3bf0-463f-983c-21428419db82","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups/{{consumerTopupId}}","description":"Get by topup id"},"response":[]},{"name":"3. Topup Update Status - (Simulate Response)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","    pm.collectionVariables.set(\"atmCashOutPin\", jsonData.token);\r","    pm.collectionVariables.set(\"atmCashOutAmount\", jsonData.amount);\r","}); \r",""]}}],"id":"0ff72928-00e3-417b-9dfc-ca973c3bb4eb","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"status\": \"SUCCESSFUL\"\r\n}\r\n\r\n//CANCELLED, SUCCESSFUL, ERROR","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/topups/{{consumerTopupId}}"},"response":[]}],"id":"67e1e91c-430d-47dc-ae15-7756cbf34e6b","description":"Wallets are most useful when they have money in them. This money can come from incoming payments, or the customer topping them up directly with their own money - be it cash, card or EFT. Eclipse has multiple integrations with partners to simplify and provide numerous topup mechanisms for a tenants customers. Eclipse integrates into multiple payment gateways and retailers and provdes a single API to tenants. \nFor testing with Peach payments use card 4242424242424242 with any future expiry date and CVV 123. \nFor Masterpass testing use 5413330089600028 CVV 091, Expiry 12/25 and 3DS password test123","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"7e045679-910c-4efe-b34f-c8354a45f1aa","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"9889cac4-cd81-4253-af6e-a430d912fbf5","type":"text/javascript","exec":[""]}}]},{"name":"L. Wallet Withdrawals","item":[{"name":"1. Get a wallets withdrawals","id":"e9e2148e-45a2-4e9f-b89a-27117656acbd","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals?limit=50&offset=0","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","wallets","{{consumerWalletId}}","withdrawals"],"query":[{"key":"dateFromIncl","value":"do dolor occaecat minim","description":"fromDate, the date from where we want to get the withdrawals inclusive.","disabled":true},{"key":"dateToExcl","value":"do dolor occaecat minim","description":"toDate, the date upto when we want to get the withdrawals exclusive","disabled":true},{"key":"limit","value":"50"},{"key":"offset","value":"0"},{"key":"externalUniqueId","value":"3ee42b9a-ca29-4a29-aebe-60b24093af89","disabled":true}]},"description":"Gets the wallets withdrawals based on certain criteria."},"response":[]},{"name":"2. ZA_NEDBANK_EFT Withdrawal","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","}); \r",""]}}],"id":"80758678-2d97-4e20-ad70-7b9f8ba19c44","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 111,\r\n    \"externalUniqueId\": \"{{$guid}}\",\r\n    \"type\": \"ZA_NEDBANK_EFT\",\r\n    \"callbackUrl\": \"{{requestBinUrl}}/withdrawalCallbackUrl\",\r\n    \"accountName\": \"My AccountName\",\r\n    \"accountNumber\": \"1201304067\",\r\n    \"bank\": \"NEDBANK\",\r\n    \"branchCode\": \"198765\",\r\n    \"reference\": \"myRef\",\r\n    \"description\": \"EFT withdrawal\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals"},"response":[]},{"name":"12. ZA_NEDBANK_EFT_IMMEDIATE Withdrawal","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","}); \r",""]}}],"id":"44494080-1d21-402a-a49d-cc88c3eb2057","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 111,\r\n    \"externalUniqueId\": \"{{$guid}}\",\r\n    \"type\": \"ZA_NEDBANK_EFT_IMMEDIATE\",\r\n    \"callbackUrl\": \"{{requestBinUrl}}/withdrawalCallbackUrl\",\r\n    \"accountName\": \"My AccountName\",\r\n    \"accountNumber\": \"1201304067\",\r\n    \"bank\": \"NEDBANK\",\r\n    \"branchCode\": \"198765\",\r\n    \"reference\": \"myRef\",\r\n    \"description\": \"EFT withdrawal\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals"},"response":[]},{"name":"3. ZA_PAYCORP_ATM Withdrawal","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","    pm.collectionVariables.set(\"atmCashOutPin\", jsonData.token);\r","    pm.collectionVariables.set(\"atmCashOutAmount\", jsonData.amount);\r","}); \r",""]}}],"id":"9fcea6f9-de0f-4401-8116-aa3e48e0580a","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 150,\r\n    \"externalUniqueId\": \"{{$guid}}\",\r\n    \"type\": \"ZA_PAYCORP_ATM\",\r\n    \"description\": \"ATM withdrawal\",\r\n    \"callbackUrl\": \"https://webhook.site/ae25944b-55d5-4b7a-a7c6-ef933ecddc63/MobileMoneyManagement/UkhesheCallbackAPIV\",\r\n    \"deliverToPhone\": \"27832146700\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals"},"response":[]},{"name":"4. Get a withdrawal by Id","id":"1da32af2-39c9-4a62-b883-c09ed039db7c","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals/{{consumerWithdrawalId}}","description":"The Id is the withdrawal id field."},"response":[]},{"name":"5. Paycorp simulate ATM withdrawal (Sandbox only)","id":"7e54ee6b-19d3-4aab-8f84-a85acaddabdd","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": {{atmCashOutAmount}},\r\n    \"cellNumber\": \"{{consumerPhone1}}\",\r\n    \"pin\": {{atmCashOutPin}},\r\n    \"retrievalReferenceNumber\": \"{{$randomUUID}}\",\r\n    \"currency\": \"ZAR\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/paycorp/api/CashWithdrawal"},"response":[]},{"name":"6. GLOBAL_MFS Withdrawal","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","    pm.collectionVariables.set(\"atmCashOutPin\", jsonData.token);\r","    pm.collectionVariables.set(\"atmCashOutAmount\", jsonData.amount);\r","}); \r",""]}}],"id":"6a27ddc9-1d5e-4afe-992a-a974c56eec06","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 150,\r\n    \"externalUniqueId\": \"{{$guid}}\",\r\n    \"type\": \"GLOBAL_MFS\",\r\n    \"deliverToPhone\": \"{{consumerPhone1}}\",\r\n    \"description\": \"MFS withdrawal\",\r\n    \"callbackUrl\": \"{{requestBinUrl}}/withdrawalCallbackUrl\",\r\n    \"accountName\": \"string bob\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals"},"response":[]},{"name":"8. ZA_PNP_CASH Withdrawal","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","    pm.collectionVariables.set(\"atmCashOutPin\", jsonData.token);\r","    pm.collectionVariables.set(\"atmCashOutAmount\", jsonData.amount);\r","}); \r",""]}}],"id":"5d3846cf-6c4b-40ae-b2bf-91f581916b6b","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 150,\r\n    \"externalUniqueId\": \"{{$guid}}\",\r\n    \"type\": \"ZA_PNP_CASH\",\r\n    \"deliverToPhone\": \"{{consumerPhone1}}\",\r\n    \"description\": \"ATM withdrawal\",\r\n    \"callbackUrl\": \"{{requestBinUrl}}/withdrawalCallbackUrl\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals"},"response":[]},{"name":"9. ZA_PNP_TENDER Withdrawal","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","    pm.collectionVariables.set(\"atmCashOutPin\", jsonData.token);\r","    pm.collectionVariables.set(\"atmCashOutAmount\", jsonData.amount);\r","}); \r",""]}}],"id":"340fde0c-796d-4b2a-9552-09ea3619df40","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 150,\r\n    \"externalUniqueId\": \"{{$guid}}\",\r\n    \"type\": \"ZA_PNP_TENDER\",\r\n    \"deliverToPhone\": \"{{consumerPhone1}}\",\r\n    \"description\": \"ATM withdrawal\",\r\n    \"callbackUrl\": \"{{requestBinUrl}}/withdrawalCallbackUrl\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals"},"response":[]},{"name":"11. Withdrawal Update Status","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"consumerWithdrawalId\", jsonData.withdrawalId);\r","    pm.collectionVariables.set(\"atmCashOutPin\", jsonData.token);\r","    pm.collectionVariables.set(\"atmCashOutAmount\", jsonData.amount);\r","}); \r",""]}}],"id":"f944664f-37d8-4a2c-b6ea-5c50231e864e","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"status\": \"SUCCESSFUL\"\r\n}\r\n\r\n//CANCELLED, SUCCESSFUL, ERROR","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/withdrawals/{{consumerWithdrawalId}}"},"response":[]}],"id":"384cf510-ee6d-40ac-95ec-8a73950f8f25","description":"Customers will not only want their money in their wallet. A time will come where a customer wants to move money off the Eclipse ecosystem into a bank or as cash. Eclipse facilitates this process through numerous integrations for withdrawing cash and electronically moving money into traditional bank accounts. The numerous integrations are consolidated into a single simple API for initiating a withdrawal. Strict rules are enforced based on the authenticated user doing the withdrawal and their relationship to the wallet being debited. This is based on who the wallet is owned by, or in the case of an organisation, what position the caller holds in that organisation. There are also rules based on the wallet type which determine if the tenant system API calls have authorisation to perform withdrawals on their customers wallets."},{"name":"M. Transfers","item":[{"name":"1. Do a wallet2wallet transfer (tenant2tenant)","id":"bed55317-4674-4b4a-b863-315e3810aaaa","request":{"auth":{"type":"bearer","bearer":{"token":"{{consumerJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"amount\": 10.00,\n    \"description\": \"Transfer\",\n    \"externalId\": \"{{$randomUUID}}\",\n    \"fromWalletId\": 150,\n    \"toWalletId\": 78\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/transfers"},"response":[]},{"name":"2. Do a wallet2wallet transfer tenant2consumer","id":"394ff65b-1378-4a07-9404-877668092ead","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"amount\": 100.00,\n    \"description\": \"{{$randomLoremText}}\",\n    \"externalId\": \"{{$randomUUID}}\",\n    \"fromWalletId\": 125,\n    \"toWalletId\": 7979\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/transfers"},"response":[]},{"name":"3. Do a wallet2wallet transfer Cross Tenant","id":"bc9ddc85-134e-42a7-af48-724b206377a6","request":{"auth":{"type":"bearer","bearer":{"token":"eyJraWQiOiIxIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJUaWtUb2stYXBpLXVzZXIiLCJzcmMiOiJBdXRoLVAiLCJjaCI6IjM4eUxpSGFpMFAiLCJyb2xlcyI6IiIsInNlc3MiOiI5ZWE0YWQ3ZC1jZjFiLTQxMzMtYTJjNC01MWYzOGU3NTA5NjEiLCJpcCI6IjEwMi42NS45My4xMzMiLCJpc3MiOiJodHRwOlwvXC9lY2xpcHNlc2FuZGJveC5saXZlIiwibG9jYWxlIjoiZW4tVVMiLCJ1aWQiOjI0NzIsInBvcyI6W3sibyI6MjAyLCJkIjowLCJwIjoiVEVOQU5UX1NZU1RFTSJ9XSwiZXhwIjoxNjMwMzMyMTE1LCJ0ZW5hbnQiOjIwMn0.JSAr2UxsUtNQ4LPf716nA-QGTGLAD3HcwDhlXd3ixjhxaEVA69aiMWGROg6EynelXgBz4YHbVHTB0qnZfZV9hO5-e_oVeJv3QiXnSyVUdj_BYC-XTNAQvBB01kusoRmF8n923Dl0aG-VlYyb1XLvYOcSzj9C5A4NLGMjmC_RxZI-gJjQoqNxc7QgvU7iFXx_MgDpfS11qemfFLFHtbuaS0pJ_xteo5m--shi9ScRmhunc8OKYbIh3XRsgbLwJjRe5KCrRyECKNlUBYxSpk_z4qor4RHMcRy-2SO_E-hlAaRPCwdUDkZFy-fwJhvVBEHuOISO49Uk_7mhp7Z8gAg_KA"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$randomUUID}}\",\n    \"amount\": 101.00,\n    \"description\": \"TikTok Transfer\",\n    \"externalId\": \"{{$randomUUID}}\",\n    \"fromWalletId\": 2068,\n    \"toWalletId\": 412\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/202/wallets/transfers"},"response":[]}],"id":"6c504ed6-07ea-435c-b84d-7a699674e299","description":"A wallet transfer is done in order to move money within the Eclipse ecosystem. The ability to transfer between wallets of different types depends on the rules and setup of the wallets. Strict rules are enforced based on the authenticated user doing the transfer and their relationship to the wallet being debited. This is based on who the wallet is owned by, or in the case of an organisation, what position the caller holds in that organisation. There are also rules based on the wallet type which determine if the tenant system API calls have authorisation to perform withdrawals on their customers wallets.","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"9d349d4f-bf6c-4e61-b8b1-734b75969af7","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"f5ee3c9c-44f1-4390-8f0e-e91f09ff9471","type":"text/javascript","exec":[""]}}]},{"name":"N. Reservations","item":[{"name":"1. Get wallets reservations","id":"c86449cb-d42f-4419-86d2-cdeaa9a01fcc","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/reservations","description":"Retrieves the reservations held against a wallet"},"response":[]},{"name":"2. Create a reservation","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    pm.response.to.have.status(200);\r","    console.info(\"Storing tenantWalletReservationId\");\r","    var jsonData = JSON.parse(responseBody);\r","    pm.collectionVariables.set(\"tenantWalletReservationId\", jsonData.reservationId);\r","}); \r",""]}}],"id":"82dc8737-4157-4fce-a7f0-4fb4f9f9b181","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 200.00,\n    \"description\": \"{{$randomCatchPhraseDescriptor}}\",\n    \"expires\": \"2012-06-16T20:16:48.577Z\",\n    \"sessionId\": \"{{$randomUUID}}\"\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/reservations","description":"Create a reservation"},"response":[]},{"name":"3. Get a Specific Reservation","id":"5cfb75e0-5c26-4d01-bcb6-7d71e34d7c99","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/reservations/{{tenantWalletReservationId}}","description":"Get a Reservation's info by providing unique reservationId"},"response":[]},{"name":"4. Delete the reservation","id":"740ca68d-427c-40da-b1af-c399c2983800","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"DELETE","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{tenantWalletId}}/reservations/{{tenantWalletReservationId}}","description":"Delete the reservation freeing up the amount back into available balance"},"response":[]}],"id":"c3e679ab-514d-4f55-80f4-079cbf74c40b","description":"A reservation can be used to hold money in a wallet aside so that it cannot be used. Reservations make up the difference between a wallets current balance and available balance. The hold on funds is removed when a reservation expires. A transfer can be done which includes the sessionId of a reservation. This will allow the transfer to debit from the source wallet using the available balance + the amount reserved in the corresponding reservation. When the transfer is done, the reservation is deleted atomically as part of the transfer. This is useful for locking and removing funds on a long-running multi-step transaction.","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"dba80ea2-ceb6-4dba-a51a-0ca57419f795","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"36539b23-b173-4f5a-bba8-73867f29e059","type":"text/javascript","exec":[""]}}]},{"name":"P. VAS","item":[{"name":"1. Get list of vas partner and their products","id":"2a1b1322-64f8-4cfd-9547-f452101b4349","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/vas/catalogs","description":"Get list of the partners and products per partner. Listed partners are country specific e.g tenant in RSA only gets the catalogs of RSA partners"},"response":[]}],"id":"d2ea3b70-f1b9-409b-81e7-d2607fb68412"},{"name":"Q. Payments","item":[{"name":"External Wallets","item":[{"name":"1. Singlestep QR Payment for preauth SOV","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"78bf2cda-4967-4991-b57d-4ab732f1bff2","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"gCaptcha","type":"text","value":"abcd"}],"body":{"mode":"raw","raw":"{\n  \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n  \"currency\": \"ZAR\",\n  \"externalUniqueId\": \"{{$randomUUID}}\",\n  \"externalWalletType\": \"ZA_VODACOM\",\n  \"phone\": \"27832837000\",\n  \"type\": \"ZA_QRCODE\",\n  \"paymentData\": \"9021613633\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/payments/"},"response":[]}],"id":"c81499a4-43dc-4b3f-aa50-64c6322e2aaa"},{"name":"1. Initiate a new payment","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"92358a77-4fe2-4292-97fa-6a89701f695f","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"paymentData\": \"{{qrCode}}\",\n    \"type\": \"ZA_QRCODE\",\n    \"phone\": \"{{consumerMobile}}\"\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/payments","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","payments"],"variable":[{"id":"94cd4609-27b0-4fc1-9d69-9f673eefe413","key":"tenantId","value":"80680079","description":"(Required) "}]},"description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]},{"name":"2. Get the details of a payment","id":"8ad56b67-c7cb-4d3c-833d-55ffd32e68f9","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/payments/{{tenantPaymentId}}","description":"The status details of a payment which may be in progress or complete"},"response":[]},{"name":"3. Update Payment Credentials COMPLETION_URL (3ds UX)","id":"46d4f52d-50b2-4755-841e-3559f46ee05a","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"paymentMechanism\": \"COMPLETION_URL\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"landingUrl\": \"{{requestBinUrl}}/landing\",\n    \"paymentCardData\": {\n        \"accountType\": \"00\",\n        \"alias\": \"My second card\",\n        \"cardholderName\": \"m. mar\",\n        \"dob\": \"19861205\",\n        \"expiry\": \"1122\",\n        \"pan\": \"5432123456789012\"\n    }\n}\n//\"cardOnFileId\": \"{{consumerCardOnFileId}}\""},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/payments/{{tenantPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"4. Update Payment Credentials - SECURE_CODE (NO UX)","id":"4246077e-a2af-4de9-900d-197210187a46","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 11,\n    \"paymentMechanism\": \"SECURE_CODE\",\n    \"callbackUrl\": \"{{requestBinUrl}}/calback\",\n    \"cardOnFileId\": \"{{consumerCardOnFileId}}\",\n    \"paymentSecurityData\": {\n        \"cavv\": \"xgQolSUPAAAAAAAAAAAAAAAAAAA=\",\n        \"xid\": \"MDAwMDAwMDAwMDAwMDAwMDE2MzU=\",\n        \"eciFlag\": \"02\",\n        \"paResStatus\": \"Y\",\n        \"signatureVerification\": \"Y\"\n    }\n}"},"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/payments/{{tenantPaymentId}}","description":"If some fields are missing then a 400 will be returned.If all is ok to proceed then the data required to complete the payment will be returned. Depending on the payment type, only only one update may be allowed so gather all required info before updating the payment."},"response":[]},{"name":"5. Initiate a new payment link","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Status code is 200\", () => {\r","    var jsonData = JSON.parse(responseBody);\r","    pm.environment.set(\"tenantPaymentId\", jsonData.paymentId);\r","});"]}}],"id":"60dfb84d-983b-4c4d-86c2-881de7d0fc11","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"externalUniqueId\": \"{{$guid}}\",\n    \"amount\": \"100\",\n    \"currency\": \"ZAR\",\n    \"type\": \"GLOBAL_PAYMENT_LINK\"\n}"},"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/payments","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","tenants","{{tenantId}}","payments"],"variable":[{"id":"94cd4609-27b0-4fc1-9d69-9f673eefe413","key":"tenantId","value":"80680079","description":"(Required) "}]},"description":"Starts the process of making a payment. The return result and flow depend on the payment type. E.g. it could be a mult-step process with customer interaction or a simple fire and forget payment."},"response":[]}],"id":"52391373-4120-4270-b041-846b9ca08e84","description":"Payments allow tenants to initiate or process a payment. In many ways, there is an overlap between payments and topups in that a topup can often be seen as a payment to ones own wallet. As payments can result in funds going to non-Eclipse wallets, they are a superset of topups. I.e. topups always result in funds ending up in an Eclipse Wallet while payments can result in funds going to an external bank/wallet/account. When in doubt, use topups APIs when the customer carrying out the transaction is going to be the recipient of the funds into their Eclipse wallet, and payments where the person or API doing the payment is not going to be the one receiving the funds. The payments API can be used at the customer level or directly at the tenant level. Using it at the customer level allows Eclipse to deduce the payer information while at the tenant level the API requires customer information to be passed in. From there on both API's are identical."},{"name":"R. Cross Border Remittances","item":[{"name":"1. Get a wallets cross border remittances","id":"e7939599-533c-409d-8628-dbbb0ac00450","request":{"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"method":"GET","header":[],"url":"{{baseUrl}}/eclipse-conductor/rest/v1/tenants/{{tenantId}}/wallets/{{consumerWalletId}}/remittances ","description":"Get list of the partners and products per partner. Listed partners are country specific e.g tenant in RSA only gets the catalogs of RSA partners"},"response":[]}],"id":"1027bda6-cbf9-45c2-9199-ea6bc941619e"},{"name":"Z. Global","item":[{"name":"1. Search for a wallet irrespective of tenant","id":"92935a2a-5cbb-4155-b082-a8e2d53b014d","request":{"auth":{"type":"bearer","bearer":{"token":"{{integratorJwtToken}}"}},"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/eclipse-conductor/rest/v1/global/wallets?phone=27832146700&nationalIdentityNumber=8612055183085","host":["{{baseUrl}}"],"path":["eclipse-conductor","rest","v1","global","wallets"],"query":[{"key":"phone","value":"27832146700"},{"key":"nationalIdentityNumber","value":"8612055183085"}]},"description":"Get list of the partners and products per partner. Listed partners are country specific e.g tenant in RSA only gets the catalogs of RSA partners"},"response":[]}],"id":"97179673-13c7-4e5b-bf64-f4c190145aa0"}],"id":"76144eb5-ec97-421a-b3e0-eccd4a9ec35b","auth":{"type":"noauth"},"event":[{"listen":"prerequest","script":{"id":"1f9a6fae-8b80-451d-85f6-cbdf2abe7659","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"43fed682-5473-49f4-a708-b1ab10106134","type":"text/javascript","exec":[""]}}]}],"auth":{"type":"bearer","bearer":{"token":"{{tenantJwtToken}}"}},"event":[{"listen":"prerequest","script":{"id":"7ef380d8-6568-4267-b0f0-c7638b19ee0f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"51711712-3bdc-4232-9006-c96636cedc3c","type":"text/javascript","exec":[""]}}],"variable":[{"id":"8dc03aeb-d432-4ed2-b9ba-6360e93d8034","key":"baseUrl","value":"https://eclipse-java-sandbox.ukheshe.rocks"},{"id":"82011faa-b1f5-4488-8b63-b3e30ad7ae36","key":"tenantIdentity","value":""},{"id":"695fb765-57bc-4823-828c-fa950e1cb9ab","key":"tenantPassword","value":""},{"id":"eb63c12b-d2bd-46c6-9896-d52d96430341","key":"tenantJwtToken","value":""},{"id":"2438baa2-9070-4705-994e-ef6a13cf212a","key":"tenantId","value":""},{"id":"bedc20b7-278b-441e-a8f1-96521fc318ee","key":"tenantJwtExpires","value":""},{"id":"9d168c69-281b-4a6c-8129-f982326724da","key":"tenantClientChallenge","value":""},{"id":"d73adcdc-7897-41c4-b471-81cc15b3ba2b","key":"tenantName","value":""},{"id":"a61668a2-b369-400a-9a66-5f873aaa42f3","key":"tenantPhone1","value":""},{"id":"55454a00-8a81-4d30-8b97-745898373993","key":"tenantEmail","value":""},{"id":"c5f331c1-e99d-429e-8748-027b90ea1b56","key":"tenantCompanyNumber","value":""},{"id":"d4aac34b-fc05-4e9e-a159-5868a87818b3","key":"tenantTaxNumber","value":""},{"id":"dc452bb2-d838-46b2-89c8-9b8efc5a5387","key":"tenantTradingName","value":""},{"id":"26948ad1-4c50-4388-a77a-de4c6ad9af7f","key":"tenantSector","value":""},{"id":"f7dc6482-1182-4789-8cc3-76a5d2578cc2","key":"tenantClassification","value":""},{"id":"a2e6730b-89f8-479e-969b-41c98c7b2126","key":"tenantDetailVersion","value":""},{"id":"68725ba6-4193-4324-8b8c-a31f705501f0","key":"tenantWalletTypeId","value":""},{"id":"9a572d72-38a2-4a31-9b66-c2cab9a34080","key":"tenantWalletId","value":""},{"id":"5a543663-dc00-4978-9b84-61fb481163d3","key":"tenantWalletQrCode","value":""},{"id":"95b71000-611a-4ed8-a76f-0352c6f386ba","key":"tenantWalletName","value":""},{"id":"e8bac798-00a8-4856-af0d-120cdd2605a2","key":"tenantWaleltFriendlyId","value":""},{"id":"377ad74a-e3b4-4861-968b-9fc7f3a0d563","key":"tenantWalletCurrency","value":""},{"id":"a7013600-ed0c-457b-81d8-bc5fd51afdad","key":"tenantWalletStatus","value":""},{"id":"d0052760-032a-4508-8aa1-37e3f32ce9d7","key":"tenantWalletWithdrawalId","value":""},{"id":"b72a235f-81b4-402b-9011-3ea45b9914d2","key":"tenantWalletTopupId","value":""},{"id":"72e7fd26-012e-4a94-bd3a-60a018920e64","key":"tenantWalletReservationId","value":""},{"id":"1b2cbcaa-43f5-4878-9f2a-452a7ca563aa","key":"tenantAdminUserId","value":""},{"id":"d7bd1bef-b66e-412f-a91a-170d64b0f324","key":"consumerWalletId","value":""},{"id":"abe83a16-db19-4cc4-8550-5bf1a2bc14c7","key":"consumerCustomerId","value":""},{"id":"b7ae84aa-b2ab-4de4-8465-9b4d6a01b29c","key":"consumerCardId","value":""},{"id":"35b593a0-cb11-48c3-a5c8-ca71d6c47f7e","key":"consumerIdentity","value":""},{"id":"d934a556-01fd-4742-91db-a05ec84d9702","key":"consumerPassword","value":""},{"id":"bc03283b-cfab-496a-878c-19ae020c4a3a","key":"consumerAddressId","value":""},{"id":"026d3d2c-7ad9-480b-8213-18295226331d","key":"requestBinUrl","value":"https://enpx4ss2ov0e.x.pipedream.net/public"},{"id":"fc8f247e-47ea-4cd8-966c-fd56f6c359e7","key":"consumerCardOnFileId","value":""},{"id":"91d027bb-9163-4139-865f-67a36207f6fe","key":"consumerJwtToken","value":""},{"id":"216c2892-ba8d-4ea6-a05c-6e511b69565c","key":"consumerId","value":""},{"id":"af69606a-5106-4fb3-a318-50781e0932e2","key":"consumerJwtExpires","value":""},{"id":"e615d4c4-a8d8-4caa-be6a-970d69aef08c","key":"organisationId","value":""},{"id":"c62e60f9-827d-4841-9d1a-2acb9404dee1","key":"consumerPaymentId","value":""},{"id":"d9826792-56fd-4048-8cd9-ffad2e866f0f","key":"consumerWithdrawalId","value":""},{"id":"644ca20f-dc81-4ef1-8eab-a8ef14dc2733","key":"qrCode","value":"9453253203"},{"id":"ae9cb162-1a5f-4278-8a13-8ec0fecd6e0d","key":"atmCashOutPin","value":""},{"id":"ea7e2e95-4e79-4eea-908b-60fe2ef90467","key":"atmCashOutAmount","value":""},{"id":"13b7aef6-110d-4e7b-8f8a-33e444339940","key":"consumerWalletTopupId","value":""},{"id":"3dca2fae-4562-4c52-874e-ae773e3d3008","key":"consumerMobile","value":"27831234567"},{"id":"42d283d6-d53d-472a-bcc4-b150b39952af","key":"Eclipse_Tenant_Id","value":""},{"id":"f163a8ce-b5fc-46de-8033-dcc4f274ebc8","key":"Eclipse_Tenant_JWT_Expires","value":""},{"id":"f04caaec-2179-4e90-a8d0-1c439919d193","key":"consumerTopupId","value":""},{"id":"595446df-2770-4a1a-a08d-ed0f13bad035","key":"integratorJwtToken","value":""},{"id":"b3a4bcd5-9d12-4745-ab77-a2b79865bfd2","key":"integratorId","value":""},{"id":"151b5776-8ed9-487a-bf94-cf58449512e1","key":"integratorJwtExpires","value":""}]}