dev-euw.omnichannel.tescocloud.com Open in urlscan Pro
13.107.213.45  Public Scan

URL: https://dev-euw.omnichannel.tescocloud.com/
Submission: On January 19 via automatic, source certstream-suspicious — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Light Dark
 * Summary
 * Total Requests 52
 * Failed Tests 0
 * Skipped Tests 0


MORPHEUS_TEST_RESULTS

MONDAY, 26 DECEMBER 2022 07:39:09

TOTAL ITERATIONS


1

TOTAL ASSERTIONS


59

TOTAL FAILED TESTS


0

TOTAL SKIPPED TESTS


0

--------------------------------------------------------------------------------

FILE INFORMATION

Collection: Sponsored-media Regression Tests
Environment: Sponsored Media


TIMINGS AND DATA

Total run duration: 7.2s
Total data received: 47.55KB
Average response time: 118ms


Summary Item Total Failed Requests 52 0 Prerequest Scripts 40 0 Test Scripts 50
0 Assertions 59 0 Skipped Tests 0 -

--------------------------------------------------------------------------------

Go To Top





THERE ARE NO FAILED TESTS



Go To Top





THERE ARE NO SKIPPED TESTS



Go To Top
Expand Folders Expand Requests

1 ITERATION AVAILABLE TO VIEW

 * 1

ITERATION 1 SELECTED

Sponsored Media - Events Reporting / Report impression - 1 Request in the folder
Iteration: 1 - Ad served

REQUEST INFORMATION

Request Method: POST
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/reporting/events


RESPONSE INFORMATION

Response Code: 204 - No Content
Mean time per request: 339ms
Mean size per request: 0B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:4a96c738-0861-403d-a2a3-722725ec07da Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJRRUw5NjJReGlWX3FfZHV3Vm9XXzZsdHNDcTFXaXRMS1phbnIiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQyLCJuYmYiOjE2NzIwNDAzNDIsImV4cCI6MTY3MjA0Mzk0Miwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.B7BYxd9xjawrSZ9lLzm3ouBMiy3LasMyEyxqrmDL3vgS5Da4ZG4N780Srle6DKV7Y6JBBfLOzgMRrszbBKgaeS-HzIPyph0brtVx-OGRPpjnkbtmONBO4bQZPtjVDCSnl5yXGli1i7KD8-4L8Lc6kcqJKGC2uzvyX_hlAYHz_Okeh0Vmomm8huGOR22e5Fq26PdbMKDAZOXFD9Mrkg4dj7ZqtNMmgRoyk2Zx_ibwkBoat1sGBUx670WergmfzOPjrPVKYNe-F5Il5GMVFO86lbB8vUXKlBvB4vPBG1lcubrtOwM5zUlaP40fyydMBqNW0_2fnOWOk1BsVl83FhYLxQ
Content-Type application/json User-Agent PostmanRuntime/7.29.0 Accept */*
Cache-Control no-cache Postman-Token 15c391c1-5c88-4d65-a47f-f9f72236139f Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive Content-Length 529

REQUEST BODY

{
  "bertieType": "renderedContentOp",
  "bertieVersion": "6.0.1",
  "bertieTimeStamp": "2017-06-02T12:36:02.001Z",
  "uisReceivedTimestamp": "2017-06-02T12:36:02.001Z",
  "atrc": "1234-acbde-12345",
  "content": [
    {
      "componentName": "sponsored",
      "panel": [
        {
          "product": {
            "adId": "1234adidhere456789",
            "tpnb": "50502269"
          }
        },
        {
          "product": {
            "adId": "1234adidhere456789",
            "tpnb": "50502268"
          }
        },
        {
          "product": {
            "adId": "1234adidhere456789",
            "tpnb": "50502267"
          }
        },
        {
          "product": {
            "adId": "1234adidhere456789",
            "tpnb": "50502266"
          }
        }
      ]
    }
  ]
}

Copy to Clipboard

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:03 GMT Content-Type
application/json; charset=utf-8 Connection keep-alive TraceId
postman:sponsored-media:4a96c738-0861-403d-a2a3-722725ec07da Cache-Control
no-cache Content-Language en-GB

RESPONSE BODY

NO RESPONSE BODY FOR THIS REQUEST

TEST INFORMATION

Search:

NamePassedFailedSkipped Body is empty 3 0 0 Status code is 204 3 0 0 Total600



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Events Reporting / Report click - 1 Request in the folder
Iteration: 1 - Ad clicked

REQUEST INFORMATION

Request Method: POST
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/reporting/events


RESPONSE INFORMATION

Response Code: 204 - No Content
Mean time per request: 685ms
Mean size per request: 0B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:cf0089d5-00ee-4d3a-aca8-55f0285c7031 Authorization
Bearer
IDTYRATv2v2d0b2tlbklkeCRsbXBkTXp5blpqZHBIeU0xMEtfWWExdHNkeVRla1Fic1hFMzZmdXNlcklkUK_H2WZtNEjeqYwiaV6TaJZoY2xpZW50SWR4JGFmYzdkOTY2LTZkMzQtNDhkZS1hOThjLTIyNjk1ZTkzNjg5Nmhpc3N1ZWRBdMSCKBsXNEfVXVi_QGl2YWxpZEZyb23EgigbFzRH1V1Yv0BuZXhwaXJhdGlvblRpbWXEgigbFzRLG44RX0Bmc2NvcGVzgmhpbnRlcm5hbGZwdWJsaWNvY29uZmlkZW5jZUxldmVsDGlzZXNzaW9uSWT2ZWtleUlk9nBoYXNGb3JtZXJVc2VySWRz9GhhdWRpZW5jZfb_~jXx__4DoYv0MvTMKM5JjQQqdjseB-_P4pGnSVUK16Oc
Content-Type application/json User-Agent PostmanRuntime/7.29.0 Accept */*
Cache-Control no-cache Postman-Token 55581687-a5f7-4e70-bd71-06b324e76318 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive Content-Length 393

REQUEST BODY

{
  "bertieType": "contentInteractOp",
  "bertieVersion": "6.0.1",
  "bertieTimeStamp": "2017-06-02T12:36:02.001Z",
  "uisReceivedTimestamp": "2017-06-02T12:36:02.001Z",
  "atrc": "1234-acbde-12345",
  "interactionType": "sponsored:citrus",
  "basketId": "abc-1234-efg-567",
  "content": [
    {
      "componentName": "sponsored",
      "panel": [
        {
          "product": {
            "adId": "1234adidhere456789",
            "tpnb": "50502269"
          }
        }
      ]
    }
  ]
}

Copy to Clipboard

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:04 GMT Content-Type
application/json; charset=utf-8 Connection keep-alive TraceId
postman:sponsored-media:cf0089d5-00ee-4d3a-aca8-55f0285c7031 Cache-Control
no-cache Content-Language en-GB

RESPONSE BODY

NO RESPONSE BODY FOR THIS REQUEST

TEST INFORMATION

Search:

NamePassedFailedSkipped Body is empty 3 0 0 Status code is 204 3 0 0 Total600



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Events Reporting / Report addition to basket - 1 Request in
the folder
Iteration: 1 - Sponsored product added to basket

REQUEST INFORMATION

Request Method: POST
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/reporting/events


RESPONSE INFORMATION

