目录

Creating an Event Ticket Model

Function

Adds an event ticket model to the Huawei server.

Scenario

This API is used to add an event ticket model to the Huawei server.

Restrictions

You need to create an app in AppGallery Connect and apply for services corresponding to the passes.

Prototype

Protocol

HTTPS POST

Direction

Developer server -> Huawei server

URL

{url}/hmspass/v1/eventticket/model

Set the {url} variable based on the region where the server is located. For details, please refer to Wallet Server Addresses.

Data Format

Request: Content-Type: application/json

Response: Content-Type: application/json

Request Parameters

Request Header

Parameter

Mandatory/Optional

Type

Description

Authorization

Mandatory

String

Authorization code. For details about how to obtain the value, please refer to the Client Credentials mode in OAuth 2.0-based Authentication. In this mode, client_id and client_secret are respectively the App ID and App key of the app that you created in AppGallery Connect. Concatenate the value of access_token to the end of Bearer, with a space in between, to generate the value of Authorization.

Content-Type

Mandatory

String

The value is always application/json;charset=utf-8.

Accept

Mandatory

String

The value is always application/json;charset=utf-8.

Request Body

Parameter

Mandatory/Optional

Type

Description

For details, please refer to the HwWalletObject Parameters.

Mandatory

HwWalletObject

Pass model to be added.

Request Example

POST /hmspass/v1/eventticket/model HTTP/1.1
Content-Type: application/json;charset=utf-8
Authorization: Bearer ***
Host: wallet-passentrust-drcn.cloud.huawei.com.cn
Accept: application/json;charset=utf-8
{
  "passVersion": "1.0",
  "passTypeIdentifier": "hwpass.com.huawei.wallet.eventticket.test",
  "passStyleIdentifier": "eventTicketModelTest",
  "organizationName": "Huawei",
  "fields": {
    "countryCode": "CN",
    "locationList": [
      {
        "longitude": "114.0679603815",
        "latitude": "22.6592051284"
      }
    ],
    "commonFields": [
      {
        "key": "logo",
        "value": "https://www.huawei.com/XXX.png"
      },
      {
        "key": "name",
        "value": "XXX Party Ticket"
      },      
      {
        "key": "merchantName",
        "value": "Huawei",
        "localizedValue": "merchantNameI18N"
      },
      {
        "key": "address",
        "value": "XXX location"
      },
      {
        "key": "ticketType",
        "value": "Adult ticket"
      }
    ],
    "appendFields": [
      {
        "key": "backgroundColor",
        "value": "#FF1C2635"
      }
    ],
    "imageList": [
      {
        "key": "mainImage[0]",
        "value": "https://www.huawei.com/XXX0.png"
      },
      {
        "key": "mainImage[1]",
        "value": "https://www.huawei.com/XXX1.png"
      },
      {
        "key": "mainImage[2]",
        "value": "https://www.huawei.com/XXX2.png"
      }
    ],
    "messageList": [
      {
        "key": "message[0]",
        "value": "Welcome to the party!"
      }
    ],
    "timeList": [
      {
        "key": "startTime",
        "value": "2020-01-22T09:20:00.083Z"
      },
      {
        "key": "endTime",
        "value": "2020-01-22T12:20:00.083Z"
      }
    ],
    "localized": [
      {
        "key": "merchantNameI18N",
        "language": "zh-cn",
        "value": "Huawei"
      },
      {
        "key": "merchantNameI18N",
        "language": "en",
        "value": "Huawei"
      }
    ]
  }
}

Response Parameters

When the result code is 200:

Parameter

Type

Description

For details, please refer to the HwWalletObject Parameters.

HwWalletObject

Added pass model.

Response Example

HTTP/1.1 200 OK
Content-Type: application/json
{
  "passVersion": "1.0",
  "passTypeIdentifier": "hwpass.com.huawei.wallet.eventticket.test",
  "passStyleIdentifier": "eventTicketModelTest",
  "organizationName": "Huawei",
  "fields": {
    "countryCode": "CN",
    "locationList": [
      {
        "longitude": "114.0679603815",
        "latitude": "22.6592051284"
      }
    ],
    "commonFields": [
      {
        "key": "logo",
        "value": "https://www.huawei.com/XXX.png"
      },
      {
        "key": "name",
        "value": "XXX Party Ticket"
      },      {
        "key": "merchantName",
        "value": "Huawei",
        "localizedValue": "merchantNameI18N"
      },
      {
        "key": "address",
        "value": "XXX location"
      },
      {
        "key": "ticketType",
        "value": "Adult ticket"
      }
    ],
    "appendFields": [
      {
        "key": "backgroundColor",
        "value": "#FF1C2635"
      }
    ],
    "imageList": [
      {
        "key": "mainImage[0]",
        "value": "https://www.huawei.com/XXX0.png"
      },
      {
        "key": "mainImage[1]",
        "value": "https://www.huawei.com/XXX1.png"
      },
      {
        "key": "mainImage[2]",
        "value": "https://www.huawei.com/XXX2.png"
      }
    ],
    "messageList": [
      {
        "key": "message[0]",
        "value": "Welcome to the party!"
      }
    ],
    "timeList": [
      {
        "key": "startTime",
        "value": "2020-01-22T09:20:00.083Z"
      },
      {
        "key": "endTime",
        "value": "2020-01-22T12:20:00.083Z"
      }
    ],
    "localized": [
      {
        "key": "merchantNameI18N",
        "language": "zh-cn",
        "value": "Huawei"
      },
      {
        "key": "merchantNameI18N",
        "language": "en",
        "value": "Huawei"
      }
    ]
  }
}

Result Codes

For details, please refer to Result Codes.

Call Example

public HwWalletObject postHwWalletObjectToWalletServer(String url, HwWalletObject hwWalletObject) {
    // Construct the HTTP header.
    HttpHeaders header = constructHttpHeaders();
    // Construct the HTTP body.
    String body = CommonUtil.toJson(hwWalletObject);
    JSONObject jsonObj = JSONObject.parseObject(body);
    System.out.println("Request JSON : " + jsonObj);
    // Construct the HTTP URL.
    String baseUrl = ConfigHelper.instants().getValue("walletServerBaseUrl");
    String walletServerUrl = baseUrl + url;

    // Send the HTTP request and obtain the response.
    HttpEntity<JSONObject> entity = new HttpEntity<>(jsonObj, header);
    ResponseEntity<HwWalletObject> exchange =
        REST_TEMPLATE.exchange(walletServerUrl, HttpMethod.POST, entity, HwWalletObject.class);

    // Return the pushed wallet model.
    return exchange.getBody();
}