The requests menu view allows users to view their various requests in their different states.

Accessing the Requests View

Make a GET request to /requests
  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456
    --header 'Authorization: Bearer 123456' \
    --header 'Signature: sig1=:OTEyMjY4...A5NTNDMEQ=:' \
    --header 'Signature-Input: sig1=("Authorization" "X-Client-Id" "@method" "@target-uri" "@path" "@query");keyid="staging-pipevest-ed25519";created=1732893484;expires=1732893584' \
    --header 'X-Client-Id: 123456' \

Get requests by status

For the pending requests view, the status must be set to PENDING.

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456?status=PENDING
    ...

Example Response

{
  "data": {
    "ussdMessage": "Pending requests:\n Select a request to view more details about the investment 1.APPL Purchase 200ZK 21/08/24\n 2.APPL Sale 100ZK 21/08/24\n 3.APPL Purchase 200ZK 15/08/24\n 4. View More Pending Requests 5.Back",
    "ussdOptions": [
      {
        "option": 1,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456",
        "requestType": "GET"
      },
      ...
      {
        "option": 4,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&status=PENDING&page=2",
        "requestType": "GET"
      },
      {
        "option": 5,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/portfolio?customerId=123456",
        "requestType": "GET"
      }
    ]
  },
  "code": 200,
  "message": "Success"
}

Paging requests view

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&status=PENDING&page=2
    ...

The response will be similar to the request by status view

Individual request view

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456
    ...

Example Response

{
  "data": {
    "ussdMessage": "Request details:\n APPL Purchase 200ZK 21/08/24\n 1. Cancel request\n 2. Back",
    "ussdOptions": [
      {
        "option": 1,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456&cancelMode=true",
        "requestType": "GET"
      },
      {
        "option": 2,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&status=PENDING",
        "requestType": "GET"
      }
    ]
  },
  "code": 200,
  "message": "Success"
}

Enabling cancel mode

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456&cancelMode=true
    ...

Example Response

{
  "data": {
    "ussdMessage": "Cancel request:\n APPL Purchase 200ZK 21/08/24\n…(pipevest.com/terms)\n 1. Confirm \n 2. Back",
    "ussdOptions": [
      {
        "option": 1,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456&cancelMode=true",
        "requestType": "PUT"
      },
      {
        "option": 2,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/stocks?customerId=123456&symbol=AAPL",
        "requestType": "GET"
      }
    ]
  },
  "code": 200,
  "message": "Success"
}

Confirming order cancel request

Query parameters

queryDefinitionRequired
customerIdThe unique customer identiferYes
pageThe current set of viewable requests. Default 1No
cancelModeReturns a view that prompts the user to cancel a request. Default falseNo
requestIdThe unique request identiferNo
statusThe current request statusNo

Requests View Example

USSD Requests View

Check out an example of the ussd requests view

The requests menu view allows users to view their various requests in their different states.

Accessing the Requests View

Make a GET request to /requests
  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456
    --header 'Authorization: Bearer 123456' \
    --header 'Signature: sig1=:OTEyMjY4...A5NTNDMEQ=:' \
    --header 'Signature-Input: sig1=("Authorization" "X-Client-Id" "@method" "@target-uri" "@path" "@query");keyid="staging-pipevest-ed25519";created=1732893484;expires=1732893584' \
    --header 'X-Client-Id: 123456' \

Get requests by status

For the pending requests view, the status must be set to PENDING.

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456?status=PENDING
    ...

Example Response

{
  "data": {
    "ussdMessage": "Pending requests:\n Select a request to view more details about the investment 1.APPL Purchase 200ZK 21/08/24\n 2.APPL Sale 100ZK 21/08/24\n 3.APPL Purchase 200ZK 15/08/24\n 4. View More Pending Requests 5.Back",
    "ussdOptions": [
      {
        "option": 1,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456",
        "requestType": "GET"
      },
      ...
      {
        "option": 4,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&status=PENDING&page=2",
        "requestType": "GET"
      },
      {
        "option": 5,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/portfolio?customerId=123456",
        "requestType": "GET"
      }
    ]
  },
  "code": 200,
  "message": "Success"
}

Paging requests view

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&status=PENDING&page=2
    ...

The response will be similar to the request by status view

Individual request view

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456
    ...

Example Response

{
  "data": {
    "ussdMessage": "Request details:\n APPL Purchase 200ZK 21/08/24\n 1. Cancel request\n 2. Back",
    "ussdOptions": [
      {
        "option": 1,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456&cancelMode=true",
        "requestType": "GET"
      },
      {
        "option": 2,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&status=PENDING",
        "requestType": "GET"
      }
    ]
  },
  "code": 200,
  "message": "Success"
}

Enabling cancel mode

  curl --request GET \
    --url https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456&cancelMode=true
    ...

Example Response

{
  "data": {
    "ussdMessage": "Cancel request:\n APPL Purchase 200ZK 21/08/24\n…(pipevest.com/terms)\n 1. Confirm \n 2. Back",
    "ussdOptions": [
      {
        "option": 1,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/requests?customerId=123456&requestId=123456&cancelMode=true",
        "requestType": "PUT"
      },
      {
        "option": 2,
        "requestUrl": "https://api.staging.pipevest.com/v1/ussd/stocks?customerId=123456&symbol=AAPL",
        "requestType": "GET"
      }
    ]
  },
  "code": 200,
  "message": "Success"
}

Confirming order cancel request

Query parameters

queryDefinitionRequired
customerIdThe unique customer identiferYes
pageThe current set of viewable requests. Default 1No
cancelModeReturns a view that prompts the user to cancel a request. Default falseNo
requestIdThe unique request identiferNo
statusThe current request statusNo

Requests View Example

USSD Requests View

Check out an example of the ussd requests view