51offer Ngrefund API

订单退款控制层

Operations 3

GET /ngrefund/info 获取入学退款申请 #
GET /ngrefund/progress 获取退款进度 #
POST /ngrefund/sub 提交入学退款申请 #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/51offer-ngrefund-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

51offer-ngrefund-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 51offer Horizon Site Ngrefund API
  version: '1.0'
  summary: 51offer official-site (www.51offer.com) JSON API surface
  description: Machine-readable description of the public JSON API surface of 51offer's official study-abroad site (www.51offer.com).
  contact:
    name: 51offer
    email: woodrow.w@51offer.com
    url: https://www.51offer.com/
  x-provenance:
    converted-from: Swagger 1.2
    source: https://www.51offer.com/api-docs
    fetched: '2026-09-05'
servers:
- url: https://www.51offer.com
  description: '51offer official site API host. Verified live 2026-09-05: GET /ngGpaCalc/constants returned HTTP 200 application/json.'
- url: https://m.51offer.com
  description: 51offer mobile-site host. Serves the same Swagger 1.2 documents at /api-docs (HTTP 200, application/json, 2026-09-05).
tags:
- name: ngrefund
  description: 订单退款控制层
paths:
  /ngrefund/info:
    get:
      operationId: getEntranceRefund
      tags:
      - ngrefund
      summary: 获取入学退款申请
      parameters:
      - name: orderCode
        in: query
        required: true
        schema:
          type: string
      - name: orderId
        in: query
        required: true
        schema:
          type: integer
          format: int32
      - name: key
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpResult_VO_698bb0'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      x-swagger-1-2-source: https://www.51offer.com/api-docs/default/ngrefund
  /ngrefund/progress:
    get:
      operationId: getRefundProgress
      tags:
      - ngrefund
      summary: 获取退款进度
      parameters:
      - name: orderCode
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpResult_VO_698bb0'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      x-swagger-1-2-source: https://www.51offer.com/api-docs/default/ngrefund
  /ngrefund/sub:
    post:
      operationId: submitEntranceRefund
      tags:
      - ngrefund
      summary: 提交入学退款申请
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderMallRefundParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpResult_boolean_f50dfc'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      x-swagger-1-2-source: https://www.51offer.com/api-docs/default/ngrefund
components:
  schemas:
    VO_629325:
      type: object
      description: 入学退款信息展示用对象
      properties:
        orderMallInfoVO:
          $ref: '#/components/schemas/VO_-_183f88'
        orderMallRefundParam:
          $ref: '#/components/schemas/OrderMallRefundParam'
      x-swagger-1-2-name: 入学退款VO
    VO_-_183f88:
      type: object
      properties:
        id:
          type: integer
          format: int32
        orderCode:
          type: string
          description: 支付单编号(主单编号)
        orderType:
          type: integer
          format: int32
          description: 订单类型(各业务线标识) 1=联合 2=留学 3=语培 4=文书 5=签证
        unionCode:
          type: string
          description: 联合订单编号(只有联合订单的子单,此属性才会有值)
        uid:
          type: integer
          format: int32
          description: 订单用户ID
        originalPrice:
          type: integer
          format: int32
          description: (商品/sku)原价,单位=分
        costPrice:
          type: integer
          format: int32
          description: (商品/sku)成本价,单位=分
        realPrice:
          type: integer
          format: int32
          description: (商品/sku)实际售价,单位=分
        orderAmount:
          type: integer
          format: int32
          description: (订单)应收金额,单位=分,(应收金额=实际售价-优惠金额-优惠券金额)
        discountAmount:
          type: integer
          format: int32
          description: 优惠金额(单位:分),(后台下单,顾问手动填写的优惠额)
        payPrice:
          type: integer
          format: int32
          description: (订单)实收金额,单位=分,(用户实际支付的金额,如果产生1单多笔支付,则会统计此单的所有出/入帐总和)
        payTime:
          type: string
          format: date-time
          description: 订单支付时间
        orderStatus:
          type: integer
          format: int32
          description: 订单状态0=待支付 可跳转- 部分支付、支付完成、取消订单;1=部分支付 可跳转- 支付完成、取消订单、退款中;2=支付完成 可跳转- 取消订单、已升级、已转移、退款中;3=订单取消 无跳转;4=已升级 无跳转;5=已转移 无跳转;6=退款中 可跳转- 退款完成;7=退款完成 无跳转
        refundPrice:
          type: integer
          format: int32
          description: 退款金额,单位=分,(如有多笔出帐,会记录其总和)
        refundTime:
          type: string
          format: date-time
          description: 退款时间(退款时间,由财务录入)
        goodsId:
          type: integer
          format: int32
          description: 商品ID
        goodsName:
          type: string
          description: 商品名称
        sku:
          type: integer
          format: int32
          description: SKU id
        skuType:
          type: integer
          format: int32
          description: 商品类型(SKU里面字段)
        orderRemark:
          type: string
          description: 订单备注
        couponNo:
          type: string
          description: 优惠券号
        couponPrice:
          type: integer
          format: int32
          description: 优惠券金额,单位=分
        refrenceUid:
          type: integer
          format: int32
          description: 订单推荐人(暂未启用字段)
        orderBelongId:
          type: integer
          format: int32
          description: (成单人)订单所属ID,顾问ID或部门ID,此字段值要结合orderBelongType一起来使用
        orderBelongType:
          type: integer
          format: int32
          description: (成单人类型)订单所属类型, 1顾问 2部门
        hasOpenService:
          type: integer
          format: int32
          description: 是否已开启服务,0未开启 1已开启
        openServiceTime:
          type: string
          format: date-time
          description: 开启服务时间
        serviceOrderCode:
          type: string
          description: 业务单编号
        orderCreator:
          type: integer
          format: int32
        orderCreated:
          type: string
          format: date-time
        orderModifier:
          type: integer
          format: int32
        orderModified:
          type: string
          format: date-time
        invoiceNumber:
          type: string
          description: 发票号
        isCost:
          type: integer
          format: int32
        skuName:
          type: string
          description: sku名称
        service53Code:
          type: string
          description: 53客服编码
        goodsPriceYuan:
          type: integer
          format: int64
          description: 商品实际售价 元
        receivableAmountYuan:
          type: integer
          format: int64
          description: 应收金额 元
        paidAmountYuan:
          type: integer
          format: int64
          description: 实收金额 元
        remainderAmountYuan:
          type: integer
          format: int64
          description: 剩余支付金额 元
        couponAmountYuan:
          type: integer
          format: int64
          description: 优惠券金额 元
        refundAmountYuan:
          type: integer
          format: int64
          description: 退款金额 元
        servicePageUrlPc:
          type: string
          description: 服务单PC落地页URL
        servicePageUrlH5:
          type: string
          description: 服务单H5落地页URL
        orderTypeName:
          type: string
          description: 订单类型名称
        orderStatusName:
          type: string
          description: 订单状态名称
        skuAttrs:
          type: array
          items:
            $ref: '#/components/schemas/SkuAttr'
          description: sku属性列表
        unionOrderList:
          type: array
          items:
            $ref: '#/components/schemas/VO_-_183f88'
          description: 联合订单子订单列表
        isRefund:
          type: boolean
          description: 是否有退款记录
        discountAmountYuan:
          type: integer
          format: int64
          description: 优惠金额(单位:元),(后台下单,顾问手动填写的优惠额)
        orderCreatorRole:
          type: integer
          format: int32
          description: 角色
        whetherContract:
          type: boolean
          description: 是否存在在线合同
      x-swagger-1-2-name: 订单信息VO - 前台
    SkuAttr:
      type: object
      properties:
        skuId:
          type: integer
          format: int32
        attrId:
          type: integer
          format: int32
        attrVal:
          type: string
        pid:
          type: integer
          format: int32
        parentVal:
          type: string
        created:
          type: string
          format: date-time
        creator:
          type: integer
          format: int32
        modified:
          type: string
          format: date-time
        modifier:
          type: integer
          format: int32
        children:
          type: array
          items:
            $ref: '#/components/schemas/SkuAttr'
      x-swagger-1-2-name: SkuAttr
    HttpResult_boolean_f50dfc:
      type: object
      properties:
        message:
          type: string
        code:
          type: integer
          format: int32
        data:
          type: boolean
        header:
          type: string
        page:
          $ref: '#/components/schemas/Page'
        apiInfo:
          $ref: '#/components/schemas/ApiInfo'
      x-swagger-1-2-name: HttpResult«boolean»
    Page:
      type: object
      properties:
        currPage:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalPage:
          type: integer
          format: int32
        hasPre:
          type: boolean
        hasNext:
          type: boolean
        pageStr:
          type: string
        startRow:
          type: integer
          format: int32
        endRow:
          type: integer
          format: int32
      x-swagger-1-2-name: Page
    ApiInfo:
      type: object
      properties:
        operationTime:
          type: string
        version:
          type: string
        hostName:
          type: string
      x-swagger-1-2-name: ApiInfo
    HttpResult_VO_698bb0:
      type: object
      properties:
        message:
          type: string
        code:
          type: integer
          format: int32
        data:
          $ref: '#/components/schemas/VO_629325'
        header:
          type: string
        page:
          $ref: '#/components/schemas/Page'
        apiInfo:
          $ref: '#/components/schemas/ApiInfo'
      x-swagger-1-2-name: HttpResult«入学退款VO»
    OrderMallRefundParam:
      type: object
      properties:
        id:
          type: integer
          format: int32
        uid:
          type: integer
          format: int32
        orderCode:
          type: string
        auditStatus:
          type: integer
          format: int32
        refundReason:
          type: string
        refundLastArrivalTime:
          type: string
          format: date-time
        refundAmount:
          type: number
          format: double
        regOrderId:
          type: integer
          format: int32
        payAccountType:
          type: integer
          format: int32
        payBankName:
          type: string
        payOpeningBank:
          type: string
        payRealName:
          type: string
        payAccountName:
          type: string
        entranceCardName:
          type: string
        entranceCardFile:
          type: integer
          format: int32
        entranceVisaFile:
          type: integer
          format: int32
        entranceCasFile:
          type: integer
          format: int32
        entranceBfcFile:
          type: integer
          format: int32
        entranceTuitionFile:
          type: integer
          format: int32
        key:
          type: string
      x-swagger-1-2-name: OrderMallRefundParam
  securitySchemes:
    tokenHeader:
      type: apiKey
      in: header
      name: token
      description: 'Session token header. Observed on live responses from https://www.51offer.com: Access-Control-Allow-Headers includes "token" and Access-Control-Expose-Headers is "token". Unauthenticated calls to public endpoints (e.g. GET /ngGpaCalc/constants) return 200; authenticated user endpoints return the envelope with a non-200 code field. 51offer publishes no developer auth documentation.'