1651 lines
53 KiB
JSON
1651 lines
53 KiB
JSON
{
|
||
"marker": "20260808022010-e8bfdfb1",
|
||
"gateway": "http://8.163.30.128:9000",
|
||
"generatedAt": "2026-08-08T02:20:10.905Z",
|
||
"completedAt": "2026-08-08T02:20:18.704Z",
|
||
"success": false,
|
||
"fatal": {
|
||
"name": "Error",
|
||
"message": "HTTP status: expected=401 actual=200"
|
||
},
|
||
"testAccount": {
|
||
"username": "client_20260808022010_085da9",
|
||
"companyName": "客户端全链路测试企业-20260808022010-e8bfdfb1",
|
||
"legalPhone": "13955610907"
|
||
},
|
||
"resources": {
|
||
"tenantId": "2085913932551802881",
|
||
"membershipId": "2085913932551802883",
|
||
"reviewId": "2085913938142810113",
|
||
"businessLicenseQualificationId": "2085913936804827137",
|
||
"businessLicenseDocumentUrl": "/api/merchant/v1/files/qualifications/970c82ac-b021-468b-bd5b-eaee0bb6867e.png",
|
||
"productImageFileId": "2085913935585280002",
|
||
"enterpriseAddressId": "2085913943196946434",
|
||
"receivingWarehouseId": "193000000000200001",
|
||
"destinationWarehouseId": "193000000000000001",
|
||
"channelCode": "EXX_RAIL_NY",
|
||
"roleId": "2085913945981964289",
|
||
"testMembershipId": "2085913947626131460",
|
||
"orderIds": [
|
||
"2085913936189259777"
|
||
]
|
||
},
|
||
"steps": [
|
||
{
|
||
"module": "registration",
|
||
"name": "enterprise self-registration",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:10.908Z",
|
||
"durationMs": 454,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-8a39aac1-0bf7-4415-8318-73956013aa9a, client-e2e-8a39aac1-0bf7-4415-8318-73956013aa9a",
|
||
"traceId": "2f55d48ff4d540aebd77e636a4ea9469",
|
||
"evidence": {
|
||
"tenantId": "2085913932551802881",
|
||
"membershipId": "2085913932551802883",
|
||
"tenantStatus": "PROFILE_REQUIRED",
|
||
"nextStep": "LOGIN_AND_COMPLETE_QUALIFICATIONS"
|
||
}
|
||
},
|
||
{
|
||
"module": "registration",
|
||
"name": "duplicate username is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.363Z",
|
||
"durationMs": 40,
|
||
"http": 200,
|
||
"code": "A0409",
|
||
"message": "Username already exists",
|
||
"requestId": "client-e2e-507bc1e7-eb62-4cdf-b029-d5e192a48872, client-e2e-507bc1e7-eb62-4cdf-b029-d5e192a48872",
|
||
"traceId": "3b235c733c25454aa5f01df657c6c9ed",
|
||
"evidence": null
|
||
},
|
||
{
|
||
"module": "registration",
|
||
"name": "login before approval",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.403Z",
|
||
"durationMs": 342,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-f09fe0db-d178-454d-8923-14509b40842e, client-e2e-f09fe0db-d178-454d-8923-14509b40842e",
|
||
"traceId": "3300a1f0779447d6a79eeba6a5f2e3a9",
|
||
"evidence": {
|
||
"username": "client_20260808022010_085da9"
|
||
}
|
||
},
|
||
{
|
||
"module": "registration",
|
||
"name": "profile is incomplete before qualifications",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.747Z",
|
||
"durationMs": 31,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-cf819c99-e758-4f66-91a0-f8cfa02c65b9, client-e2e-cf819c99-e758-4f66-91a0-f8cfa02c65b9",
|
||
"traceId": "5a679a90047049a09985c343098bd1c8",
|
||
"evidence": {
|
||
"id": "2085913932551802881",
|
||
"status": "PROFILE_REQUIRED",
|
||
"tenantName": "客户端全链路测试企业-20260808022010-e8bfdfb1"
|
||
}
|
||
},
|
||
{
|
||
"module": "pre-approval-master-data",
|
||
"name": "load active domestic receiving warehouses",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.779Z",
|
||
"durationMs": 51,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-377fd775-edc7-4094-8fd9-9890e2ba8167, client-e2e-377fd775-edc7-4094-8fd9-9890e2ba8167",
|
||
"traceId": "433405c161b34e5fbfcfb11374340bdb",
|
||
"evidence": {
|
||
"total": "2",
|
||
"warehouseCount": 2
|
||
}
|
||
},
|
||
{
|
||
"module": "pre-approval-master-data",
|
||
"name": "load active FBA destination warehouses",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.831Z",
|
||
"durationMs": 71,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-b91a9ca0-765a-4f06-8b04-9b0c9da46645, client-e2e-b91a9ca0-765a-4f06-8b04-9b0c9da46645",
|
||
"traceId": "5994ff004f6946199ce13ca12201000d",
|
||
"evidence": {
|
||
"total": "253",
|
||
"warehouseCount": 200
|
||
}
|
||
},
|
||
{
|
||
"module": "pre-approval-master-data",
|
||
"name": "load receiving warehouse detail",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.904Z",
|
||
"durationMs": 29,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-2ff3bde1-2e4f-4a5a-a6ed-a1d3d7577c2c, client-e2e-2ff3bde1-2e4f-4a5a-a6ed-a1d3d7577c2c",
|
||
"traceId": "39cd075db6d640708fae7407d4b1b1bf",
|
||
"evidence": {
|
||
"id": "193000000000200001",
|
||
"name": "义乌仓"
|
||
}
|
||
},
|
||
{
|
||
"module": "pre-approval-master-data",
|
||
"name": "load active pricing channels",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.934Z",
|
||
"durationMs": 35,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-1c6cc4ee-07f2-49cc-99ea-0713d1211162, client-e2e-1c6cc4ee-07f2-49cc-99ea-0713d1211162",
|
||
"traceId": "fc29eda783c24efaa04e82b91b520995",
|
||
"evidence": {
|
||
"channels": [
|
||
{
|
||
"channelCode": "EXX_RAIL_NY",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "EXX_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "HEDE_PARCEL",
|
||
"priceModel": "REGION_WEIGHT_TIER",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "HEDE_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "MATSON_CLX_PARCEL",
|
||
"priceModel": "REGION_WEIGHT_TIER",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "MATSON_CLX_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "MATSON_MAX_PARCEL",
|
||
"priceModel": "REGION_WEIGHT_TIER",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "MATSON_MAX_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_CHICAGO_RAIL",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_HOUSTON_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_LA_FULL_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_LA_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_NEW_YORK_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_PARCEL",
|
||
"priceModel": "REGION_WEIGHT_TIER",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED"
|
||
]
|
||
},
|
||
{
|
||
"channelCode": "OA_SAVANNAH_TRUCK",
|
||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||
"pricingTaxModes": [
|
||
"TAX_INCLUDED",
|
||
"TAX_EXCLUDED"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "pre-approval-master-data",
|
||
"name": "load public shipper candidates",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:11.970Z",
|
||
"durationMs": 41,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-426e52a1-9c86-47a0-97e9-9ea44eb9898c, client-e2e-426e52a1-9c86-47a0-97e9-9ea44eb9898c",
|
||
"traceId": "95153b60156843ad89ceef3231daa4d4",
|
||
"evidence": {
|
||
"candidateCount": 3
|
||
}
|
||
},
|
||
{
|
||
"module": "pre-approval-product-image",
|
||
"name": "upload product image",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.012Z",
|
||
"durationMs": 35,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-24048e95-f87f-4b0d-8cbb-b9a57fde983d, client-e2e-24048e95-f87f-4b0d-8cbb-b9a57fde983d",
|
||
"traceId": "914346f590a14c66a6d92c061447accd",
|
||
"evidence": {
|
||
"fileId": "2085913935585280002",
|
||
"fileName": "product-20260808022010-e8bfdfb1.png",
|
||
"contentType": "image/png",
|
||
"sizeBytes": "68"
|
||
}
|
||
},
|
||
{
|
||
"module": "order-validation",
|
||
"name": "missing pricingTaxMode is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.048Z",
|
||
"durationMs": 45,
|
||
"http": 200,
|
||
"code": "A0422",
|
||
"message": "pricingTaxMode: must not be blank",
|
||
"requestId": "client-e2e-ef290419-876e-48f0-a182-512faa236a06, client-e2e-ef290419-876e-48f0-a182-512faa236a06",
|
||
"traceId": "ea3d6ef108d84dc3b784e8ea54ef3848",
|
||
"evidence": null
|
||
},
|
||
{
|
||
"module": "order-before-approval",
|
||
"name": "create draft before approval",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.094Z",
|
||
"durationMs": 108,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-b8769640-5158-4c62-945e-22cf584226ab, client-e2e-b8769640-5158-4c62-945e-22cf584226ab",
|
||
"traceId": "b41bb6d67bad47f897fe99deb0a35538",
|
||
"evidence": {
|
||
"orderId": "2085913936189259777",
|
||
"status": "DRAFT"
|
||
}
|
||
},
|
||
{
|
||
"module": "order-before-approval",
|
||
"name": "create draft idempotent replay",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.203Z",
|
||
"durationMs": 52,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-412fb97e-7013-4e8f-bc33-c3f4a2c1434e, client-e2e-412fb97e-7013-4e8f-bc33-c3f4a2c1434e",
|
||
"traceId": "3cac0233f9834858991c8cf76869ac23",
|
||
"evidence": {
|
||
"orderId": "2085913936189259777",
|
||
"replayed": true
|
||
}
|
||
},
|
||
{
|
||
"module": "order-before-approval",
|
||
"name": "submit is blocked before approval",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.256Z",
|
||
"durationMs": 38,
|
||
"http": 200,
|
||
"code": "A0403",
|
||
"message": "Enterprise information must be approved before ordering",
|
||
"requestId": "client-e2e-d5805ca4-51d8-440e-8a8c-64f1adb315f3, client-e2e-d5805ca4-51d8-440e-8a8c-64f1adb315f3",
|
||
"traceId": "4ee7e7f738634e60a58d47d7a0d841f7",
|
||
"evidence": {
|
||
"orderId": "2085913936189259777",
|
||
"rejectionCode": "A0403"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "upload required qualification package",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.295Z",
|
||
"durationMs": 52,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-c3775e0f-2a6e-496d-a005-fb890ea7ebc0, client-e2e-c3775e0f-2a6e-496d-a005-fb890ea7ebc0",
|
||
"traceId": "dbe4ba73575346bfb1d0c1c85cfbdca5",
|
||
"evidence": {
|
||
"businessLicenseQualificationId": "2085913936804827137",
|
||
"legalPersonIdQualificationId": "2085913936813215745",
|
||
"tenantStatus": "PROFILE_REQUIRED"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "upload optional qualification FREIGHT_FORWARDER_CERTIFICATE",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.347Z",
|
||
"durationMs": 60,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-647fcc16-07e6-4f23-95f0-f4377e532e78, client-e2e-647fcc16-07e6-4f23-95f0-f4377e532e78",
|
||
"traceId": "749b1e16dc734404b4eeea00d31963a6",
|
||
"evidence": {
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"qualificationId": "2085913937060679682",
|
||
"tenantStatus": "PROFILE_REQUIRED"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "upload optional qualification BANK_ACCOUNT_LICENSE",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.408Z",
|
||
"durationMs": 59,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-0daa19a8-a182-41b7-8c6c-fd4e898af8e8, client-e2e-0daa19a8-a182-41b7-8c6c-fd4e898af8e8",
|
||
"traceId": "a3b57c5ab9c5458daa5eefbf1bb46252",
|
||
"evidence": {
|
||
"qualificationType": "BANK_ACCOUNT_LICENSE",
|
||
"qualificationId": "2085913937316532225",
|
||
"tenantStatus": "PROFILE_REQUIRED"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "duplicate optional qualification requires explicit replacement",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.468Z",
|
||
"durationMs": 55,
|
||
"http": 200,
|
||
"code": "A0409",
|
||
"message": "Qualification type already uploaded / 该类资质已上传",
|
||
"requestId": "client-e2e-331393aa-04f6-4046-86af-9448e7a4fafd, client-e2e-331393aa-04f6-4046-86af-9448e7a4fafd",
|
||
"traceId": "e4c0e8789dfe456f8c61d2691d5c0d07",
|
||
"evidence": {
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"rejectionCode": "A0409"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "replace optional qualification explicitly",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.524Z",
|
||
"durationMs": 59,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-b7bd06a9-6fc4-4874-915b-e2f0633384e1, client-e2e-b7bd06a9-6fc4-4874-915b-e2f0633384e1",
|
||
"traceId": "b3df5c68e6b841dda0f6f008987d7542",
|
||
"evidence": {
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"qualificationId": "2085913937794682881",
|
||
"replaced": true
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "required qualifications are pending",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.584Z",
|
||
"durationMs": 28,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-c7fd4714-f003-490f-965b-5af5cfa63665, client-e2e-c7fd4714-f003-490f-965b-5af5cfa63665",
|
||
"traceId": "84dc9543d3c54506b90fc14d14cb0136",
|
||
"evidence": {
|
||
"qualifications": [
|
||
{
|
||
"qualificationId": "2085913936804827137",
|
||
"qualificationType": "BUSINESS_LICENSE",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913936813215745",
|
||
"qualificationType": "LEGAL_PERSON_ID",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937316532225",
|
||
"qualificationType": "BANK_ACCOUNT_LICENSE",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937794682881",
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937060679682",
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"status": "SUPERSEDED"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "submit enterprise review",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.613Z",
|
||
"durationMs": 48,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-128512a7-ba6f-425c-b0fa-73be474253be, client-e2e-128512a7-ba6f-425c-b0fa-73be474253be",
|
||
"traceId": "f6b621a2a461415ba78e1cdc6ac721d0",
|
||
"evidence": {
|
||
"tenantId": "2085913932551802881",
|
||
"status": "PENDING"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "platform reviewer login",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.662Z",
|
||
"durationMs": 336,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-1c0e10da-2d2e-42c9-8d8d-1061bff3ae04, client-e2e-1c0e10da-2d2e-42c9-8d8d-1061bff3ae04",
|
||
"traceId": "657aea34405b4a0c9b553bcca478164a",
|
||
"evidence": {
|
||
"username": "platform_admin"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "platform finds pending review",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:12.999Z",
|
||
"durationMs": 44,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-26b72d76-59ac-4ce2-9049-337afd0977cd, client-e2e-26b72d76-59ac-4ce2-9049-337afd0977cd",
|
||
"traceId": "060f1181745c4aaf8427c2d78952f1b4",
|
||
"evidence": {
|
||
"reviewId": "2085913938142810113",
|
||
"tenantId": "2085913932551802881",
|
||
"status": "PENDING"
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "platform sees required qualifications",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.043Z",
|
||
"durationMs": 29,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-00bceb43-1d70-4941-ae78-fd6767573eb1, client-e2e-00bceb43-1d70-4941-ae78-fd6767573eb1",
|
||
"traceId": "b6758e9491d34b73bd960f69b7a30153",
|
||
"evidence": {
|
||
"qualifications": [
|
||
{
|
||
"qualificationId": "2085913936804827137",
|
||
"qualificationType": "BUSINESS_LICENSE",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913936813215745",
|
||
"qualificationType": "LEGAL_PERSON_ID",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937316532225",
|
||
"qualificationType": "BANK_ACCOUNT_LICENSE",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937794682881",
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"status": "PENDING"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937060679682",
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"status": "SUPERSEDED"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "platform approves enterprise",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.073Z",
|
||
"durationMs": 62,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-5f5154a9-9cd1-41f4-83d2-37bffd74339e, client-e2e-5f5154a9-9cd1-41f4-83d2-37bffd74339e",
|
||
"traceId": "1dfb9bd41a2d447c9b4cfaa438bf2762",
|
||
"evidence": {
|
||
"tenantId": "2085913932551802881",
|
||
"administratorCreated": false,
|
||
"generatedCredentialsReturned": false
|
||
}
|
||
},
|
||
{
|
||
"module": "qualification-review",
|
||
"name": "registered account remains enterprise owner",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.136Z",
|
||
"durationMs": 47,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-4106595b-543b-4418-9270-e73865316511, client-e2e-4106595b-543b-4418-9270-e73865316511",
|
||
"traceId": "b81a0db4b8db4c32b0782c48964a1cd9",
|
||
"evidence": {
|
||
"membershipId": "2085913932551802883",
|
||
"username": "client_20260808022010_085da9",
|
||
"memberType": "OWNER",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "merchant-session",
|
||
"name": "client re-login after approval",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.184Z",
|
||
"durationMs": 352,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-b89f7af8-3fbc-4eb9-bcee-636b12e9097d, client-e2e-b89f7af8-3fbc-4eb9-bcee-636b12e9097d",
|
||
"traceId": "98db56b720094555bdd9888980e95fb4",
|
||
"evidence": {
|
||
"username": "client_20260808022010_085da9"
|
||
}
|
||
},
|
||
{
|
||
"module": "merchant-session",
|
||
"name": "profile is active after approval",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.536Z",
|
||
"durationMs": 39,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-1c610bc1-15e7-4aa7-892d-59f2da2331dc, client-e2e-1c610bc1-15e7-4aa7-892d-59f2da2331dc",
|
||
"traceId": "7f125f5f7ae14b47bffba70eef089021",
|
||
"evidence": {
|
||
"id": "2085913932551802881",
|
||
"status": "ACTIVE",
|
||
"tenantName": "客户端全链路测试企业-20260808022010-e8bfdfb1"
|
||
}
|
||
},
|
||
{
|
||
"module": "merchant-session",
|
||
"name": "required qualifications are approved",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.575Z",
|
||
"durationMs": 34,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-7ea5485b-7122-4080-b89a-556dba5dbd9c, client-e2e-7ea5485b-7122-4080-b89a-556dba5dbd9c",
|
||
"traceId": "7a2da208d23e4eb7be43e1f23c188f9d",
|
||
"evidence": {
|
||
"qualifications": [
|
||
{
|
||
"qualificationId": "2085913936804827137",
|
||
"qualificationType": "BUSINESS_LICENSE",
|
||
"status": "APPROVED"
|
||
},
|
||
{
|
||
"qualificationId": "2085913936813215745",
|
||
"qualificationType": "LEGAL_PERSON_ID",
|
||
"status": "APPROVED"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937316532225",
|
||
"qualificationType": "BANK_ACCOUNT_LICENSE",
|
||
"status": "APPROVED"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937794682881",
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"status": "APPROVED"
|
||
},
|
||
{
|
||
"qualificationId": "2085913937060679682",
|
||
"qualificationType": "FREIGHT_FORWARDER_CERTIFICATE",
|
||
"status": "SUPERSEDED"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "merchant-session",
|
||
"name": "preview approved qualification file",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.609Z",
|
||
"durationMs": 39,
|
||
"http": 200,
|
||
"code": null,
|
||
"message": null,
|
||
"requestId": "client-e2e-540d2e0f-0ccf-4fce-9f31-a13e16e74f90, client-e2e-540d2e0f-0ccf-4fce-9f31-a13e16e74f90",
|
||
"traceId": "de668de3564a41ccb555c3bc67718742",
|
||
"evidence": {
|
||
"sizeBytes": 68,
|
||
"contentType": "image/png"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "load enterprise profile for editing",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.649Z",
|
||
"durationMs": 42,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-b141ee1a-ab15-4b65-8033-28794129c25c, client-e2e-b141ee1a-ab15-4b65-8033-28794129c25c",
|
||
"traceId": "0cfb01ff30bf43038759201ba54ffd7c",
|
||
"evidence": {
|
||
"id": "2085913932551802881",
|
||
"tenantName": "客户端全链路测试企业-20260808022010-e8bfdfb1",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "edit enterprise profile",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.692Z",
|
||
"durationMs": 33,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-22f12e05-2d7d-4f1e-a6f5-79d28e887192, client-e2e-22f12e05-2d7d-4f1e-a6f5-79d28e887192",
|
||
"traceId": "d3b1c2f9362e4bd38b0465a4858a2e74",
|
||
"evidence": {
|
||
"id": "2085913932551802881",
|
||
"tenantName": "客户端全链路测试企业-20260808022010-e8bfdfb1-已编辑",
|
||
"contactName": "企业联系人-20260808022010-e8bfdfb1",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "enterprise profile edit is persisted",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.725Z",
|
||
"durationMs": 37,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-e5a422a8-1d92-437f-bdb9-925c44232419, client-e2e-e5a422a8-1d92-437f-bdb9-925c44232419",
|
||
"traceId": "1ed911d1de0d42bcbe3dad377e6a5000",
|
||
"evidence": {
|
||
"id": "2085913932551802881",
|
||
"tenantName": "客户端全链路测试企业-20260808022010-e8bfdfb1-已编辑",
|
||
"contactEmail": "company_20260808022010e8bfdfb1@example.com"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-validation",
|
||
"name": "invalid enterprise contact email is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.762Z",
|
||
"durationMs": 32,
|
||
"http": 200,
|
||
"code": "A0422",
|
||
"message": "contactEmail: must be a well-formed email address",
|
||
"requestId": "client-e2e-28eb9fb5-a25c-4acd-88b7-47fe3b2c434f, client-e2e-28eb9fb5-a25c-4acd-88b7-47fe3b2c434f",
|
||
"traceId": "aef8a7d410074be2a44dac5eb75e3294",
|
||
"evidence": {
|
||
"rejectionCode": "A0422"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-validation",
|
||
"name": "blank enterprise address detail is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.794Z",
|
||
"durationMs": 29,
|
||
"http": 200,
|
||
"code": "A0422",
|
||
"message": "detail: must not be blank",
|
||
"requestId": "client-e2e-271224b9-9057-4441-80db-ab25200a5343, client-e2e-271224b9-9057-4441-80db-ab25200a5343",
|
||
"traceId": "2b0e090f850c43239ebca5d874076e0a",
|
||
"evidence": {
|
||
"rejectionCode": "A0422"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "add enterprise operating address",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.824Z",
|
||
"durationMs": 37,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-e4dca221-0357-4881-978f-878d04ec626d, client-e2e-e4dca221-0357-4881-978f-878d04ec626d",
|
||
"traceId": "24438f991e344dbbb065d806f39fec94",
|
||
"evidence": {
|
||
"id": "2085913943196946434",
|
||
"addressType": "OPERATING",
|
||
"city": "深圳市",
|
||
"isDefault": true
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "enterprise address list contains created address",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.862Z",
|
||
"durationMs": 25,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-d1525e84-0bad-4711-9eaa-aeeb2f898db4, client-e2e-d1525e84-0bad-4711-9eaa-aeeb2f898db4",
|
||
"traceId": "b4331a3408894294b794f30697915430",
|
||
"evidence": {
|
||
"addressCount": 2,
|
||
"addressId": "2085913943196946434"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "platform can read created enterprise address",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.888Z",
|
||
"durationMs": 33,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-42a189e8-bddf-4e5b-8f0b-4b9a2314e0c5, client-e2e-42a189e8-bddf-4e5b-8f0b-4b9a2314e0c5",
|
||
"traceId": "cefb04fdc73a4fe38fc1cbcba0b1ab03",
|
||
"evidence": {
|
||
"addressCount": 2,
|
||
"addressId": "2085913943196946434"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "load personal profile",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.922Z",
|
||
"durationMs": 26,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-51bd5363-a302-46d1-91eb-17505f33a908, client-e2e-51bd5363-a302-46d1-91eb-17505f33a908",
|
||
"traceId": "ce8ad80113e04adeacfbce09d965de31",
|
||
"evidence": {
|
||
"userId": "2085913932551802882",
|
||
"username": "client_20260808022010_085da9",
|
||
"displayName": "测试管理员-20260808022010-e8bfdfb1"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-validation",
|
||
"name": "invalid personal email is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.949Z",
|
||
"durationMs": 34,
|
||
"http": 200,
|
||
"code": "A0422",
|
||
"message": "email: must be a well-formed email address",
|
||
"requestId": "client-e2e-b026a013-823d-4036-be13-0c331535cdda, client-e2e-b026a013-823d-4036-be13-0c331535cdda",
|
||
"traceId": "39021d737ac047368e2839fc6f794aee",
|
||
"evidence": {
|
||
"rejectionCode": "A0422"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "edit personal profile",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:13.984Z",
|
||
"durationMs": 33,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-37f4ace9-aff6-4256-877e-75089d37da4b, client-e2e-37f4ace9-aff6-4256-877e-75089d37da4b",
|
||
"traceId": "83d6dccf51744af0b2f8a001aba1f93c",
|
||
"evidence": {
|
||
"userId": "2085913932551802882",
|
||
"username": "client_20260808022010_085da9",
|
||
"displayName": "测试企业管理员-20260808022010-e8bfdfb1"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "re-login after personal profile token revocation",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.018Z",
|
||
"durationMs": 344,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-6bd037f6-d78e-40cd-9de8-538bc393ffb5, client-e2e-6bd037f6-d78e-40cd-9de8-538bc393ffb5",
|
||
"traceId": "f3abef7c5ddc42debc63cb3f147ba045",
|
||
"evidence": {
|
||
"username": "client_20260808022010_085da9"
|
||
}
|
||
},
|
||
{
|
||
"module": "profile-management",
|
||
"name": "personal profile edit is persisted",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.363Z",
|
||
"durationMs": 37,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-2eca4cf5-1868-4ff0-a8ef-ece00dccff73, client-e2e-2eca4cf5-1868-4ff0-a8ef-ece00dccff73",
|
||
"traceId": "a39226afd7a147b79a57dd87e2aec188",
|
||
"evidence": {
|
||
"userId": "2085913932551802882",
|
||
"username": "client_20260808022010_085da9",
|
||
"displayName": "测试企业管理员-20260808022010-e8bfdfb1"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "load merchant permission resources",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.402Z",
|
||
"durationMs": 24,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-d69bdd0d-769c-4e34-ad74-30f43a0e21c1, client-e2e-d69bdd0d-769c-4e34-ad74-30f43a0e21c1",
|
||
"traceId": "7baf152e00044740b0622e2dfb51f41d",
|
||
"evidence": {
|
||
"permissionCount": 27
|
||
}
|
||
},
|
||
{
|
||
"module": "menu-permissions",
|
||
"name": "load owner effective permissions",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.427Z",
|
||
"durationMs": 36,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-372259a4-e728-46ea-b626-7c7cdb439d4f, client-e2e-372259a4-e728-46ea-b626-7c7cdb439d4f",
|
||
"traceId": "6067d08960654549b6a277dee3cabbe4",
|
||
"evidence": {
|
||
"backendPermissionCount": 27,
|
||
"visibleClientMenus": [
|
||
"account:profile:view",
|
||
"company:member:list",
|
||
"company:permission:list",
|
||
"company:profile:view",
|
||
"company:role:list",
|
||
"dashboard:view",
|
||
"order:first-leg:list"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "load initial merchant roles",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.464Z",
|
||
"durationMs": 26,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-f9f2996c-e669-4bdd-9cad-4942468fd239, client-e2e-f9f2996c-e669-4bdd-9cad-4942468fd239",
|
||
"traceId": "e0063b40eef54640a0042be67efc4f36",
|
||
"evidence": {
|
||
"roleCount": 0
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "create custom role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.490Z",
|
||
"durationMs": 38,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-14bdacaa-11a4-460c-a07d-6f3dfc7fadfc, client-e2e-14bdacaa-11a4-460c-a07d-6f3dfc7fadfc",
|
||
"traceId": "e43bd5439d4f4df8a94d422c7b342727",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"roleCode": "E2E_20260808022010_e8bfdfb1",
|
||
"roleType": "CUSTOM",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "grant permissions to custom role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.529Z",
|
||
"durationMs": 53,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-452de64d-d415-4153-a8ee-2acf401b060a, client-e2e-452de64d-d415-4153-a8ee-2acf401b060a",
|
||
"traceId": "d2a2b30b643a46cda6a217b377854aae",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"permissionIds": [
|
||
"5301010",
|
||
"5301011"
|
||
],
|
||
"permissionCodes": [
|
||
"merchant:order:list",
|
||
"merchant:order:view"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "custom role permission detail is persisted",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.583Z",
|
||
"durationMs": 86,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-3c7871ac-30d2-4153-8edc-ef04afca594c, client-e2e-3c7871ac-30d2-4153-8edc-ef04afca594c",
|
||
"traceId": "fff5beae3fed4f3586bff9995abf9345",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"roleName": "订单只读-20260808022010-e8bfdfb1",
|
||
"permissionIds": [
|
||
"5301010",
|
||
"5301011"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "edit custom role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.670Z",
|
||
"durationMs": 44,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-c6ef8fb1-cc6d-48eb-8dee-cab0d7836cb4, client-e2e-c6ef8fb1-cc6d-48eb-8dee-cab0d7836cb4",
|
||
"traceId": "bafe0f8e439c49a99002a79c1553ce89",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"roleName": "订单查询员-20260808022010-e8bfdfb1",
|
||
"description": "edited 20260808022010-e8bfdfb1"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "disable custom role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.715Z",
|
||
"durationMs": 69,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-b8e6d924-ae0f-45b5-beaf-d8888967d8b4, client-e2e-b8e6d924-ae0f-45b5-beaf-d8888967d8b4",
|
||
"traceId": "a3a77a4895e24ea1829695e980028bd0",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"status": "DISABLED"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "enable custom role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.784Z",
|
||
"durationMs": 48,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-7c4516d1-218f-4012-a775-0f47c0966b82, client-e2e-7c4516d1-218f-4012-a775-0f47c0966b82",
|
||
"traceId": "73fe0bd165d54386afa6e8072a354770",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "member-validation",
|
||
"name": "member with weak password and invalid email is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.832Z",
|
||
"durationMs": 41,
|
||
"http": 200,
|
||
"code": "A0422",
|
||
"message": "email: must be a well-formed email address;password: 密码必须同时包含字母和数字",
|
||
"requestId": "client-e2e-a1f11c50-cefe-46fb-bc22-55d7d6b9429b, client-e2e-a1f11c50-cefe-46fb-bc22-55d7d6b9429b",
|
||
"traceId": "fa95d2e8bf384fc3b95dfad4f909c1d2",
|
||
"evidence": {
|
||
"rejectionCode": "A0422"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "create enterprise member with role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:14.873Z",
|
||
"durationMs": 374,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-0672a562-b4ba-46b2-8dc9-a6d9ba0b6605, client-e2e-0672a562-b4ba-46b2-8dc9-a6d9ba0b6605",
|
||
"traceId": "f139d6c1d7d941aa81769b99bafa2328",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"memberType": "EMPLOYEE",
|
||
"status": "ACTIVE",
|
||
"roleIds": [
|
||
"2085913945981964289"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "enterprise member list contains created member and roles",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.248Z",
|
||
"durationMs": 60,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-92ff038e-a887-4ab5-b981-522863f8ba12, client-e2e-92ff038e-a887-4ab5-b981-522863f8ba12",
|
||
"traceId": "fdb09b927b224def8571c918d970f9cd",
|
||
"evidence": {
|
||
"memberCount": 2,
|
||
"membershipId": "2085913947626131460"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "enterprise member detail matches created fields and roles",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.309Z",
|
||
"durationMs": 83,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-03eabbd4-3d29-4763-88b7-679e388fc920, client-e2e-03eabbd4-3d29-4763-88b7-679e388fc920",
|
||
"traceId": "dabad7052c8d4414a9dcbef116ded7c6",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"status": "ACTIVE",
|
||
"roleIds": [
|
||
"2085913945981964289"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "duplicate member username is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.393Z",
|
||
"durationMs": 59,
|
||
"http": 200,
|
||
"code": "A0409",
|
||
"message": "企业成员编号已存在",
|
||
"requestId": "client-e2e-2f4c29f1-0468-4a5b-bcad-81d1988aed9f, client-e2e-2f4c29f1-0468-4a5b-bcad-81d1988aed9f",
|
||
"traceId": "568c59068fc04014b9bf0ac737531523",
|
||
"evidence": {
|
||
"username": "member_20260808022014_81346",
|
||
"rejectionCode": "A0409"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "assigned custom role cannot be deleted",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.453Z",
|
||
"durationMs": 59,
|
||
"http": 200,
|
||
"code": "A0409",
|
||
"message": "角色已分配给成员,不能删除",
|
||
"requestId": "client-e2e-72dab23a-f0b5-4dc2-b12d-dbfc85db5e6d, client-e2e-72dab23a-f0b5-4dc2-b12d-dbfc85db5e6d",
|
||
"traceId": "dd75cce721d44f439a3d68508195466b",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"rejectionCode": "A0409"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "enterprise owner cannot be disabled",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.513Z",
|
||
"durationMs": 47,
|
||
"http": 200,
|
||
"code": "A0403",
|
||
"message": "企业所有者不能被停用",
|
||
"requestId": "client-e2e-59934bc8-a673-4fd5-b654-33ab3552b4fc, client-e2e-59934bc8-a673-4fd5-b654-33ab3552b4fc",
|
||
"traceId": "7520882e84be4f048fdde98b711e33c7",
|
||
"evidence": {
|
||
"membershipId": "2085913932551802883",
|
||
"rejectionCode": "A0403"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "enterprise owner cannot be edited through member API",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.560Z",
|
||
"durationMs": 49,
|
||
"http": 200,
|
||
"code": "A0403",
|
||
"message": "不能通过成员管理接口创建或转让企业所有者",
|
||
"requestId": "client-e2e-8d5d528a-e7fb-4e97-ac04-826e13240f50, client-e2e-8d5d528a-e7fb-4e97-ac04-826e13240f50",
|
||
"traceId": "8b44aeec710a45e4b568cb42807e3259",
|
||
"evidence": {
|
||
"membershipId": "2085913932551802883",
|
||
"rejectionCode": "A0403"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "new enterprise member can login",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.610Z",
|
||
"durationMs": 330,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-466dc7a1-a0da-4c0e-bdf8-275cc0644de7, client-e2e-466dc7a1-a0da-4c0e-bdf8-275cc0644de7",
|
||
"traceId": "5ca00cab788d4ff698df908b5a271600",
|
||
"evidence": {
|
||
"username": "member_20260808022014_81346"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "member can use granted order list permission",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:15.941Z",
|
||
"durationMs": 66,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-f465ba5c-3c05-4086-956a-78a001839642, client-e2e-f465ba5c-3c05-4086-956a-78a001839642",
|
||
"traceId": "2a040cc0d9834c8eb9741143c3630d71",
|
||
"evidence": {
|
||
"total": "1"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "member can view order with granted permission",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.008Z",
|
||
"durationMs": 76,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-7378797c-4659-40b6-9a8e-8b992efc4d56, client-e2e-7378797c-4659-40b6-9a8e-8b992efc4d56",
|
||
"traceId": "d6392f0dc4a94e8ca462732219310319",
|
||
"evidence": {
|
||
"orderId": "2085913936189259777",
|
||
"status": "DRAFT"
|
||
}
|
||
},
|
||
{
|
||
"module": "menu-permissions",
|
||
"name": "read-only member effective permissions match role",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.085Z",
|
||
"durationMs": 59,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-fbf36ca6-8f94-4ae2-bf27-b7b7e61da66e, client-e2e-fbf36ca6-8f94-4ae2-bf27-b7b7e61da66e",
|
||
"traceId": "f3f71c969271470ebba1cb3ca9389a2a",
|
||
"evidence": {
|
||
"backendPermissions": [
|
||
"merchant:order:list",
|
||
"merchant:order:view"
|
||
],
|
||
"visibleClientMenus": [
|
||
"account:profile:view",
|
||
"dashboard:view",
|
||
"order:first-leg:list"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"module": "menu-permissions",
|
||
"name": "disable assigned role",
|
||
"passed": false,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.145Z",
|
||
"durationMs": 87,
|
||
"http": 200,
|
||
"code": "S0503",
|
||
"message": "认证会话撤销失败,角色变更未生效",
|
||
"requestId": "client-e2e-8728ec55-30a1-41e0-afb3-c09034a72a27, client-e2e-8728ec55-30a1-41e0-afb3-c09034a72a27",
|
||
"traceId": "25ecb5e7e68d455db2dccae4675af36b",
|
||
"evidence": null,
|
||
"error": {
|
||
"name": "Error",
|
||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||
}
|
||
},
|
||
{
|
||
"module": "menu-permissions",
|
||
"name": "role disable dependent authorization checks",
|
||
"passed": true,
|
||
"skipped": true,
|
||
"startedAt": "2026-08-08T02:20:16.233Z",
|
||
"durationMs": 0,
|
||
"http": null,
|
||
"code": null,
|
||
"message": "Role status change failed; dependent checks require a successfully disabled role",
|
||
"requestId": null,
|
||
"traceId": null,
|
||
"evidence": null
|
||
},
|
||
{
|
||
"module": "menu-permissions",
|
||
"name": "remove order view permission from assigned role",
|
||
"passed": false,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.234Z",
|
||
"durationMs": 70,
|
||
"http": 200,
|
||
"code": "S0503",
|
||
"message": "认证会话撤销失败,角色变更未生效",
|
||
"requestId": "client-e2e-36259403-51b7-4071-b473-325d000aa43b, client-e2e-36259403-51b7-4071-b473-325d000aa43b",
|
||
"traceId": "174b60891a1d4bb892385c4dd77ca6f6",
|
||
"evidence": {
|
||
"roleId": "2085913945981964289",
|
||
"permissionCodes": [
|
||
"merchant:order:list"
|
||
]
|
||
},
|
||
"error": {
|
||
"name": "Error",
|
||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||
}
|
||
},
|
||
{
|
||
"module": "menu-permissions",
|
||
"name": "permission removal dependent authorization checks",
|
||
"passed": true,
|
||
"skipped": true,
|
||
"startedAt": "2026-08-08T02:20:16.306Z",
|
||
"durationMs": 0,
|
||
"http": null,
|
||
"code": null,
|
||
"message": "Role permission update failed; dependent checks require a successfully reduced permission set",
|
||
"requestId": null,
|
||
"traceId": null,
|
||
"evidence": null
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "edit enterprise member",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.306Z",
|
||
"durationMs": 71,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-684eca5c-47e0-4910-8de2-b1e5d6e31680, client-e2e-684eca5c-47e0-4910-8de2-b1e5d6e31680",
|
||
"traceId": "08461c4ab3794044b23cb98b1f51eebf",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"displayName": "已编辑订单成员-20260808022010-e8bfdfb1",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "reset enterprise member password",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.378Z",
|
||
"durationMs": 527,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-8e78de7b-fa9c-4bbc-a3b5-612eb01878a6, client-e2e-8e78de7b-fa9c-4bbc-a3b5-612eb01878a6",
|
||
"traceId": "e825b13b4260488da1ffc7d62b8df0f8",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "member old password is rejected after reset",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:16.906Z",
|
||
"durationMs": 603,
|
||
"http": 200,
|
||
"code": "A0401",
|
||
"message": "用户名或密码错误",
|
||
"requestId": "client-e2e-79404aef-0e90-4718-a5d2-87a524ac5aa8, client-e2e-79404aef-0e90-4718-a5d2-87a524ac5aa8",
|
||
"traceId": "3ce1e1da2c774f56894d7cf76803cf0e",
|
||
"evidence": {
|
||
"username": "member_20260808022014_81346",
|
||
"rejectionCode": "A0401"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "member can login with reset password",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:17.510Z",
|
||
"durationMs": 358,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-e9a84aec-9d53-445c-974e-469b90237b64, client-e2e-e9a84aec-9d53-445c-974e-469b90237b64",
|
||
"traceId": "0a16463332af4555bcd826d6e4fb2918",
|
||
"evidence": {
|
||
"username": "member_20260808022014_81346"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "disable enterprise member",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:17.869Z",
|
||
"durationMs": 131,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-ac62f480-3031-4cd9-a933-8f0142b51064, client-e2e-ac62f480-3031-4cd9-a933-8f0142b51064",
|
||
"traceId": "0b7bf87cc2974a92bc0c3d94ee04ec9d",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"status": "DISABLED"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "disabled member stale token is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.000Z",
|
||
"durationMs": 29,
|
||
"http": 401,
|
||
"code": "A0401",
|
||
"message": "登录会话已过期、已退出或 Redis 不可用",
|
||
"requestId": "client-e2e-259f5e65-a520-4bd3-890d-b1ded9c0ea27",
|
||
"traceId": null,
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"rejectionCode": "A0401"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "disabled member login is rejected",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.029Z",
|
||
"durationMs": 34,
|
||
"http": 200,
|
||
"code": "A0403",
|
||
"message": "账号已禁用",
|
||
"requestId": "client-e2e-f7d5a047-9165-4ad4-93b4-791b5a9636e1, client-e2e-f7d5a047-9165-4ad4-93b4-791b5a9636e1",
|
||
"traceId": "7dbe730fb9d74df3bea26eed4b150744",
|
||
"evidence": {
|
||
"username": "member_20260808022014_81346",
|
||
"rejectionCode": "A0403"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "enable enterprise member",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.063Z",
|
||
"durationMs": 127,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-4bc8fad5-6ec5-40d5-b425-2a04c678ced0, client-e2e-4bc8fad5-6ec5-40d5-b425-2a04c678ced0",
|
||
"traceId": "daef1dfc0f034c36a2e288630382e8ec",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"status": "ACTIVE"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "member re-login after account is enabled",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.190Z",
|
||
"durationMs": 340,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-18ad8c36-9f6e-432c-9a63-767c5d8b3d54, client-e2e-18ad8c36-9f6e-432c-9a63-767c5d8b3d54",
|
||
"traceId": "689a459d6875449ca2173752a36f4d29",
|
||
"evidence": {
|
||
"username": "member_20260808022014_81346"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "re-enabled member can list orders before roles are cleared",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.531Z",
|
||
"durationMs": 44,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-dab772db-5909-4872-a3d5-4687b01221f0, client-e2e-dab772db-5909-4872-a3d5-4687b01221f0",
|
||
"traceId": "b15a31bbd1a34605bc2bae5ea920d0ba",
|
||
"evidence": {
|
||
"total": "1"
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "clear enterprise member roles",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.576Z",
|
||
"durationMs": 42,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-0b1b71c7-2f36-4ad0-94ab-37920b5dde29, client-e2e-0b1b71c7-2f36-4ad0-94ab-37920b5dde29",
|
||
"traceId": "d69a3e3684304f51817491493ca8fe82",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"roleIds": []
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "member role clearing is persisted",
|
||
"passed": true,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.619Z",
|
||
"durationMs": 36,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-9b64d09e-2c62-4f21-980e-65d334647b45, client-e2e-9b64d09e-2c62-4f21-980e-65d334647b45",
|
||
"traceId": "2d565247fd4d4e26b7fefbed197b981e",
|
||
"evidence": {
|
||
"membershipId": "2085913947626131460",
|
||
"roleIds": []
|
||
}
|
||
},
|
||
{
|
||
"module": "rbac-member",
|
||
"name": "role clearing revokes stale member token",
|
||
"passed": false,
|
||
"skipped": false,
|
||
"startedAt": "2026-08-08T02:20:18.656Z",
|
||
"durationMs": 47,
|
||
"http": 200,
|
||
"code": "200",
|
||
"message": "success",
|
||
"requestId": "client-e2e-773608b1-c71e-4387-974d-836758b717f3, client-e2e-773608b1-c71e-4387-974d-836758b717f3",
|
||
"traceId": "0ac98629faf044fabb36d4011e9c1a83",
|
||
"evidence": {
|
||
"rejectionCode": "200"
|
||
},
|
||
"error": {
|
||
"name": "Error",
|
||
"message": "HTTP status: expected=401 actual=200"
|
||
}
|
||
}
|
||
],
|
||
"futureModules": [
|
||
"measurement",
|
||
"ocr",
|
||
"mojia",
|
||
"billing"
|
||
]
|
||
}
|