# Query 3DS records

> Query paginated 3DS delivery records by card, transaction order number, and time range.

```yaml
openapi: 3.1.0
info:
  title: Query 3DS records
  version: 1.0.0
  description: Query paginated 3DS delivery records by card, transaction order
    number, and time range.
paths:
  /api/v1/merchant/card/query3dsNotify:
    post:
      summary: Query 3DS records
      description: Query paginated 3DS delivery records by card, transaction order
        number, and time range.
      parameters:
        - name: ApiKey
          in: header
          required: true
          description: Issuing API key request header assigned by Onerway.
          schema:
            type: string
            description: Issuing API key request header assigned by Onerway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                txnOrderNo:
                  type: string
                  description: Transaction order number filter.
                  x-onerway-constraints:
                    - kind: rule
                      text: Must not exceed 64 characters.
                cardId:
                  type: string
                  description: Card ID filter.
                  x-onerway-constraints:
                    - kind: rule
                      text: Must not exceed 64 characters.
                startTime:
                  type: integer
                  description: Query start time as a Unix timestamp in seconds.
                endTime:
                  type: integer
                  description: Query end time as a Unix timestamp in seconds.
                pageNum:
                  type: integer
                  description: Page number.
                  x-onerway-constraints:
                    - kind: range
                      min: 1
                pageSize:
                  type: integer
                  description: Page size.
                  x-onerway-constraints:
                    - kind: range
                      min: 1
                      max: 100
              required:
                - cardId
                - pageNum
                - pageSize
            examples:
              query-by-card:
                summary: Query 3DS records by card
                value:
                  cardId: example_card_id
                  startTime: 1767225600
                  endTime: 1767312000
                  pageNum: 1
                  pageSize: 10
      responses:
        "200":
          description: 3DS records returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  respCode:
                    type: string
                    description: Business response code. `20000` means success.
                  respMsg:
                    type: string
                    description: Response message.
                  data:
                    type:
                      - object
                      - "null"
                    properties:
                      totalRecords:
                        type: integer
                        description: Total record count.
                      pageSize:
                        type: integer
                        description: Page size.
                      current:
                        type: integer
                        description: Current page number.
                      pageNum:
                        type: integer
                        description: Current page number.
                      totalPages:
                        type: integer
                        description: Total page count.
                      records:
                        type: array
                        description: 3DS delivery records on the current page.
                        items:
                          type: object
                          properties:
                            txnOrderNo:
                              type: string
                              description: Transaction order number.
                            merchantNo:
                              type: string
                              description: Merchant number.
                            cardId:
                              type: string
                              description: Card ID.
                            type:
                              type: string
                              description: 3DS authentication type. Currently fixed to `OTP`.
                              enum:
                                - OTP
                              x-enum-descriptions:
                                OTP: One-time password authentication.
                            sendMethod:
                              type: string
                              description: Method used to deliver the 3DS value.
                              enum:
                                - WEBHOOK
                                - EMAIL
                              x-enum-descriptions:
                                WEBHOOK: Delivered through a webhook.
                                EMAIL: Delivered through email.
                            sendTarget:
                              type: string
                              description: Webhook or email destination used for delivery.
                            sendStatus:
                              type: string
                              description: Delivery status code.
                              enum:
                                - I
                                - S
                                - F
                              x-enum-descriptions:
                                I: Delivery status code `I`.
                                S: Delivery status code `S`.
                                F: Delivery status code `F`.
                            sendTime:
                              type: integer
                              description: Delivery time as a Unix timestamp in milliseconds.
                            card3dsValues:
                              type:
                                - string
                                - "null"
                              description: 3DS one-time password. Treat this value as sensitive authentication
                                data; do not log or retain it after use.
                              x-onerway-value:
                                nullable: true
                                empty: true
                                when:
                                  en: Returned as `null` or an empty string when no 3DS value is available.
                                  zh: 无 3DS 验证码时返回 `null` 或空字符串。
                            currency:
                              type:
                                - string
                                - "null"
                              description: Transaction currency.
                              x-onerway-value:
                                nullable: true
                                empty: true
                                when:
                                  en: Returned as `null` or an empty string when no transaction currency is
                                    available.
                                  zh: 无交易币种时返回 `null` 或空字符串。
                            amount:
                              type:
                                - number
                                - "null"
                              description: Transaction amount.
                              x-onerway-value:
                                nullable: true
                                when:
                                  en: Returned as `null` when no transaction amount is available.
                                  zh: 无交易金额时返回 `null`。
                            merchantName:
                              type:
                                - string
                                - "null"
                              description: Merchant name.
                              x-onerway-value:
                                nullable: true
                                empty: true
                                when:
                                  en: Returned as `null` or an empty string when no merchant name is available.
                                  zh: 无商户名称时返回 `null` 或空字符串。
                        x-onerway-value:
                          empty: true
                          when:
                            en: Returned as an empty array when no 3DS record matches.
                            zh: 无匹配 3DS 记录时返回空数组。
                    description: Paginated 3DS delivery records.
                    x-onerway-value:
                      nullable: true
                      when:
                        en: Returned as `null` when the query fails.
                        zh: 查询失败时返回 `null`。
              examples:
                success:
                  summary: 3DS records returned
                  value:
                    respCode: "20000"
                    respMsg: success
                    data:
                      totalRecords: 1
                      pageSize: 10
                      current: 1
                      pageNum: 1
                      totalPages: 1
                      records:
                        - txnOrderNo: example_transaction_order
                          merchantNo: example_merchant_no
                          cardId: example_card_id
                          type: OTP
                          sendMethod: WEBHOOK
                          sendTarget: https://example.com/webhooks/3ds
                          sendStatus: S
                          sendTime: 1767225600000
                          card3dsValues: "123456"
                          currency: USD
                          amount: 125.5
                          merchantName: Example Merchant
```