Response Code: 204 - No Content
Mean time per request: 325ms
Mean size per request: 0B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:d1a5121d-82bf-4908-a868-88308dd7b868 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI3UkVjMUxHQ09VSzU4ZXpfMzVVN1B0X1IxMDVOTF9LZ2tlUGgiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ0LCJuYmYiOjE2NzIwNDAzNDQsImV4cCI6MTY3MjA0Mzk0NCwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.OLi8P-KJX6Rvh-UA0QZdbo5caj26tRl98x05bo0hS0r_vvfYAJtXdCZ-tyxTCTMR7nuxEOgl-UVXGnufflh0fEPGnyH2MgsJITDvoiTfW20-u8nuENH7r2orho9DedyZJ9YiaViqdVvELf3_V5gJ7e6oYAJ-m5S1vq2c945nzYs2TRVPrF9mYIExyOOAENXkgrtm4Roo44vcJrm-Qchj0DU9HYgx-d_A4ShMwo-OHu3kpAysC_AJtGYBcSWqNYctz7Pj1YA8y6eJfACvdJ8qnxxvHunYTcP5rsJbA5fgN5EoxKpalzPUwLY1ZIECl4DPXEhdzmR7rXyEqjA-MBAcqA
Content-Type application/json User-Agent PostmanRuntime/7.29.0 Accept */*
Cache-Control no-cache Postman-Token 84a6120f-ae84-4f5d-ade3-32de1fe70667 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive Content-Length 334

REQUEST BODY

{
  "bertieType": "basketOp",
  "bertieVersion": "6.0.1",
  "bertieTimeStamp": "2017-06-02T12:36:02.001Z",
  "uisReceivedTimestamp": "2017-06-02T12:36:02.001Z",
  "atrc": "1234-acbde-12345",
  "interactionType": "add",
  "basketId": "0123456",
  "product": [
    {
      "tpnb": "50502269",
      "adId": "1234adidhere456789"
    }
  ],
  "identifier": "sponsored:citrus"
}

Copy to Clipboard

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/json; charset=utf-8 Connection keep-alive TraceId
postman:sponsored-media:d1a5121d-82bf-4908-a868-88308dd7b868 Cache-Control
no-cache Content-Language en-GB

RESPONSE BODY

NO RESPONSE BODY FOR THIS REQUEST

TEST INFORMATION

Search:

NamePassedFailedSkipped Body is empty 2 0 0 Status code is 204 2 0 0 Total400



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Health and API Maturity / Status - 1 Request in the folder
Iteration: 1 - Status

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_status


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 11ms
Mean size per request: 68B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:0d08c3ce-550d-49d8-b3d3-bee551498c48 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJjWGJPMnltOVRxVVRqQTV5MTBNNm94VUhrSXJtWTlUeDJlT2siLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ1LCJuYmYiOjE2NzIwNDAzNDUsImV4cCI6MTY3MjA0Mzk0NSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.X2jnA6hFID7-4kUeBiYC5k03-uMfPvGd_2309YTWtKx7_KR-W-U4YWAP6u8Mr4rJg97WjNPu4MFroEZTzKvSQiHMybXfQ050By_fX9kAA0D4ZOE7hDZlOtLyb15y3MI3cZ-HUheIgmZpJ0KXcqPGh3wtgqGya5HWglPYPn5_d9bGdmVWoypPdrn-x7c7-_dT-k1BzkSIxlSe2M0aaWQOfWWgDxcGC-I_DMD9nOTlxwrbvMyt01_ZnbNuL8cbNZg0eJZCmh3r08iWyZXhsxmB8wFdNJ-JRSYh9l6k0RfpLRjIKpVR3t4nlAijVm8qpuyZmystV34yd_DYpz_ePJRzXA
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
50651237-1b99-4496-aa4d-4fc41dcf6e7c Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/json; charset=utf-8 Content-Length 68 Connection keep-alive TraceId
postman:sponsored-media:0d08c3ce-550d-49d8-b3d3-bee551498c48 Cache-Control
no-cache Content-Language en-GB

RESPONSE BODY

{
  "version": "0.0.1",
  "status": "Ok",
  "statusCode": 200,
  "message": "alive"
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Health and API Maturity / Healthcheck - 2 Requests in the
folder
Iteration: 1 - Healthcheck

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_healthcheck


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 13ms
Mean size per request: 359B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:c1cadf48-dc93-46a1-af55-557bd6628346 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJIdmxwQ1ZCNGYzTmNiNHhSRU1NWjc4Uk9tVTFLUDZEd0JxS0wiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ1LCJuYmYiOjE2NzIwNDAzNDUsImV4cCI6MTY3MjA0Mzk0NSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.OxFTBj05wLdVrtTQNgIqtUeSQdsyBHav8Sh8PFQ00u5uhinCQuj2hgtSXHg4P4rlze_r53xINP1zWUXTKMG4gkCksqCnO518jreyJPoVKCDNihx8IGNiiA0lm4ckb-1FWb006bkUjs66QXq-L9ayXvrXK9QLrYL6Y0Uv5lR_ilekd2tuuh_X5GCPhnDYMZnyk1eqoYhVfrJICJOF2E1swi-xyb2KsIGCTrwa85rOac8UIOLA-sOXWe7a16gdKglL8a-4yF1Frh75utmul8nAWH72QsOf5zR9wIwAN02SqzxiKiFSqNr8mnkXZS5fCLrdxP5mTDCyGNvKMmv7Z8RDuQ
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
aa58d20b-d1bd-4f13-83e0-91e64b2ac1cd Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/json; charset=utf-8 Content-Length 359 Connection keep-alive TraceId
postman:sponsored-media:c1cadf48-dc93-46a1-af55-557bd6628346 Cache-Control
no-cache Content-Language en-GB

RESPONSE BODY

{
  "status": "Ok",
  "version": "0.0.1",
  "component": [
    {
      "name": "IdentityAPI",
      "description": "Authentication client validation",
      "status": "Ok",
      "checked": "2022-12-26T07:38:08.935633635Z",
      "type": "DEPENDENCY"
    },
    {
      "name": "CitrusAd",
      "description": "Ranks products by keyword based on sponsored media",
      "status": "Ok",
      "checked": "2022-12-26T07:38:09.116246621Z",
      "type": "COMPONENT"
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Health

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/health


RESPONSE INFORMATION

Response Code: 200 - Ok
Mean time per request: 11ms
Mean size per request: 326B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:05673958-a4a8-4616-9bb4-715742113c3b Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ4aklNU0JvNmVzUHRMT0NOYzdRcDhNWjJDeWlRanEyd01OQjciLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ1LCJuYmYiOjE2NzIwNDAzNDUsImV4cCI6MTY3MjA0Mzk0NSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.fW--O1NpL1NJ0a0KKQS4ajE0uIn24QUp1wwehjkVML8I3jCOUaNU5-RA9X71X2ih8zFQeMsJ145pDe5m-_u-Ym857_YXHCZX_NLXgbw1kWvZDFaO7Xwr7srApd-n0LO0TgSHUTknVjlFG8soynTr3f35LiN94qJP_al3Aq9t8sNn5KQ_Ng4wqhsDwpDUgud2uL2WljuxteazslxyhQoekk1Y5WRkOfc1UPbTxB__LmcwyWiMAH73VC0ByLRWCCWxsgN2up86qi7APaocRNnERpEU2KT_N3sBs6eZisnMlkL2X_8EbRpy8lDIaJyVbyLEOe7Gn7vXN5oNzOwtASBp_g
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
d75b3788-96f9-4bb7-b252-6e47dea2de1f Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/json; charset=utf-8 Content-Length 326 Connection keep-alive TraceId
postman:sponsored-media:05673958-a4a8-4616-9bb4-715742113c3b Cache-Control
no-cache Content-Language en-GB

RESPONSE BODY

{
  "name": "sponsored-media",
  "status": "UP",
  "details": {
    "compositeDiscoveryClient()": {
      "name": "sponsored-media",
      "status": "UP",
      "details": {
        "services": {}
      }
    },
    "service": {
      "name": "sponsored-media",
      "status": "UP"
    },
    "diskSpace": {
      "name": "sponsored-media",
      "status": "UP",
      "details": {
        "total": 266206101504,
        "free": 229877415936,
        "threshold": 10485760
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Health and API Maturity / Interface - 2 Requests in the folder
Iteration: 1 - _interface

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 13ms
Mean size per request: 11.06KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:96793688-b9a2-440b-b3df-ea82c997c044 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJiUGt3RTU2YnNCUnB0T3hVOE1NQXZtUlJXNDQ1bFRNcUgzRmYiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ1LCJuYmYiOjE2NzIwNDAzNDUsImV4cCI6MTY3MjA0Mzk0NSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.h6BDAlTgSUuwJpvH_M9x0CcAKmfOwR1sD48Rea1JgUrfflrul-mS02C11siEpEfv9sJEsZpQsYcAzpzG-sXO2_m-uSy3RTtuflLFwLyIu2TlLkxnmfUGO5jBMQs3QLEYFCq1kPEVAOb5YfudLyJ95e7XKEIMGJB9KXC8T5XTABIWbVOGqUmzr3mugZymZ6xmAbnUytshRIVkHVDLgIs0n_JXC0GNgLG7i1Wo9VMNz6Jb29Ovzsy2xMSmFoKnCJwv782t5_-wCcgjdpZVUGJqyu3kzQBQoNgZTDS4n7zegr_1_QHsn4PD324X2FFRALOL5S1xTPDs5qwXNluNZrI_sQ
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
8210a133-919b-4dc6-8ad3-25099a534d2b Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/openapi+json Content-Length 2055 Connection keep-alive TraceId
postman:sponsored-media:96793688-b9a2-440b-b3df-ea82c997c044 Cache-Control
no-cache Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - _interface/private

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 12ms
Mean size per request: 12.05KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:e4c2c031-ef95-4968-9ceb-f48b154eef2a Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ5SEpOZlM4X1pkM1U3ZDZpSmYxSExYTXVsdXlCcnVkTXlxbU0iLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ1LCJuYmYiOjE2NzIwNDAzNDUsImV4cCI6MTY3MjA0Mzk0NSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.RySqW8b6W_drU__VGvERFeF32HwdrSaYc_Km6cTZf-9Gx3QYBev3f-Av-vyKxBhkFJey92vsxyzI3wHPA9rg05D4ERYZUg6JamimCBnSKTuLcs5iIppq73poTEaPM4O0f1ZPjo_XF2J3BykO0LpUkW1gjTvPYxraYkWfsQf3p8exyyuCEjzKyVAb73QPg5O8GSpKrpe6RR9sz3FaYwSqmZDQhMkm_odRfJxNoFL4ZQiDmZI-RY6G3-1xT8JOT1vfcSB5yPtxUMp--Mo5_DTjk5dRpt5yjrBTrDfWW2gcvkAWDpNZGC8sDvHp6KL4N-X1_menS7BHYybwOjOuLAlShA
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
1d08d183-45e5-4012-befb-d2c733dd6655 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/openapi+json Content-Length 2323 Connection keep-alive TraceId
postman:sponsored-media:e4c2c031-ef95-4968-9ceb-f48b154eef2a Cache-Control
no-cache Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Industry Standard OAuth2 Authorization Scheme",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-ppe.tesco.com/identity/v4/issue-token/token",
            "scopes": {
              "public": "Grants access to public API endpoints from the Platform API",
              "private": "Grants access to Tesco internal (partner, colleague & privilege) API",
              "internal": "Grants access to platform private API endpoints (only API team)"
            }
          }
        }
      },
      "identity": {
        "type": "apiKey",
        "description": "Tesco standard bearer token generated by the Identity API",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Health and API Maturity / Api Docs - 1 Request in the folder
Iteration: 1 - Api Docs

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/api-docs


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 64ms
Mean size per request: 2.78KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:e213b0c4-d6e8-4606-adef-93d55b722103 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ6QXdsdGV0X3VrYjQ3NzhYSmFIWWdFRHBhb3FydF9aU0ZoMVAiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ1LCJuYmYiOjE2NzIwNDAzNDUsImV4cCI6MTY3MjA0Mzk0NSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.C665oHnuRKxBNLHpVwLL9EcOjb1y-_IQW3DTYQ0aC7nu2WJqpSnqfxGTJbtc9ABEePe_CFGBGwkzkvI28ADgLIspHT76gV3WZ9Vj3HdrUDeZ_2OCYI_w62BxRfNx5huHuzd0ibuSB9pVEp2Tz51Cza9XIYt0MKAyxkreBNbS1RLpl4YPMZNVbimfcYKoB27E8-DZAe89NPsFITa7Rnrsf-El1ClZVNbc9ftMhxWhDnaRgeE0zl7cCK9OkujylBguIc9dhaKD6M6xhTdi2lM78jrwisfmGUUWdI9nLE-jWS1PSmPGU80y7_gq-l8_bjbEVk0xTwJVXettJAazRHeuRA
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
6646b5bc-2629-4c04-ab77-7528d952d185 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
text/html Content-Length 942 Connection keep-alive TraceId
postman:sponsored-media:e213b0c4-d6e8-4606-adef-93d55b722103 Cache-Control
no-cache Content-Language en-GB content-encoding gzip

RESPONSE BODY

<!doctype html>
        <html lang='en'>
        
        <head>
            <meta charset='UTF-8' />
            <title>tesco-sponsored-media-1.0</title>
            <link rel='icon' type='image/png' href='https://unpkg.com/swagger-ui-dist/favicon-32x32.png' sizes='32x32' />
            <link rel='icon' type='image/png' href='https://unpkg.com/swagger-ui-dist/favicon-16x16.png' sizes='16x16' />
            <script src='https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js'>
</script>
            <script src='https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js'>
</script>
            <link rel='stylesheet' type='text/css' href='https://unpkg.com/swagger-ui-dist/swagger-ui.css' />
            <link rel='stylesheet' type='text/css' href='https://unpkg.com/swagger-ui-themes@3.0.0/themes/3.x/theme-material.css' />
            
        </head>
        
        <body>
            
            <div id='swagger-ui'>
</div>
            <script>
                window.onload = function() {
                    const extract = function(v) {
                            return decodeURIComponent(v.replace(/(?:(?:^|.*;\s*)contextPath\s*\=\s*([^;]*).*$)|^.*$/, "$1"));
                        },
                        cookie = extract(document.cookie),
                        contextPath = cookie === '' ? extract(window.location.search.substring(1)) : cookie,
                        f = contextPath === '' ? undefined : function(system) {
                            return {
                                statePlugins: {
                                    spec: {
                                        wrapActions: {
                                            updateJsonSpec: (oriAction, system) => (...args) => {
                                                let [spec] = args;
                                                if (spec && spec.paths) {
                                                    const newPaths = {};
                                                    Object.entries(spec.paths).forEach(([path, value]) => newPaths[contextPath + path] = value);
                                                    spec.paths = newPaths;
                                                }
                                                oriAction(...args);
                                            }
                                        }
                                    }
                                }
                            };
                        },
                        ui = SwaggerUIBundle({
                            url: 'https://dev.uk.tescospmedia.com/sponsored-media/_interface/private',
                            dom_id: '#swagger-ui',
                            presets: [
                                SwaggerUIBundle.presets.apis,
                                SwaggerUIStandalonePreset
                            ],
                            plugins: [
                                SwaggerUIBundle.plugins.DownloadUrl,
                                f
                            ],
                            deepLinking: true,
        layout: "StandaloneLayout",
        validatorUrl: null
                        });
                        
                    window.ui = ui;
                    
                };
            </script>
        </body>
        
        </html>
        

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Health and API Maturity / API Maturity Tests - 11 Requests in
the folder
Iteration: 1 - _interface

REQUEST DESCRIPTION

Test _interface endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 67ms
Mean size per request: 11.06KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
runscope:maturity:42b552a2-8261-4bdf-9dd2-8db89e89f873 Accept application/json
Authorization Bearer
IDTYRATv2v2d0b2tlbklkeCRZaXlFeU1ZblY5N0ZJeWZhUWIySWYzemRYaW1fcURjUXdpX3NmdXNlcklkUK_H2WZtNEjeqYwiaV6TaJZoY2xpZW50SWR4JGFmYzdkOTY2LTZkMzQtNDhkZS1hOThjLTIyNjk1ZTkzNjg5Nmhpc3N1ZWRBdMSCKBsXNEfV8aSdQGl2YWxpZEZyb23EgigbFzRH1fGknUBuZXhwaXJhdGlvblRpbWXEgigbFzRLHCJdPUBmc2NvcGVzgmhpbnRlcm5hbGZwdWJsaWNvY29uZmlkZW5jZUxldmVsDGlzZXNzaW9uSWT2ZWtleUlk9nBoYXNGb3JtZXJVc2VySWRz9GhhdWRpZW5jZfb_~6XI-93TW-HgI6YJeHOSpNh93WvS6I8sHPY34vR7UB_8
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
fcbe38ab-c636-4147-8b61-fe4d6996a605 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:05 GMT Content-Type
application/openapi+json Content-Length 2055 Connection keep-alive TraceId
runscope:maturity:42b552a2-8261-4bdf-9dd2-8db89e89f873 Cache-Control no-cache
Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface and expected a paths field to exist 2
0 0 Called _interface and expected a response time of less than 600ms 2 0 0
Called _interface and expected a status code of 200 in the response 2 0 0 Called
_interface and expected an openapi field exists and says '3' in the response
body 2 0 0 Total800



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - _interface/private

REQUEST DESCRIPTION

Test _interface endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 12ms
Mean size per request: 12.05KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
runscope:maturity:df1082b6-a814-48bc-b6aa-d64f28609554 Accept application/json
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJOYjY4RUQyVGY5Z2tuNVpIWjNleWNKZU5TYjFCbEVLM01meUEiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.bwIGIwlMlaqle9LKPGFSNsLu6m151v2PXdrORwR99D6NiNacgEICzU85PqJTFaK9DRut84x_AwMJ2SQNJdwz9R-3dkfhABY4pF21kiIpwEJw4cW2Yab8xIHz1SyLN695SB124df4erYZQ-plD0tgWhkXtzF9dHWLuQRmkqxX5s6cFOAP6iWCTmd21wlYoVHl47iJCpXh7yS83dGIxqD4uedSY-rappNNxZ_mzwM9Rto_oSuQi98apnnDHl8U5Wio4kHHvv7I3b0cGQkw_25YZoUcQlIVfoz2skj21ntlzqNcz12afr9XvsALViNxjjvBdtvHGDCPhNUooeebDV1V6w
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
44b54cb7-074f-4479-99bc-7109b752cf88 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/openapi+json Content-Length 2323 Connection keep-alive TraceId
runscope:maturity:df1082b6-a814-48bc-b6aa-d64f28609554 Cache-Control no-cache
Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Industry Standard OAuth2 Authorization Scheme",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-ppe.tesco.com/identity/v4/issue-token/token",
            "scopes": {
              "public": "Grants access to public API endpoints from the Platform API",
              "private": "Grants access to Tesco internal (partner, colleague & privilege) API",
              "internal": "Grants access to platform private API endpoints (only API team)"
            }
          }
        }
      },
      "identity": {
        "type": "apiKey",
        "description": "Tesco standard bearer token generated by the Identity API",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface/private and expected a paths field to
exist 2 0 0 Called _interface/private and expected a response time of less than
600ms 2 0 0 Called _interface/private and expected a status code of 200 in the
response 2 0 0 Called _interface/private and expected an openapi field exists
and says '3' in the response body 2 0 0 Total800



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Get Interface/private

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 13ms
Mean size per request: 12.05KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
runscope:maturity:b408a3e8-1777-41f5-8786-d8416b93c87d Accept application/json
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJTUUxCNWlKU3J3T2Q1UHE3Y0xZVmU1X05EX2hya1RnTGc3dEgiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.eFAu8MQK4Z3kWpqqm8EcuGZOR_NXfoFNfLkXn10EIwUerkoLg3hJRNSMlbunBOl2vbIbLpfeXjUbQ0YfuDGQTHDiyrfBtr0Aly3FbD5S0vm9YgKFyTcUSYM9FDZKaprnyq2jsuBuvQ-ckrJG_JsqG3AHEj6E8W65NuXAP6JvJ0rz46t8-mQA9-YIP-uSB47teKVenQOxHR3z1Yai0-_lWASXoDx3SNp4AzGabfsHqejaV-_CQBwGjxM1ga5os3r0PMuhX7wWCLzk2cmUJXDbrm3plE9hh6JOdUj8p0sREBHP63pEnvsY7zBsHx-2u1NSOEVCzA7lmeDIGD5eKe3__Q
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
866667f8-4f82-415c-930e-6ae3a6adb4df Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/openapi+json Content-Length 2323 Connection keep-alive TraceId
runscope:maturity:b408a3e8-1777-41f5-8786-d8416b93c87d Cache-Control no-cache
Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Industry Standard OAuth2 Authorization Scheme",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-ppe.tesco.com/identity/v4/issue-token/token",
            "scopes": {
              "public": "Grants access to public API endpoints from the Platform API",
              "private": "Grants access to Tesco internal (partner, colleague & privilege) API",
              "internal": "Grants access to platform private API endpoints (only API team)"
            }
          }
        }
      },
      "identity": {
        "type": "apiKey",
        "description": "Tesco standard bearer token generated by the Identity API",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Status code is 200 2 0 0 Total200



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Headers

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 22ms
Mean size per request: 12.05KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId {{TRACEID}} Origin https://developers.tesco.com
Accept application/json Accept-Language en-GB Content-Type application/json
User-Agent Fitness function Postman tests 1.0 Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJpODAyb3NhZXdCNktaaWpLMHRYWkVyV19JSTA4VXJjRG5DZGQiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.YWnPRsMSp2oqPDUdMZpUaB27eWjkXnsES7eq9Jsj2jvAATGaput9gHUJqM_GIfy7Ey-XX-mR5mkwonSms2MmYoah4op6LwG9H-1NQ37l23NHFqpauIO-rG7s7X-4PFJm4gWLYFgHbqY-baPAlSzrrSNAIRvBR7PyDCM5c_CZsGMBDODX0CjXpVpg0e6ZDXqR9idMrqUBH97ro8Kda-hGfELB575YifGEdUJQoGcjLxInwmC2t_b7ucczynzcq8RO5FwT4PMT6v9aNOdn7sJttwZmLCEcYeO_3WhqUnarab9VB_yZ0xsWH5r1Si9486vh0ab0lbrgIqcWVAzNPcivIA
Cache-Control no-cache Postman-Token 106afadf-c317-4e1c-a184-2b285f874d30 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/openapi+json Content-Length 2323 Connection keep-alive
Access-Control-Allow-Origin https://developers.tesco.com Vary Origin
Access-Control-Expose-Headers Content-Type Access-Control-Expose-Headers traceId
Access-Control-Expose-Headers Access-Control-Allow-Origin
Access-Control-Allow-Credentials true TraceId {{TRACEID}} Cache-Control no-cache
Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Industry Standard OAuth2 Authorization Scheme",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-ppe.tesco.com/identity/v4/issue-token/token",
            "scopes": {
              "public": "Grants access to public API endpoints from the Platform API",
              "private": "Grants access to Tesco internal (partner, colleague & privilege) API",
              "internal": "Grants access to platform private API endpoints (only API team)"
            }
          }
        }
      },
      "identity": {
        "type": "apiKey",
        "description": "Tesco standard bearer token generated by the Identity API",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface/private and expected the header -
Cache-Control is present 2 0 0 Called _interface/private and expected the header
- Content-Language is present 2 0 0 Called _interface/private and expected the
header - Content-Type is present 2 0 0 Total600



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - TraceId

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 20ms
Mean size per request: 12.05KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value Accept application/json Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJfVGN1dzVub181NVNuWHlVMkFHVVdESGZodGwya1kyd0Fia2kiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.TwFpvcnhQ9Znam6DyXHk6HinZkQ6q5Ckv4UayZh_tvXph8cRAaX7Ca_jxvqMOAKmuK9llu7VzZlcVU-SRLZ79KiJzdKLxk81gLPK77Mp6vo1GdyMqvOZBudmrMwii1PXdEYqHyKq01U5F4UPgC7s78oTXhb5j_aH3dgUoJsmWbDBavPG-KIo65uIijNW0VNrzmQM4XapPdwdNtWb2crLaEsU6GPC8-9K6K7Im_LcsrmabXd2IS7J3xfD7QEK2VZ0j3vX6r1AGh_hFmHHHKr4GJoNocl5QzstKgbQfJH37kUbT75aK1nx6oJLjSPNYFogPvaGMR17G9sYCYeZNhChaQ
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
22bd6b1d-9f11-42af-ac30-7325c34ca903 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/openapi+json Content-Length 2323 Connection keep-alive TraceId
app:924a1c2c-f1db-4693-aa43-9b49cfee55f7 Cache-Control no-cache Content-Language
en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Industry Standard OAuth2 Authorization Scheme",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-ppe.tesco.com/identity/v4/issue-token/token",
            "scopes": {
              "public": "Grants access to public API endpoints from the Platform API",
              "private": "Grants access to Tesco internal (partner, colleague & privilege) API",
              "internal": "Grants access to platform private API endpoints (only API team)"
            }
          }
        }
      },
      "identity": {
        "type": "apiKey",
        "description": "Tesco standard bearer token generated by the Identity API",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface/private with no traceid headers and
expected a traceid header in the response 2 0 0 Total200



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - TraceId (in header)

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private?TraceId=runscope:maturity:1a9deba0-629c-453a-8674-42473549bfdf


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 21ms
Mean size per request: 12.05KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value Accept application/json TraceId
runscope:maturity:3400eeee-0f91-4860-bd54-b45972952d1b Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ0bGV3bXBLM25VMFRmQ3N0aVgwSzEwVkV6UkNKbVJzdExuamEiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.h6d_gq3og2JfLEzylhTgIfjp_v7CVR_3FjmCLIc6U5WJzcq9nPIfKiTF6muAM7auXInCy7EiZlVEn90Ry-TpfPPUnw2aA-JYcbA7VqlDivdAukdCNvXp_jXfWzNjnNcygvBpw3ec6su9037GhfDd_gisrU7b6iyNYhunikwTLv7gchgQl4CSI-jZLQSH68JW6G-uMSqG-ZLGbFVbNCZ30c_xopuD70rJvEelL-u05Xt7d608snLVDo4rrRLhNukCXCgoX1m8qH_ZVQrFS0vMOlPucqw6FI6cNNPSalXHXiyzKA9XOXhJMDbwvGl4SmKW1LdwlHl3VTdAh46NltUfLw
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
8cc488de-8c10-47df-9a46-a3903aeade13 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/openapi+json Content-Length 2323 Connection keep-alive TraceId
runscope:maturity:3400eeee-0f91-4860-bd54-b45972952d1b Cache-Control no-cache
Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "openapi": "3.0.1",
  "info": {
    "title": "Tesco Sponsored Media",
    "description": "Sponsored media service providing bidding for ads and reporting to ad provider",
    "contact": {
      "name": "Recommendations Team",
      "url": "https://www.tescorecs.com",
      "email": "05_Technology_6_Recs.OnCall@tesco.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dev.uk.tescospmedia.com/sponsored-media"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Retrieve ads"
    },
    {
      "name": "Bertie reporting"
    },
    {
      "name": "Admin API"
    }
  ],
  "paths": {
    "/_healthcheck": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get health check result for each component/dependency",
        "description": "Gets health check last known result for each component/dependency",
        "operationId": "status",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePublic",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_interface/private": {
      "get": {
        "tags": [
          "API",
          "API"
        ],
        "summary": "OpenAPI specification in yaml or JSON",
        "description": "OpenAPI specification for the service either in yaml or JSON format (header dependent, please select in the response header)",
        "operationId": "getInterfacePrivate",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Specification successfully returned in requested format",
            "content": {
              "application/json": {},
              "application/swagger+json": {},
              "application/openapi+json": {},
              "application/raml+yaml": {},
              "application/swagger+raml+yaml": {},
              "application/openapi+raml+yaml": {}
            }
          },
          "400": {
            "description": "Not allowed accept header",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Something went wrong when reading the spec or converting the format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/_status": {
      "get": {
        "tags": [
          "API"
        ],
        "summary": "Get service health check result",
        "description": "Get service health check result",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service status_1",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/ads": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list",
        "description": "Retrieves list of ads for given search term. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAds",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/products/placements/{placement}": {
      "get": {
        "tags": [
          "Retrieve ads"
        ],
        "summary": "Retrieve Ad list for Placement",
        "description": "Retrieves list of ads for given placement. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "getAdsForPlacement",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tesco-customerauth",
            "in": "header",
            "description": "`Customer` token with `Bearer`",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "placement",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Placement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveAdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    },
    "/v1/reporting/events": {
      "post": {
        "tags": [
          "Bertie reporting"
        ],
        "summary": "Reporting Clicks and Impressions",
        "description": "Bertie sends clicks and impressions to report to Citrus-Ad. The clientId of `Authorization` header must be allow-listed to access this endpoint.",
        "operationId": "bertieReporting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "`Service to service` token with `Bearer`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TraceId",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BertieEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Ads returned successfully",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request parameters",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error, invalid token supplied",
            "headers": {
              "TraceId": {
                "description": "Trace ID header",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "identity": []
          },
          {
            "OAuth2": [
              "public",
              "private"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AdProduct": {
        "required": [
          "bid"
        ],
        "type": "object",
        "properties": {
          "tpnb": {
            "type": "string",
            "example": "1234567"
          },
          "adId": {
            "type": "string",
            "example": "display_CUh_V2l-Vh7cjqF2TTJTzZ1mx8o3NzMzNjM2"
          },
          "bid": {
            "type": "number",
            "example": 1.21
          }
        }
      },
      "BertieContent": {
        "required": [
          "componentName",
          "panel"
        ],
        "type": "object",
        "properties": {
          "componentName": {
            "minLength": 1,
            "type": "string",
            "example": "sponsored"
          },
          "panel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertiePanelItem"
            }
          }
        }
      },
      "BertieEvent": {
        "required": [
          "bertieType",
          "content",
          "product",
          "uisReceivedTimestamp"
        ],
        "type": "object",
        "properties": {
          "bertieType": {
            "$ref": "#/components/schemas/BertieEventType"
          },
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "sponsored:citrus"
          },
          "interactionType": {
            "type": "string",
            "nullable": true,
            "example": "add"
          },
          "basketId": {
            "type": "string",
            "nullable": true,
            "example": "0123456"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieContent"
            }
          },
          "product": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BertieProduct"
            }
          },
          "bertieTimeStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2021-06-29T08:36:02Z"
          },
          "uisReceivedTimestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2021-06-29T08:36:02Z"
          }
        }
      },
      "BertieEventType": {
        "type": "string",
        "enum": [
          "BASKET_ADD_CLICK",
          "CONTENT_CLICK",
          "IMPRESSION"
        ]
      },
      "BertiePanelItem": {
        "required": [
          "product"
        ],
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BertieProduct"
          }
        }
      },
      "BertieProduct": {
        "required": [
          "adId",
          "tpnb"
        ],
        "type": "object",
        "properties": {
          "adId": {
            "minLength": 1,
            "type": "string",
            "example": "1234adidhere456789"
          },
          "tpnb": {
            "minLength": 1,
            "type": "string",
            "example": "50502269"
          }
        }
      },
      "ErrorResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "4xx/5xx"
          },
          "type": {
            "type": "string",
            "example": "converter.error.message"
          },
          "message": {
            "type": "string",
            "example": "listId: cannot be null"
          },
          "traceId": {
            "type": "string",
            "example": "list:9c3fc6d7-12fa-4403-b295-5c0b56a57665"
          }
        }
      },
      "Health": {
        "type": "object"
      },
      "HealthStatus": {
        "required": [
          "component",
          "status",
          "version"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "version": {
            "type": "string"
          },
          "component": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Health"
            }
          }
        }
      },
      "Placement": {
        "type": "string",
        "enum": [
          "SEARCH",
          "CHECKOUT"
        ]
      },
      "RetrieveAdResponse": {
        "type": "object",
        "properties": {
          "numberToDisplay": {
            "type": "integer",
            "description": "number to display",
            "format": "int32",
            "example": 2
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdProduct"
              },
              {
                "type": "object",
                "description": "list of ad products"
              }
            ]
          }
        }
      },
      "Status": {
        "type": "string",
        "enum": [
          "OK",
          "FAIL"
        ]
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "example": "alive"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Industry Standard OAuth2 Authorization Scheme",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-ppe.tesco.com/identity/v4/issue-token/token",
            "scopes": {
              "public": "Grants access to public API endpoints from the Platform API",
              "private": "Grants access to Tesco internal (partner, colleague & privilege) API",
              "internal": "Grants access to platform private API endpoints (only API team)"
            }
          }
        }
      },
      "identity": {
        "type": "apiKey",
        "description": "Tesco standard bearer token generated by the Identity API",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface/private with no traceid headers and
expected a traceid header in the response 2 0 0 Total200



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Internationalisation (header)

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private


RESPONSE INFORMATION

Response Code: 400 - Bad Request
Mean time per request: 24ms
Mean size per request: 152B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value Accept application/json Accept-Language th-TH TraceId
runscope:maturity:5854a988-2092-4112-a0f6-15ed0a4c0362 Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJROGRFYW90aV9Zdm1Ua0kzdlZqOV8wT3ZDTWN4U2YyMmw5N2QiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.h25ERJcqQrjg3jekXrS-8HZUflJls_HEHeSzU0chdh2SHdmJeClPUsJy2BwxYjIE9nRR_AAZX2o-aZjlNItwFD0KufvMyUG-NXN_GjECFVSutb2YYpzIa98mjv9vAb0WvlEG7alaojwmqTdVBoTiHvzqqGa3faTERiOV-CbG8FxCuFQdN2F5YaXaK2ZEgHi3_a5aYQyAIXzAekm2WvDX26pxjO1LibTd6SGuz3hMIGAvmZ41jI35U4Glxm_iWnTuym4yM58OOemODw6Gx3dr4vOc4KL73RRDM0cgRjIWIrxbehT85-SN8r6MTWJtJHwQ_kLaCruqKVAYW-vhDKelkQ
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
a69c5d3c-b6cc-469c-be34-942395ae0a42 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/json; charset=utf-8 Content-Length 152 Connection keep-alive TraceId
runscope:maturity:5854a988-2092-4112-a0f6-15ed0a4c0362 Cache-Control no-cache
Content-Language th-TH

RESPONSE BODY

{
  "code": "400",
  "type": "language.not.supported",
  "message": "Unsupported language th-TH",
  "traceId": "runscope:maturity:5854a988-2092-4112-a0f6-15ed0a4c0362"
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface/private with an Accept-Language header
of th-TH and expected a status code of 200 or 400 in the response 2 0 0 Total200



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Internationalisation (parameter)

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_interface/private?_language=th-TH


RESPONSE INFORMATION

Response Code: 400 - Bad Request
Mean time per request: 19ms
Mean size per request: 152B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value Accept application/json Accept-Language en-GB TraceId
runscope:maturity:07fbacc8-0686-4c25-bf6c-667ed8b4664e Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJMdW9TNFhXUlZaVDVOc1BDS3liaXlyc2xSM3M3cHJJODZNbTUiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.Mb-t59mu0ZYo2KJLiX3JfsV4uwy8BXSNfjT43KWTPyqMfafIRbNiRk0zMy5OPSPcwe60gc0Pl3xDbYOxGSL-CanW5F3XBG4c0ZeAhnFpcZHxHyMHhl8Ru7TVikjd54ZLYKIgafkXgbYyCvzFX3c_JWG-NU96hRvSUpZP7Ma36g1TigfUDcBY7ck4QMwXw-IPbF6j7FxjH0CokMyXgI0FYY_QfM4icnJWW2cR2iI1nxPV_RtAeoE6R6HTMEEhp887rjBBaaELMT25799EGUkVy3190910EzE6NZbQg1gMG6C2eiMBz_Ch760xMphqzPUjlbvhDlFwJb4GFco_rIkw_w
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
e4bf17dd-8cd9-4b4e-966a-e50968e1f607 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/json; charset=utf-8 Content-Length 152 Connection keep-alive TraceId
runscope:maturity:07fbacc8-0686-4c25-bf6c-667ed8b4664e Cache-Control no-cache
Content-Language th-TH

RESPONSE BODY

{
  "code": "400",
  "type": "language.not.supported",
  "message": "Unsupported language th-TH",
  "traceId": "runscope:maturity:07fbacc8-0686-4c25-bf6c-667ed8b4664e"
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _interface/private with an Accept-Language header
of th-TH and expected a status code of 200 or 400 in the response 2 0 0 Total200



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Environment

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_status


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 20ms
Mean size per request: 68B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
runscope:maturity:34c20b40-606f-416f-9712-a5ac74e00cef Accept application/json
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJkdUFDTmE5UVhVX0ZCS19rVnVacmVYeExGY01sazh5VTFnbjYiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.ehTYHeb5CTDMRX6ZKO-dK6D75jjySN7pu2syfI4R7xt8F2bGn5foqTYj0JeiJa3s6fRFrhgau7O11vG7PfN86AVcGAgr1PecEDwOnwqsBs3-6V5au7zgaJGeVecotu9MpX_xgjtZY0C1Ai6nSQ8fVBhdCqDbdhVf7E1sGV5tdCjmsp3cfd1Qw0rPWIoMGU4XFS_Uy2X6ARLjJyt13kxqdqulS9RGn6zHR979H0v888J0isZi-7BOaQ7F5v3WT8pDP9Ht2tR2xZVqC7JKGOnDXYKlNafKnUM-v6Es-HmBJx9iIV1DrVf_viQhE1U7LvH9Szm-BbPiVjOMXX8hFvul4g
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
7ea1de86-77dd-46f1-8da3-a6fef3de9116 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:06 GMT Content-Type
application/json; charset=utf-8 Content-Length 68 Connection keep-alive TraceId
runscope:maturity:34c20b40-606f-416f-9712-a5ac74e00cef Cache-Control no-cache
Content-Language en-GB

RESPONSE BODY

{
  "version": "0.0.1",
  "status": "Ok",
  "statusCode": 200,
  "message": "alive"
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _status in PPE environment and expected a
response time of less than 600ms 2 0 0 Called _status in PPE environment and
expected a status code of 200 in the response 2 0 0 Called _status in PPE
environment and expected a status field exists and says 'Ok' in the response
body 2 0 0 Called _status in PPE environment and expected a version field exists
in the response body 2 0 0 Total800



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - _status

REQUEST DESCRIPTION

Test _ping endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_status


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 22ms
Mean size per request: 68B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
runscope:maturity:2a4445ad-099f-4e03-9150-69792907cc5a Accept application/json
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ6SHNXQzlRQjN0b0hfZFZ5Z2FnMUswSzFVdU15X1NacUU0d0MiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ2LCJuYmYiOjE2NzIwNDAzNDYsImV4cCI6MTY3MjA0Mzk0Niwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.ZBBLZyG459QwSYiXr0MptfZ6wYJ6jjjGMGdAOZzJ64XVz0GG23zCjx5YFa-y1-Ah3bNTyuvx7wTHkdK5jcldMEOQDT8NDcj901dZ1uewgMLzltsqAKxT3rb_L1-0VkycCH3yn1yYRd6mjblxh6OTs9_UnICBI_coQdbG0rxX0njLUkGjbdxTPAcWN1r8W4P5S-nMEC5SClL1dtpK4oAk0ItZ33r5E7BDLBednIkbqCO8I3MNUEuh4OhXinxyU0QYSp71QlZ1M0DtvXYbjcpvajEEE098ORuzaCTJDOeD4d4veIjsxbcTiu2VbmBkp93zIQLR767NESBlooJWa3KI-A
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
c3879cb5-b0cc-4d3e-9e69-ef42db5cf7e1 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:07 GMT Content-Type
application/json; charset=utf-8 Content-Length 68 Connection keep-alive TraceId
runscope:maturity:2a4445ad-099f-4e03-9150-69792907cc5a Cache-Control no-cache
Content-Language en-GB

RESPONSE BODY

{
  "version": "0.0.1",
  "status": "Ok",
  "statusCode": 200,
  "message": "alive"
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _status and expected a response time of less than
600ms 2 0 0 Called _status and expected a status code of 200 in the response 2 0
0 Called _status and expected a status field exists and says 'Ok' in the
response body 2 0 0 Called _status and expected a version field exists in the
response body 2 0 0 Total800



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - _healthcheck

REQUEST DESCRIPTION

Test _healthcheck endpoint

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/_healthcheck


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 13ms
Mean size per request: 358B


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
runscope:maturity:95edc656-f518-486b-ba60-70d2515dde8a Accept application/json
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJaSnVHcmtaUWgzNk1hOF91Rk1NSTZCU2ZBd1lxdDFIMmVQNzUiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ3LCJuYmYiOjE2NzIwNDAzNDcsImV4cCI6MTY3MjA0Mzk0Nywic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.G6LYikf5u6Uetolsp4ZceWfuIjBmc7uM9svjJGBL4SjrfLoipFH1QQuvevZvCvx_uVlCBOVFoDu8oGt0pe8c_H5ljILHH4ZshQvomMS7FjRzZsl0IZQQhIqM-jzLevtiaXGUdKL9EpKtraWVWFTzXH-h0jhQSxNCzdqeSpik1Ve0nciMQryX41Lpz_dssOwYALT78VgBfQ4OUF2DWp7y9jPQF3w3VeivLAj8rS12QW3niAWfhSZxv1rQ0IfWzhjUJBkZ0inOmNjDpCuCe6KdmV-0KHmdytgtbR7UXoV0WqLmS3VccGARBJQHy6AoHWRMpStqxngdL-o8QkcQYgg6Zw
User-Agent PostmanRuntime/7.29.0 Cache-Control no-cache Postman-Token
bdd6bbc9-bd5a-48cd-ba7d-f774176f138d Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:07 GMT Content-Type
application/json; charset=utf-8 Content-Length 358 Connection keep-alive TraceId
runscope:maturity:95edc656-f518-486b-ba60-70d2515dde8a Cache-Control no-cache
Content-Language en-GB

RESPONSE BODY

{
  "status": "Ok",
  "version": "0.0.1",
  "component": [
    {
      "name": "IdentityAPI",
      "description": "Authentication client validation",
      "status": "Ok",
      "checked": "2022-12-26T07:38:08.687688949Z",
      "type": "DEPENDENCY"
    },
    {
      "name": "CitrusAd",
      "description": "Ranks products by keyword based on sponsored media",
      "status": "Ok",
      "checked": "2022-12-26T07:38:08.87062738Z",
      "type": "COMPONENT"
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Called _healthcheck and expected a component field
exists in the response body 2 0 0 Called _healthcheck and expected a response
time of less than 600ms 2 0 0 Called _healthcheck and expected a status code of
200 in the response 2 0 0 Called _healthcheck and expected a status field exists
and says 'Ok' in the response body 2 0 0 Called _healthcheck and expected a
version field exists in the response body 2 0 0 Total1000



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Placements / Retrieve AD - 2 Requests in the folder
Iteration: 1 - Anonymous AD retrieval

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/products/ads?searchTerm=ice%20cream


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 343ms
Mean size per request: 1.64KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:971e611b-677e-418f-8b7a-911d2be56716 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJrMGg0RUt6T0g4dHU5RWtVRzRqSTRoaVVXOENYc2JwX0c1NHMiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ3LCJuYmYiOjE2NzIwNDAzNDcsImV4cCI6MTY3MjA0Mzk0Nywic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.Egr90cJ5ZCPw1keoqKTZ0D-smX8idpazXPQ8wZsWoVP8PAA20W7lAYgGuJcRm0ptjGQ6mVCviB969CsutBSDIbtbDBaviG6yu0H6vOVgnEj7MyIg5VqZOF054Wc61yhVW1E7EsMIyEpHPPVLFtDBrPBqzPY-2iLlJUWtbN7dmG45T6ojLVo4CtqmBd4xSMB-gZosvCEm-E9nqBCFLUGTu0or0yJq-eJ3P4aX-_chtIEVgR5Gx9j-PyBm6wu3B7KK_Yiyih5mf-O9SzOlQ_E48Ux7b2peIP1HT_L65Qg4D9s-KLRhI1u8lOblf_gE3EuNwPkwNR0EqbBaeDYUeTaUaQ
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
b4c553c4-51c5-4f11-a61b-24f8af8815f1 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:07 GMT Content-Type
application/json; charset=utf-8 Content-Length 779 Connection keep-alive TraceId
postman:sponsored-media:971e611b-677e-418f-8b7a-911d2be56716 Cache-Control
no-cache Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "numberToDisplay": 2,
  "products": [
    {
      "tpnb": "72488067",
      "adId": "display_M5kks-mi-1-pI6vn3rF8IKaoraAKCgoINzI0ODgwNjcSABoMCKu7pZ0GEMyj2eUBIgIIAQ=="
    },
    {
      "tpnb": "82739545",
      "adId": "display_VUV32f7iCDmxb2qPj_uEr7aEhMMKCgoIODI3Mzk1NDUSABoMCKu7pZ0GEPiz2-UBIgIIAQ=="
    },
    {
      "tpnb": "80746234",
      "adId": "display_68v3bVMblXof29PKGyZ5XBRlcGQKCgoIODA3NDYyMzQSABoMCKu7pZ0GENfh2-UBIgIIAQ=="
    },
    {
      "tpnb": "57462736",
      "adId": "display_CLiJIGuUtviqrIIkiExEM1O1IGUKCgoINTc0NjI3MzYSABoMCKu7pZ0GEKKU3OUBIgIIAQ=="
    },
    {
      "tpnb": "71864303",
      "adId": "display_WWSgXgeeNDBV7qMi65_9BI6Ii-IKCgoINzE4NjQzMDMSABoMCKu7pZ0GEPa13OUBIgIIAQ=="
    },
    {
      "tpnb": "86438092",
      "adId": "display_SBhoa-C1ndjv88MR-BTasAGjhg0KCgoIODY0MzgwOTISABoMCKu7pZ0GELzb3OUBIgIIAQ=="
    },
    {
      "tpnb": "50247945",
      "adId": "display_cq7TBsqIANvd5wxZn3pls1nWAIAKCgoINTAyNDc5NDUSABoMCKu7pZ0GELb93OUBIgIIAQ=="
    },
    {
      "tpnb": "86698799",
      "adId": "display_VkITRIShqu-FJar4WBwB1ThsugsKCgoIODY2OTg3OTkSABoMCKu7pZ0GENir3eUBIgIIAQ=="
    },
    {
      "tpnb": "80832823",
      "adId": "display_RfvgrpKZT429VIpAYEozqrND95oKCgoIODA4MzI4MjMSABoMCKu7pZ0GENrO3eUBIgIIAQ=="
    },
    {
      "tpnb": "84821219",
      "adId": "display_d8bAcTPA8pk7zPvBcBkYCzVi2AgKCgoIODQ4MjEyMTkSABoMCKu7pZ0GELKV3uUBIgIIAQ=="
    },
    {
      "tpnb": "76170718",
      "adId": "display_jAuH8NM9HH8e_TWI937KyfGlJugKCgoINzYxNzA3MTgSABoMCKu7pZ0GEP293uUBIgIIAQ=="
    },
    {
      "tpnb": "60946990",
      "adId": "display_x3fQPImD6uRXi07BzC84GlBjKUkKCgoINjA5NDY5OTASABoMCKu7pZ0GEKXh3uUBIgIIAQ=="
    },
    {
      "tpnb": "83175478",
      "adId": "display_EKRUaJ9f3DYJA5o8qgit8-eSHL0KCgoIODMxNzU0NzgSABoMCKu7pZ0GEJqP3-UBIgIIAQ=="
    },
    {
      "tpnb": "60946984",
      "adId": "display_amCQXeNLheV_ubrCZVy7b6QvmbQKCgoINjA5NDY5ODQSABoMCKu7pZ0GEIy93-UBIgIIAQ=="
    },
    {
      "tpnb": "52118410",
      "adId": "display_b6Tu64otEX0GA2rQeDhc1NqNU7YKCgoINTIxMTg0MTASABoMCKu7pZ0GEJfg3-UBIgIIAQ=="
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Authorized AD retrieval

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/products/ads?searchTerm=ice%20cream&overriddenUUID=6da4057c-dd29-4a38-8e41-75490926ce4b


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 332ms
Mean size per request: 1.64KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:b594f930-c393-4228-98cd-69d7a1c78375 tesco-customerauth
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJnRVhLMWRQQ2F3aWMxWEsweG1YbzF5Q0ZIVExFWVZfaEpQX1kiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ3LCJuYmYiOjE2NzIwNDAzNDcsImV4cCI6MTY3MjA0Mzk0Nywic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.I8SVryQhrsXEmyZEUmBW6k-cM9N2sPv0jLhdZ5mK8sKmMyQzw49tjoGUi-o877zSKnhYbW3KTe5vkOC6C_LZJN_6mZDOylg-C4Tw_zxHa_FR1ygv8KNnmb0jorm_tBXSFnRRed5ZmZATAuLSi4SlRu7cKSu-rUKQYK4Gm_h40eflnKtrYLD6vnQ9oLeWbEJleNuwlCnxe65M7Ryz_qYM8mdhnVFhv8DdgK2Ke4vPtVZrzSpGaDeV4b1O-e-LdBaK-FUoZOvEUDZJkpF4SsgM6aGrdak-IidqGgCsVNpkBfNJzM65pey9HTnDEpH6o8ynN5RSDb2Lr_iQar2n9NjIQw
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJnRVhLMWRQQ2F3aWMxWEsweG1YbzF5Q0ZIVExFWVZfaEpQX1kiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ3LCJuYmYiOjE2NzIwNDAzNDcsImV4cCI6MTY3MjA0Mzk0Nywic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.I8SVryQhrsXEmyZEUmBW6k-cM9N2sPv0jLhdZ5mK8sKmMyQzw49tjoGUi-o877zSKnhYbW3KTe5vkOC6C_LZJN_6mZDOylg-C4Tw_zxHa_FR1ygv8KNnmb0jorm_tBXSFnRRed5ZmZATAuLSi4SlRu7cKSu-rUKQYK4Gm_h40eflnKtrYLD6vnQ9oLeWbEJleNuwlCnxe65M7Ryz_qYM8mdhnVFhv8DdgK2Ke4vPtVZrzSpGaDeV4b1O-e-LdBaK-FUoZOvEUDZJkpF4SsgM6aGrdak-IidqGgCsVNpkBfNJzM65pey9HTnDEpH6o8ynN5RSDb2Lr_iQar2n9NjIQw
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
788aba3f-4620-409c-b408-066061a7c33a Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:08 GMT Content-Type
application/json; charset=utf-8 Content-Length 764 Connection keep-alive TraceId
postman:sponsored-media:b594f930-c393-4228-98cd-69d7a1c78375 Cache-Control
no-cache Content-Language en-GB correlation-id
6da4057c-dd29-4a38-8e41-75490926ce4b content-encoding gzip

RESPONSE BODY

{
  "numberToDisplay": 2,
  "products": [
    {
      "tpnb": "72488067",
      "adId": "display_RvPb67Ak5p6gRYc9q13ApMHZalYKCgoINzI0ODgwNjcSABoMCKu7pZ0GEKKPybcDIgIIAQ=="
    },
    {
      "tpnb": "84821219",
      "adId": "display_ApS4wilNs4Mynugmytstr6QQZyEKCgoIODQ4MjEyMTkSABoMCKu7pZ0GEKWmy7cDIgIIAQ=="
    },
    {
      "tpnb": "83175478",
      "adId": "display_QnH3yQJd4wTkWQdU8JBt0U9ficEKCgoIODMxNzU0NzgSABoMCKu7pZ0GEIvUy7cDIgIIAQ=="
    },
    {
      "tpnb": "80832702",
      "adId": "display_XOPzkyb3HKhnycn_aJ3OCvSH9tcKCgoIODA4MzI3MDISABoMCKu7pZ0GEMGHzLcDIgIIAQ=="
    },
    {
      "tpnb": "60946984",
      "adId": "display_OFOaijM9L2MtqqbI2a9JK82672AKCgoINjA5NDY5ODQSABoMCKu7pZ0GELWwzLcDIgIIAQ=="
    },
    {
      "tpnb": "60946990",
      "adId": "display_hyVy9jLHZ6g8vWg85Y7BUr8-dOgKCgoINjA5NDY5OTASABoMCKu7pZ0GEJrgzLcDIgIIAQ=="
    },
    {
      "tpnb": "88232942",
      "adId": "display_Efks3A0CmmjuQhfyDIchBVXmXU4KCgoIODgyMzI5NDISABoMCKu7pZ0GEOSGzbcDIgIIAQ=="
    },
    {
      "tpnb": "84794072",
      "adId": "display_PW3Hxm4pLMtsyCHc2bGpgJ4zn9IKCgoIODQ3OTQwNzISABoMCKu7pZ0GEJWwzbcDIgIIAQ=="
    },
    {
      "tpnb": "50247945",
      "adId": "display_tFIIfny-NXwop4dovG0S2Rv33eQKCgoINTAyNDc5NDUSABoMCKu7pZ0GEI7lzbcDIgIIAQ=="
    },
    {
      "tpnb": "84821225",
      "adId": "display_lxADplhTFwyyiHbIzBi5htOHwYkKCgoIODQ4MjEyMjUSABoMCKu7pZ0GELaZzrcDIgIIAQ=="
    },
    {
      "tpnb": "57462736",
      "adId": "display_SKhPtHka3Wc-84-Jv3nRntqVkG8KCgoINTc0NjI3MzYSABoMCKu7pZ0GEJDBzrcDIgIIAQ=="
    },
    {
      "tpnb": "84435772",
      "adId": "display_UWhS3-sVXdVkfdNnqLuOOTeIVCQKCgoIODQ0MzU3NzISABoMCKu7pZ0GENrizrcDIgIIAQ=="
    },
    {
      "tpnb": "84435642",
      "adId": "display_nvvzxrxFELqLXYcMpVYoIM48yyUKCgoIODQ0MzU2NDISABoMCKu7pZ0GEJGDz7cDIgIIAQ=="
    },
    {
      "tpnb": "87885144",
      "adId": "display_M94nbB33WXIJ6kRBxvrWnqZhV4AKCgoIODc4ODUxNDQSABoMCKu7pZ0GEImsz7cDIgIIAQ=="
    },
    {
      "tpnb": "76170718",
      "adId": "display_BuvQykgQ574OSjad2seytGNaOTMKCgoINzYxNzA3MTgSABoMCKu7pZ0GEKLNz7cDIgIIAQ=="
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Correlation header matches
user 2 0 0 Status code is 200 2 0 0 Total600



TEST FAILURE

Test NameAssertion Error

Sponsored Media - Placements / Placement AD - 3 Requests in the folder
Iteration: 1 - Anonymous checkout placement retrieval

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/products/placements/checkout


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 356ms
Mean size per request: 2.61KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:8cb68fe3-8681-4baf-b0a3-5d86c5d43f99 Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJPSDlvTTdFdEJScWdaTUt3TU9xQVMxS1BZSzU1QWJGa0YzUW8iLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ4LCJuYmYiOjE2NzIwNDAzNDgsImV4cCI6MTY3MjA0Mzk0OCwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.dAQh4R4FkvaqVSnHZh-m16lr7GQ1HYyR7UjygX8CU7bt72T_Cd-e4bV4w81QQV5APYBQUqK9_lb3TmBl5OWEL5Znzm-gYECbi2Qzl4Pb2y0v2vahgOr9Asrgh9V47dYk1lptmgFOTmVvzQ67OWfY23bfNlV8eVP7R_H__925XYiS4wMafy0u0RGnKuFSd5bJ2z2PrCzn7EYIgV9tObo_3B7iy6t2JtPRORa0ucusLbVT9RNEntR_0uBx-lRUlOil9aqxuydHrNHpMiDr-sVPb7A4HrZ06oc8tk92YmJo3sO_Sv-sjgR9uLxxjVBTiFH0sVfR8xiZzvpDvdO-4sf5TA
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
9a191bcb-8d63-44ae-9249-adba59845e63 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:08 GMT Content-Type
application/json; charset=utf-8 Content-Length 1144 Connection keep-alive
TraceId postman:sponsored-media:8cb68fe3-8681-4baf-b0a3-5d86c5d43f99
Cache-Control no-cache Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "numberToDisplay": 2,
  "products": [
    {
      "tpnb": "85987652",
      "adId": "display_qHumMnjXHsq23C557DtPO473csoKCgoIODU5ODc2NTISABoMCKy7pZ0GEIOGvKwBIgIIAQ=="
    },
    {
      "tpnb": "71864314",
      "adId": "display_aSKaeR7jQDn0PHFdBEX9-1gDaHUKCgoINzE4NjQzMTQSABoMCKy7pZ0GELyovqwBIgIIAQ=="
    },
    {
      "tpnb": "60377885",
      "adId": "display_YoLTsYUZlNbM0GcfG51Rx0rQiLsKCgoINjAzNzc4ODUSABoMCKy7pZ0GEP7mvqwBIgIIAQ=="
    },
    {
      "tpnb": "89276021",
      "adId": "display_NubDSXghk_dB-LX3NidIDR1qU2IKCgoIODkyNzYwMjESABoMCKy7pZ0GENiXv6wBIgIIAQ=="
    },
    {
      "tpnb": "89250005",
      "adId": "display_LMraMF9p_IDjKUFg6rKsvpTjMlUKCgoIODkyNTAwMDUSABoMCKy7pZ0GEPm7v6wBIgIIAQ=="
    },
    {
      "tpnb": "60946984",
      "adId": "display_305zegpNcSQnKtE4zCshq5yOSUYKCgoINjA5NDY5ODQSABoMCKy7pZ0GEJ7yv6wBIgIIAQ=="
    },
    {
      "tpnb": "84525265",
      "adId": "display_rOJdq8TQFgJRgj706vYYrqzG_90KCgoIODQ1MjUyNjUSABoMCKy7pZ0GEOqswKwBIgIIAQ=="
    },
    {
      "tpnb": "87885144",
      "adId": "display_UuxIwsJB1O7UqtojFMoa4OZhKPUKCgoIODc4ODUxNDQSABoMCKy7pZ0GEKDowKwBIgIIAQ=="
    },
    {
      "tpnb": "73420169",
      "adId": "display_OXuMU5IS2p9bsRG-OmtlvWWNiIIKCgoINzM0MjAxNjkSABoMCKy7pZ0GEOKMwawBIgIIAQ=="
    },
    {
      "tpnb": "51578315",
      "adId": "display_9rhm0MDlQWlNvvCQb6pvkI75AKUKCgoINTE1NzgzMTUSABoMCKy7pZ0GEKu4wawBIgIIAQ=="
    },
    {
      "tpnb": "73532526",
      "adId": "display_Z-2c9yVeWTBgebBZFGld89g2OkMKCgoINzM1MzI1MjYSABoMCKy7pZ0GEILbwawBIgIIAQ=="
    },
    {
      "tpnb": "89246112",
      "adId": "display_pTkHuFOjwgMh0z89rDT4P9kIJpUKCgoIODkyNDYxMTISABoMCKy7pZ0GEJ37wawBIgIIAQ=="
    },
    {
      "tpnb": "89265103",
      "adId": "display_HMo3ok33eU8jKLKmNQ2B3YszQmAKCgoIODkyNjUxMDMSABoMCKy7pZ0GEJepwqwBIgIIAQ=="
    },
    {
      "tpnb": "87226804",
      "adId": "display_zekXPJzeMcdspGlDbskq_uy_yYIKCgoIODcyMjY4MDQSABoMCKy7pZ0GEObSwqwBIgIIAQ=="
    },
    {
      "tpnb": "63661238",
      "adId": "display_FAE-4fz5YYL8k15XfUVF8Rpgp78KCgoINjM2NjEyMzgSABoMCKy7pZ0GEKj9wqwBIgIIAQ=="
    },
    {
      "tpnb": "71864332",
      "adId": "display_r3_P15_rQNwUkPvWM_tjqp93JWcKCgoINzE4NjQzMzISABoMCKy7pZ0GEJqpw6wBIgIIAQ=="
    },
    {
      "tpnb": "87176344",
      "adId": "display_vfZNuzkIAP5C1sOe1KxYlvn0pUMKCgoIODcxNzYzNDQSABoMCKy7pZ0GEITRw6wBIgIIAQ=="
    },
    {
      "tpnb": "51000458",
      "adId": "display_WhuDYs_iWdumKRISYm2uycUQkkQKCgoINTEwMDA0NTgSABoMCKy7pZ0GEKz1w6wBIgIIAQ=="
    },
    {
      "tpnb": "89249365",
      "adId": "display_Rd3Nmd6FR208D5MN2MWOWAQVKYYKCgoIODkyNDkzNjUSABoMCKy7pZ0GEPKnxKwBIgIIAQ=="
    },
    {
      "tpnb": "63661181",
      "adId": "display_3hG7wBDbdEDPQO8_oyr6KwxkOUQKCgoINjM2NjExODESABoMCKy7pZ0GEMTVxKwBIgIIAQ=="
    },
    {
      "tpnb": "86015353",
      "adId": "display_AvAqZfeXk6S33pgih_j5gPaknEcKCgoIODYwMTUzNTMSABoMCKy7pZ0GEI34xKwBIgIIAQ=="
    },
    {
      "tpnb": "89448285",
      "adId": "display_9LtvMbtCFqt_J1wgXLC8-B78R-gKCgoIODk0NDgyODUSABoMCKy7pZ0GEJebxawBIgIIAQ=="
    },
    {
      "tpnb": "87233594",
      "adId": "display_nJN43ppjmFfTMpd_TERf5s8K2vIKCgoIODcyMzM1OTQSABoMCKy7pZ0GEKPLxawBIgIIAQ=="
    },
    {
      "tpnb": "51004688",
      "adId": "display_mdy50mNeYwhPLrBeGC3CdjAA3LwKCgoINTEwMDQ2ODgSABoMCKy7pZ0GEJj2xawBIgIIAQ=="
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Anonymous checkout placement retrieval - Citrus

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/products/placements/checkout


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 367ms
Mean size per request: 2.61KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:8f93bcd5-9f68-43a1-8c59-907ae04b267a Authorization
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJWV09QTEV2OUZpZ1Jfa1E5OW5xYmdKU3FfZXhyZmMzWXlVSTkiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ4LCJuYmYiOjE2NzIwNDAzNDgsImV4cCI6MTY3MjA0Mzk0OCwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.I4gdskcfC1F4H-oxI4eVL0rd5Yi8mAx4qzkuFge33SlzwkXneQ9taTsUWGI4NGgKMsuCvfViFrX__7EPJjHH0KW8b8bFmQ1q13VyeP3VuNj3kHvsp4BJSmhHmOWnAmBM-yctyH6HEImVFQ_ZoVQQt8jJpmDBi0rDMeF_wuksd_Gnxkgax_ZbqIogE_5bNKwczcA9igUQkztpMjo69rqpCeYraC6xAeCQp_tCq1KPholUZHW8yoceITQUVlspvvAAOLZsfZlq5uXFp3wHZmamMMzVckr3lymQvUBI4mEfeafrK9tiWov_OfoQiEVvKXwiZ_l_k9xvYPscrbRHMVVhZA
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
425fb497-4d3a-482b-8222-3c423e99a55f Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:08 GMT Content-Type
application/json; charset=utf-8 Content-Length 1138 Connection keep-alive
TraceId postman:sponsored-media:8f93bcd5-9f68-43a1-8c59-907ae04b267a
Cache-Control no-cache Content-Language en-GB content-encoding gzip

RESPONSE BODY

{
  "numberToDisplay": 2,
  "products": [
    {
      "tpnb": "89448285",
      "adId": "display_gUB-eGoCrsYPOuV0W5uj36BkG-sKCgoIODk0NDgyODUSABoMCKy7pZ0GELG01IYDIgIIAQ=="
    },
    {
      "tpnb": "51004688",
      "adId": "display_zpu6uBy-6w3bLLXMYIvNuXl-H00KCgoINTEwMDQ2ODgSABoMCKy7pZ0GEOWm1oYDIgIIAQ=="
    },
    {
      "tpnb": "86015353",
      "adId": "display_MN235ZCtf7oONhjBimtVcLTtPGsKCgoIODYwMTUzNTMSABoMCKy7pZ0GENDT1oYDIgIIAQ=="
    },
    {
      "tpnb": "71864314",
      "adId": "display_rRK7szRBX56yh6vWGuczu3Sk9QkKCgoINzE4NjQzMTQSABoMCKy7pZ0GEPCK14YDIgIIAQ=="
    },
    {
      "tpnb": "89276021",
      "adId": "display_ndvQo-VZ8h-vbzWCOJw0zjCOGhgKCgoIODkyNzYwMjESABoMCKy7pZ0GEMOs14YDIgIIAQ=="
    },
    {
      "tpnb": "89265103",
      "adId": "display_uvE00Lv6EOWJ3ye7m1p5WU3btTwKCgoIODkyNjUxMDMSABoMCKy7pZ0GELXT14YDIgIIAQ=="
    },
    {
      "tpnb": "63661181",
      "adId": "display_Ub2RO7igs9GEAJq5eOGfDbVbVfgKCgoINjM2NjExODESABoMCKy7pZ0GEOP114YDIgIIAQ=="
    },
    {
      "tpnb": "52365888",
      "adId": "display_RNFhmUSYhw_Tlnrr5sN1d5-FTzEKCgoINTIzNjU4ODgSABoMCKy7pZ0GEJSf2IYDIgIIAQ=="
    },
    {
      "tpnb": "89249365",
      "adId": "display_wKosrGQBqroDrJ4P7U8Mz7NlT_IKCgoIODkyNDkzNjUSABoMCKy7pZ0GEMnH2IYDIgIIAQ=="
    },
    {
      "tpnb": "73532526",
      "adId": "display_5RAdRC8o-zjd_7V-9X9Su8xHQ40KCgoINzM1MzI1MjYSABoMCKy7pZ0GEP3y2IYDIgIIAQ=="
    },
    {
      "tpnb": "89246112",
      "adId": "display_YHmsFsTn55fRor8aNddg2rkvgYcKCgoIODkyNDYxMTISABoMCKy7pZ0GEOqa2YYDIgIIAQ=="
    },
    {
      "tpnb": "64560834",
      "adId": "display_mbC7q6LNzNn5iWqKh_zohyp8pboKCgoINjQ1NjA4MzQSABoMCKy7pZ0GEL_M2YYDIgIIAQ=="
    },
    {
      "tpnb": "87445882",
      "adId": "display_qh2MxwS1tb70JQ94QPJZU9VAs3IKCgoIODc0NDU4ODISABoMCKy7pZ0GEODt2YYDIgIIAQ=="
    },
    {
      "tpnb": "73420169",
      "adId": "display_q4vQ66MUZ2HUocW78qkSGQFv96cKCgoINzM0MjAxNjkSABoMCKy7pZ0GEJ6X2oYDIgIIAQ=="
    },
    {
      "tpnb": "71864292",
      "adId": "display_iXGterYCzJHseC6H2NO26IpoDCoKCgoINzE4NjQyOTISABoMCKy7pZ0GEJvQ2oYDIgIIAQ=="
    },
    {
      "tpnb": "87885144",
      "adId": "display_qQN5tvB3wdGi-DcwEpEwORCTOB0KCgoIODc4ODUxNDQSABoMCKy7pZ0GEM_32oYDIgIIAQ=="
    },
    {
      "tpnb": "71864332",
      "adId": "display_6SwwCqC9vng0vZCN3hhE9n6v7G0KCgoINzE4NjQzMzISABoMCKy7pZ0GEJyu24YDIgIIAQ=="
    },
    {
      "tpnb": "51000458",
      "adId": "display_bww8q33pCmuGNZ2cGfZTZz_85b4KCgoINTEwMDA0NTgSABoMCKy7pZ0GENrS24YDIgIIAQ=="
    },
    {
      "tpnb": "87226804",
      "adId": "display_mZOb2j9FdSjOWX2tka4xiJO02YEKCgoIODcyMjY4MDQSABoMCKy7pZ0GENqp3IYDIgIIAQ=="
    },
    {
      "tpnb": "60377885",
      "adId": "display_04vg4lJo9Qgapt6hUabghNOuZucKCgoINjAzNzc4ODUSABoMCKy7pZ0GEN3O3IYDIgIIAQ=="
    },
    {
      "tpnb": "60946984",
      "adId": "display_STiqwTBXnJQYgfPgzy5U0ItzgyUKCgoINjA5NDY5ODQSABoMCKy7pZ0GEIn43IYDIgIIAQ=="
    },
    {
      "tpnb": "87176344",
      "adId": "display_xhRnCOccWnSYp3A5i2XepkUSDNwKCgoIODcxNzYzNDQSABoMCKy7pZ0GEOub3YYDIgIIAQ=="
    },
    {
      "tpnb": "63661238",
      "adId": "display_IIZ7dxY-gLRuA39g_BitJqOVEKIKCgoINjM2NjEyMzgSABoMCKy7pZ0GEN_R3YYDIgIIAQ=="
    },
    {
      "tpnb": "85987652",
      "adId": "display_n3NJovLXexAQv3zWuDYrTpUZXuoKCgoIODU5ODc2NTISABoMCKy7pZ0GEIT23YYDIgIIAQ=="
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Status code is 200 2 0 0
Total400



TEST FAILURE

Test NameAssertion Error

Iteration: 1 - Authorized checkout placement

REQUEST INFORMATION

Request Method: GET
Request URL:
http://sponsored-media.euw.api.discovery-dev.tescocloud.com/sponsored-media/v1/products/placements/checkout?overriddenUUID=6da4057c-dd29-4a38-8e41-75490926ce4b


RESPONSE INFORMATION

Response Code: 200 - OK
Mean time per request: 347ms
Mean size per request: 2.52KB


--------------------------------------------------------------------------------

TEST PASS PERCENTAGE

100 %

REQUEST HEADERS

Header NameHeader Value TraceId
postman:sponsored-media:04bec044-333e-46fb-aad2-713f754d8512 tesco-customerauth
Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ5UTBfajJVRzI1V3F6MUlVRjlWYmZwQlR1RzdfaVlIeHQwUXYiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ5LCJuYmYiOjE2NzIwNDAzNDksImV4cCI6MTY3MjA0Mzk0OSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.br3xQloA1MKWV1KgT3HJqsDBb_Ek8FbXSOWawhJN4rVbvpQGD1VzajASltv7znkRh6ZPY_wnYrJhz3FiAQwHFhQBeNlfdFocdH-2ujq8tOkHFv_GInSeEhlt5melvX3aFM0guRT2sLuUo-uEF18lYhLevYwyhXJEMU7oEq-G4EBgY8Nf-CXV9denuZ6ukOn5DEo7Z8vpKz1J2u60Kh_jMahViiO5tdqzn5gUbt-v2v887tXZxq85TqWh2xXcyK07wQlERU-4lDZ3ha_AtCh5fpRaMEsUAHuS2Tpce-N3b-ktx_5jVL528l8nZU77OLQ203pzqvl8Q1zsUJqhNyrBDg
Authorization Bearer
eyJraWQiOiIwNWU0ZjJkOS05MDY4LTQ5MGYtYTBmYy1jMTg4Y2NlODY5ZDciLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ5UTBfajJVRzI1V3F6MUlVRjlWYmZwQlR1RzdfaVlIeHQwUXYiLCJpc3MiOiJodHRwczovL2FwaS1wcGUudGVzY28uY29tL2lkZW50aXR5L3Y0L2lzc3VlLXRva2VuIiwic3ViIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwiaWF0IjoxNjcyMDQwMzQ5LCJuYmYiOjE2NzIwNDAzNDksImV4cCI6MTY3MjA0Mzk0OSwic2NvcGUiOiJpbnRlcm5hbCBwdWJsaWMiLCJjb25maWRlbmNlX2xldmVsIjoxMiwiY2xpZW50X2lkIjoiYWZjN2Q5NjYtNmQzNC00OGRlLWE5OGMtMjI2OTVlOTM2ODk2IiwidG9rZW5fdHlwZSI6ImJlYXJlciJ9.br3xQloA1MKWV1KgT3HJqsDBb_Ek8FbXSOWawhJN4rVbvpQGD1VzajASltv7znkRh6ZPY_wnYrJhz3FiAQwHFhQBeNlfdFocdH-2ujq8tOkHFv_GInSeEhlt5melvX3aFM0guRT2sLuUo-uEF18lYhLevYwyhXJEMU7oEq-G4EBgY8Nf-CXV9denuZ6ukOn5DEo7Z8vpKz1J2u60Kh_jMahViiO5tdqzn5gUbt-v2v887tXZxq85TqWh2xXcyK07wQlERU-4lDZ3ha_AtCh5fpRaMEsUAHuS2Tpce-N3b-ktx_5jVL528l8nZU77OLQ203pzqvl8Q1zsUJqhNyrBDg
User-Agent PostmanRuntime/7.29.0 Accept */* Cache-Control no-cache Postman-Token
a79944fc-40cc-4508-9a6c-c6526697e1f2 Host
sponsored-media.euw.api.discovery-dev.tescocloud.com Accept-Encoding gzip,
deflate, br Connection keep-alive

