Last active
April 12, 2024 15:14
-
-
Save jiz4oh/6d712a06dcd7a86132003c9df946886f to your computer and use it in GitHub Desktop.
get giffgaff esim code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"info": { | |
"_postman_id": "b452c872-707a-42fb-9e1b-c8520c4e0a19", | |
"name": "Giffgaff", | |
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", | |
"_exporter_id": "2203562" | |
}, | |
"item": [ | |
{ | |
"name": "發送認證郵件 Send Email Verification", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"pm.collectionVariables.set(\"email_code_ref\", pm.response.json().ref);" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"request": { | |
"method": "POST", | |
"header": [], | |
"body": { | |
"mode": "raw", | |
"raw": "{\r\n\t\"source\": \"esim\",\r\n\t\"preferredChannels\": [\"EMAIL\"]\r\n}", | |
"options": { | |
"raw": { | |
"language": "json" | |
} | |
} | |
}, | |
"url": { | |
"raw": "https://id.giffgaff.com/v4/mfa/challenge/me", | |
"protocol": "https", | |
"host": [ | |
"id", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"v4", | |
"mfa", | |
"challenge", | |
"me" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "檢查郵件認證碼 Verify Email code", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"pm.collectionVariables.set(\"email_signature\", pm.response.json().signature);" | |
], | |
"type": "text/javascript" | |
} | |
}, | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"pm.collectionVariables.set(\"email_code\", pm.request.url.query.get(\"code\"));" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"request": { | |
"method": "POST", | |
"header": [], | |
"body": { | |
"mode": "raw", | |
"raw": "{\r\n\t\"ref\": \"{{email_code_ref}}\",\r\n\t\"code\": \"{{email_code}}\"\r\n}", | |
"options": { | |
"raw": { | |
"language": "json" | |
} | |
} | |
}, | |
"url": { | |
"raw": "https://id.giffgaff.com/v4/mfa/validation?code=159804", | |
"protocol": "https", | |
"host": [ | |
"id", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"v4", | |
"mfa", | |
"validation" | |
], | |
"query": [ | |
{ | |
"key": "code", | |
"value": "159804" | |
} | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "取得會員資訊 Get Member", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"pm.collectionVariables.set(\"memberId\", pm.response.json().data.memberProfile.id);\r", | |
"" | |
], | |
"type": "text/javascript" | |
} | |
}, | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"console.log(pm.collectionVariables.get(\"email_signature\"))\r", | |
"if(pm.collectionVariables.get(\"email_signature\")==null || pm.collectionVariables.get(\"email_signature\")== \"\"){\r", | |
" console.error(\"Email 尚未驗證\");\r", | |
" throw new Error(\"Email 尚未驗證\");\r", | |
"}" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"request": { | |
"method": "POST", | |
"header": [], | |
"body": { | |
"mode": "graphql", | |
"graphql": { | |
"query": "query getMemberProfileAndSim {\r\n memberProfile {\r\n id\r\n memberName\r\n __typename\r\n }\r\n sim {\r\n phoneNumber\r\n status\r\n __typename\r\n }\r\n}\r\n", | |
"variables": "" | |
} | |
}, | |
"url": { | |
"raw": "https://publicapi.giffgaff.com/gateway/graphql", | |
"protocol": "https", | |
"host": [ | |
"publicapi", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"gateway", | |
"graphql" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "申請 SIM卡 Reserve SIM", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"pm.collectionVariables.set(\"esim_ssn\", pm.response.json()[0].data.reserveESim.esim.ssn);\r", | |
"pm.collectionVariables.set(\"esim_activation_code\", pm.response.json()[0].data.reserveESim.esim.activationCode);\r", | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "x-gg-app-os", | |
"value": "iOS", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-os-version", | |
"value": "14", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-build-number", | |
"value": "722", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-manufacturer", | |
"value": "apple", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-model", | |
"value": "iphone15", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-version", | |
"value": "13.21.2", | |
"type": "text" | |
} | |
], | |
"body": { | |
"mode": "graphql", | |
"graphql": { | |
"query": "mutation reserveESim($input: ESimReservationInput!) {\r\n reserveESim: reserveESim(input: $input) {\r\n id\r\n memberId\r\n reservationStartDate\r\n reservationEndDate\r\n status\r\n esim {\r\n ssn\r\n activationCode\r\n deliveryStatus\r\n associatedMemberId\r\n __typename\r\n }\r\n __typename\r\n }\r\n}\r\n", | |
"variables": "{\r\n \"input\": {\r\n\t\t\"memberId\": \"{{memberId}}\",\r\n\t\t\"userIntent\": \"SWITCH\"\r\n\t}\r\n}" | |
} | |
}, | |
"url": { | |
"raw": "https://publicapi.giffgaff.com/gateway/graphql", | |
"protocol": "https", | |
"host": [ | |
"publicapi", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"gateway", | |
"graphql" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "申請交換eSIM Swap SIM", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
}, | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "x-gg-app-os", | |
"value": "iOS", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-os-version", | |
"value": "14", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-build-number", | |
"value": "722", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-manufacturer", | |
"value": "apple", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-model", | |
"value": "iphone15", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-version", | |
"value": "13.21.2", | |
"type": "text" | |
} | |
], | |
"body": { | |
"mode": "graphql", | |
"graphql": { | |
"query": "mutation SwapSim($activationCode: String!, $mfaSignature: String!) {\r\n swapSim(activationCode: $activationCode, mfaSignature: $mfaSignature) {\r\n old {\r\n ssn\r\n activationCode\r\n __typename\r\n }\r\n new {\r\n ssn\r\n activationCode\r\n __typename\r\n }\r\n __typename\r\n }\r\n}\r\n", | |
"variables": "{\r\n\t\"activationCode\": \"{{esim_activation_code}}\",\r\n\t\"mfaSignature\": \"{{email_signature}}\"\r\n}" | |
} | |
}, | |
"url": { | |
"raw": "https://publicapi.giffgaff.com/gateway/graphql", | |
"protocol": "https", | |
"host": [ | |
"publicapi", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"gateway", | |
"graphql" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "取得eSIM Get ESIMs", | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "x-gg-app-os", | |
"value": "iOS", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-os-version", | |
"value": "14", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-build-number", | |
"value": "722", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-manufacturer", | |
"value": "apple", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-model", | |
"value": "iphone15", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-version", | |
"value": "13.21.2", | |
"type": "text" | |
} | |
], | |
"body": { | |
"mode": "graphql", | |
"graphql": { | |
"query": "query getESims($deliveryStatus: ESimDeliveryStatus!) {\r\n eSims(deliveryStatus: $deliveryStatus) {\r\n ssn\r\n __typename\r\n }\r\n}\r\n", | |
"variables": "{\r\n\t\"deliveryStatus\": \"DOWNLOADABLE\"\r\n}" | |
} | |
}, | |
"url": { | |
"raw": "https://publicapi.giffgaff.com/gateway/graphql", | |
"protocol": "https", | |
"host": [ | |
"publicapi", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"gateway", | |
"graphql" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "取得eSIM下載碼 Get ESIM Token", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"pm.collectionVariables.set(\"lpa_string\", pm.response.json()[0].data.eSimDownloadToken.lpaString);" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "x-gg-app-os", | |
"value": "iOS", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-os-version", | |
"value": "14", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-build-number", | |
"value": "722", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-manufacturer", | |
"value": "apple", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-device-model", | |
"value": "iphone15", | |
"type": "text" | |
}, | |
{ | |
"key": "x-gg-app-version", | |
"value": "13.21.2", | |
"type": "text" | |
} | |
], | |
"body": { | |
"mode": "graphql", | |
"graphql": { | |
"query": "query eSimDownloadToken($ssn: String!) {\r\n eSimDownloadToken(ssn: $ssn) {\r\n id\r\n host\r\n matchingId\r\n lpaString\r\n __typename\r\n }\r\n}\r\n", | |
"variables": "{\r\n\t\"ssn\": \"{{esim_ssn}}\"\r\n}" | |
} | |
}, | |
"url": { | |
"raw": "https://publicapi.giffgaff.com/gateway/graphql", | |
"protocol": "https", | |
"host": [ | |
"publicapi", | |
"giffgaff", | |
"com" | |
], | |
"path": [ | |
"gateway", | |
"graphql" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "產生QRCode Get ESIM QRCode", | |
"request": { | |
"method": "GET", | |
"header": [], | |
"url": { | |
"raw": "https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl={{lpa_string}}", | |
"protocol": "https", | |
"host": [ | |
"chart", | |
"googleapis", | |
"com" | |
], | |
"path": [ | |
"chart" | |
], | |
"query": [ | |
{ | |
"key": "cht", | |
"value": "qr" | |
}, | |
{ | |
"key": "chs", | |
"value": "200x200" | |
}, | |
{ | |
"key": "chl", | |
"value": "{{lpa_string}}" | |
} | |
] | |
} | |
}, | |
"response": [] | |
} | |
], | |
"auth": { | |
"type": "oauth2", | |
"oauth2": [ | |
{ | |
"key": "refreshRequestParams", | |
"value": [], | |
"type": "any" | |
}, | |
{ | |
"key": "tokenRequestParams", | |
"value": [], | |
"type": "any" | |
}, | |
{ | |
"key": "authRequestParams", | |
"value": [], | |
"type": "any" | |
}, | |
{ | |
"key": "tokenName", | |
"value": "Giffgaff", | |
"type": "string" | |
}, | |
{ | |
"key": "challengeAlgorithm", | |
"value": "S256", | |
"type": "string" | |
}, | |
{ | |
"key": "state", | |
"value": "cd34c1ef-f1c7-4d5c-8030-bf9753a2ccd5", | |
"type": "string" | |
}, | |
{ | |
"key": "scope", | |
"value": "read", | |
"type": "string" | |
}, | |
{ | |
"key": "redirect_uri", | |
"value": "giffgaff://auth/callback/", | |
"type": "string" | |
}, | |
{ | |
"key": "grant_type", | |
"value": "authorization_code_with_pkce", | |
"type": "string" | |
}, | |
{ | |
"key": "clientSecret", | |
"value": "OQv4cfiyol8TvCW4yiLGj0c1AkTR3N2JfRzq7XGqMxk=", | |
"type": "string" | |
}, | |
{ | |
"key": "clientId", | |
"value": "4a05bf219b3985647d9b9a3ba610a9ce", | |
"type": "string" | |
}, | |
{ | |
"key": "authUrl", | |
"value": "https://id.giffgaff.com/auth/oauth/authorize", | |
"type": "string" | |
}, | |
{ | |
"key": "addTokenTo", | |
"value": "header", | |
"type": "string" | |
}, | |
{ | |
"key": "client_authentication", | |
"value": "header", | |
"type": "string" | |
}, | |
{ | |
"key": "accessTokenUrl", | |
"value": "https://id.giffgaff.com/auth/oauth/token", | |
"type": "string" | |
} | |
] | |
}, | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
}, | |
{ | |
"listen": "test", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
} | |
], | |
"variable": [ | |
{ | |
"key": "memberId", | |
"value": "" | |
}, | |
{ | |
"key": "esim_ssn", | |
"value": "" | |
}, | |
{ | |
"key": "esim_activation_code", | |
"value": "" | |
}, | |
{ | |
"key": "email_code_ref", | |
"value": "" | |
}, | |
{ | |
"key": "email_signature", | |
"value": "" | |
}, | |
{ | |
"key": "lpa_string", | |
"value": "" | |
}, | |
{ | |
"key": "email_code", | |
"value": "" | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment