Browse Source

上传文件至 ''

cnbugs 1 month ago
parent
commit
9384cb5b97
1 changed files with 605 additions and 0 deletions
  1. 605 0
      Giffgaff_eSIM.json

+ 605 - 0
Giffgaff_eSIM.json

@@ -0,0 +1,605 @@
+{
+	"info": {
+		"_postman_id": "3c9f96d5-1cf8-4e11-b5ec-adfbbb2ba17a",
+		"name": "Giffgaff转eSIM",
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
+		"_exporter_id": "5019143"
+	},
+	"item": [
+		{
+			"name": "1.发送认证邮件 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": "2.输入邮件验证码 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": "3.获取会员ID Get MemberID",
+			"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": "4.预订eSIM Reserve eSIM",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"exec": [
+							"pm.collectionVariables.set(\"esim_ssn\", pm.response.json().data.reserveESim.esim.ssn);\r",
+							"pm.collectionVariables.set(\"esim_activation_code\", pm.response.json().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": "5.执行交换eSIM Swap eSIM",
+			"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": "6.获取eSIM信息 Get eSIM",
+			"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": "7.获取eSIM下载码 Get eSIM Token",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"exec": [
+							"pm.collectionVariables.set(\"lpa_string\", pm.response.json().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": "8.生成eSIM二维码 Get eSIM QRCode",
+			"request": {
+				"method": "GET",
+				"header": [],
+				"url": {
+					"raw": "https://api.qrserver.com/v1/create-qr-code/?data={{lpa_string}}&size=200x200",
+					"protocol": "https",
+					"host": [
+						"api",
+						"qrserver",
+						"com"
+					],
+					"path": [
+						"v1",
+						"create-qr-code",
+						""
+					],
+					"query": [
+						{
+							"key": "data",
+							"value": "{{lpa_string}}"
+						},
+						{
+							"key": "size",
+							"value": "200x200"
+						}
+					]
+				}
+			},
+			"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": ""
+		}
+	]
+}