RESPONSE HEADERS

Header NameHeader Value Date Mon, 26 Dec 2022 07:39:09 GMT Content-Type
application/json; charset=utf-8 Content-Length 1138 Connection keep-alive
TraceId postman:sponsored-media:04bec044-333e-46fb-aad2-713f754d8512
Cache-Control no-cache Content-Language en-GB correlation-id
6da4057c-dd29-4a38-8e41-75490926ce4b content-encoding gzip

RESPONSE BODY

{
  "numberToDisplay": 2,
  "products": [
    {
      "tpnb": "63661238",
      "adId": "display_ta7qZ_fDJJMHVXgPgjY1n2YW6fUKCgoINjM2NjEyMzgSABoLCK27pZ0GEIylonYiAggB"
    },
    {
      "tpnb": "52365888",
      "adId": "display_MEhuun6RLUFbBTiDd9C31HZBNnMKCgoINTIzNjU4ODgSABoLCK27pZ0GEMCjpHYiAggB"
    },
    {
      "tpnb": "89250005",
      "adId": "display_aWeb7M8A6ZTH-2EnD7u9oB7ksNkKCgoIODkyNTAwMDUSABoLCK27pZ0GEPzSpHYiAggB"
    },
    {
      "tpnb": "51578315",
      "adId": "display_U6Qh8PAmD2nFn_P49u_Tm5MH9-MKCgoINTE1NzgzMTUSABoLCK27pZ0GEK-NpXYiAggB"
    },
    {
      "tpnb": "64560834",
      "adId": "display_JsHfP1SuzASJgRiKLrmG2l5obJQKCgoINjQ1NjA4MzQSABoLCK27pZ0GENGmpnYiAggB"
    },
    {
      "tpnb": "89249365",
      "adId": "display_AyVgkkjS9xVtG0BgIgPT_Cgm4f4KCgoIODkyNDkzNjUSABoLCK27pZ0GEKD6pnYiAggB"
    },
    {
      "tpnb": "60377885",
      "adId": "display_KigG2VJJ_vR_4YHKQ3DzLYJ7YIQKCgoINjAzNzc4ODUSABoLCK27pZ0GELKyp3YiAggB"
    },
    {
      "tpnb": "89276021",
      "adId": "display_tYL2AuUDGQstR2ia1UAlHbQPy4AKCgoIODkyNzYwMjESABoLCK27pZ0GEMX3p3YiAggB"
    },
    {
      "tpnb": "85987652",
      "adId": "display_WPZ5H7fkHRWnHeemyfNDRTPNHZIKCgoIODU5ODc2NTISABoLCK27pZ0GELqzqHYiAggB"
    },
    {
      "tpnb": "73532526",
      "adId": "display_-uemX-Ios3NV92VRbyHqoZFfbfMKCgoINzM1MzI1MjYSABoLCK27pZ0GEN3CqXYiAggB"
    },
    {
      "tpnb": "87445882",
      "adId": "display_clvGyTCKiqEjvye4TyMG6nzjR5IKCgoIODc0NDU4ODISABoLCK27pZ0GENqBqnYiAggB"
    },
    {
      "tpnb": "63661181",
      "adId": "display_RnDZpVIC08STjb9-g7srynmnYTUKCgoINjM2NjExODESABoLCK27pZ0GEPGtqnYiAggB"
    },
    {
      "tpnb": "86015353",
      "adId": "display_vuLToY9eby7NClFgMml2oO6TTfIKCgoIODYwMTUzNTMSABoLCK27pZ0GENPgqnYiAggB"
    },
    {
      "tpnb": "87226804",
      "adId": "display_T5QeIrXgqK131Rp68E2Npiv_v2oKCgoIODcyMjY4MDQSABoLCK27pZ0GEK-aq3YiAggB"
    },
    {
      "tpnb": "71864292",
      "adId": "display_mwWSX4_43vF1uNly9v3w6f0-73IKCgoINzE4NjQyOTISABoLCK27pZ0GENrlq3YiAggB"
    },
    {
      "tpnb": "89265103",
      "adId": "display_1CAQiO6M-H1nAslecV9yhps2IRoKCgoIODkyNjUxMDMSABoLCK27pZ0GEIijrHYiAggB"
    },
    {
      "tpnb": "87233594",
      "adId": "display_m7WCOjukanowwGP-bEgstDI6zcMKCgoIODcyMzM1OTQSABoLCK27pZ0GEInnrHYiAggB"
    },
    {
      "tpnb": "84525265",
      "adId": "display_uEjzWt1opkTXRZGDGS811bRcDTsKCgoIODQ1MjUyNjUSABoLCK27pZ0GEJqwrXYiAggB"
    },
    {
      "tpnb": "87176344",
      "adId": "display_t0KZ9mRKcP78gD8Ao_kUa4wMVCAKCgoIODcxNzYzNDQSABoLCK27pZ0GEOWArnYiAggB"
    },
    {
      "tpnb": "73420169",
      "adId": "display_KcbmWr_b1-cVP7ugvIIEquE9nvEKCgoINzM0MjAxNjkSABoLCK27pZ0GEJzFrnYiAggB"
    },
    {
      "tpnb": "71864303",
      "adId": "display_mAQTJuUvxtEYbSSmMcYwTfONO7IKCgoINzE4NjQzMDMSABoLCK27pZ0GEOr-rnYiAggB"
    },
    {
      "tpnb": "87885144",
      "adId": "display_1g69CVkgfnup2Jylq-h6tTAdfJ0KCgoIODc4ODUxNDQSABoLCK27pZ0GELCyr3YiAggB"
    },
    {
      "tpnb": "89246112",
      "adId": "display_GiwZ-ENu3DpukZ_1ccPfAEtRmG8KCgoIODkyNDYxMTISABoLCK27pZ0GELbZr3YiAggB"
    },
    {
      "tpnb": "51004688",
      "adId": "display_NtnBBdn6KL5liZjE4G_0TrI8LuwKCgoINTEwMDQ2ODgSABoLCK27pZ0GEL37r3YiAggB"
    }
  ]
}

Copy to Clipboard

TEST INFORMATION

Search:

NamePassedFailedSkipped Body matches string 2 0 0 Correlation header matches
user 2 0 0 Status code is 200 2 0 0 Total600



TEST FAILURE

Test NameAssertion Error