新美大ドッキング楽車邦メンテナンスインタフェースドキュメント

6083 ワード

1.説明


このドキュメントは、新美大側ドッキング楽車邦メンテナンスプロジェクトでのみ使用できます.

2.有効期間


2017-03-30まで

3.インタフェースの説明


3.1インタフェースアドレス説明


アドレスプレフィックス:本番:https://m.lechebang.com/gateway/partner_json/{method}/1618テスト:https://m.lechebang.cn/gateway/partner_json/{method}/1618ここでmethodはインタフェース名

3.2インタフェースリスト


インタフェース名
説明
べき乗等性
cancelOrder
注文のキャンセル(支払い前)
Y
paymentNotify
支払結果の同期
Y
applyRefund
返金の申請
Y
refundNotify
返金結果の同期
Y
notifyReview
同期オーダーのコメント
Y

3.3セキュリティ認証


楽車邦側は要求(JSON形式)に対して署名検証を行うことによってインタフェースの安全性を保証する(署名なしを返す)、具体的な署名アルゴリズムは以下の通りである.
  • 要求パラメータリストでsignフィールドを除いて、他の(ルートノード)が使用するパラメータはすべて署名するパラメータです.
  • 対JSONルートノードの各属性を属性名0~9,a~zの順に並べ替え,同じ頭文字に遭遇した場合は2番目の文字を見て,これを類推する.
  • 並べ替えが完了したら、すべての属性名と値を「=」でキー値ペアを構成し、「&」文字で接続します.この文字列は署名される文字列です.例えば、以下の要求パラメータ{appCode:100,timestamp:13388886946,sign:"6 e 8 ccf 3 e 7 fb 18 ead 4 bfd 9 f 41078 fd 52 b",cityId:1010}署名される文字列は、appCode=100&cityId=1011×tamp=13388886946
  • である.
  • 署名待ち文字列の末尾に署名用のsecret値を加え、鍵secretは楽車邦から提供される(テスト使用は付録参照).例:secret値は「vWdg 5 jw 9 BTmLk 6 S 0 wsYL」であり、元の署名待ち文字列はappCode=100&cityId=10101×tamp=13388886946追加secretを得た:appCode=100&cityId=1011×tamp=138886946 vWdg 5 jw 9 BTmLk 6 S 0 wsYL
  • はmd 5演算を行い、演算結果はuppercaseを大文字化し、最終的に署名を得る.ドッキング側は署名ツールをダウンロードして署名を計算し、自己測定することができ、連調テスト中にも使用することができます.

  • 3.4要求と返却


    3.4.1要求フォーマット


    楽車邦インタフェース要求はappCode、タイムスタンプ、署名、その他の業務パラメータの4つの部分から構成されています.
    {
        "appCode":1618,
        "timestamp":1488524179,
        "sign":"3EBAAA2CB74D32DFB422C32829C11813",
        // 
    }
    

    新米大のappCodeは、1618 timestamp(タイムスタンプ)がサーバに要求した時間で、誤差は正負5分.

    3.4.2戻りフォーマット

    {
        "costTime":15,
        "msg":"ok",
        "result":{},
        "resultCode":"200",
        "statusCode":"200",
        "validationErrors":null
    }
    

    次のようになります.
    フィールド
    説明
    statusCode
    ステータスコード、付録エラーコードを参照
    msg
    エラーメッセージ
    result
    ビジネス・データが返されるとresultフィールドにデータが配置されます

    4.インタフェースの設計


    4.1注文キャンセル(支払い前)cancelOrder


    ビジネス要求パラメータ


    パラメータ名
    パラメータタイプ
    必須かどうか
    説明
    orderId
    String
    Y
    楽車邦注文ID

    呼び出しの例


    Request:
    {
        "appCode":1618,
        "orderId":"XXX1000",
        "timestamp":1488449177,
        "sign":"BEBB7C326A040AD1CE9327D720699453"
    }
    

    Response:
    {
        "costTime":1380,
        "msg":"ok",
        "result": {},
        "resultCode":"200",
        "statusCode":"200",
        "validationErrors":null
    }
    

    4.2支払結果の同期化paymentNotify


    ビジネス要求パラメータ


    パラメータ名
    パラメータタイプ
    必須かどうか
    説明
    orderId
    String
    Y
    楽車邦注文ID
    payResult
    int
    Y
    支払い結果、1:成功、2:失敗
    payPrice
    String
    N
    ユーザ払込金額
    dpPromoPrice
    String
    N
    コメントのお得価格

    呼び出しの例


    Request:
    {
        "appCode":1618,
        "orderId":"XXXX1000",
        "payResult":1,
        "payPrice":200,
        "dpPromoPrice":6,
        "timestamp":1488506049,
        "sign":"AAB48C53E09D1D4911ACB886094099AC"
    }
    

    Response:
    {
        "costTime":14,
        "msg":"ok",
        "result": {},
        "resultCode":"200",
        "statusCode":"200",
        "validationErrors":null
    }
    

    4.3返金申請applyRefund


    ビジネス要求パラメータ


    パラメータ名
    パラメータタイプ
    必須かどうか
    説明
    orderId
    String
    Y
    楽車邦注文ID

    呼び出しの例


    Request:
    {
        "appCode":1618,
        "orderId":"XXX0001",
        "timestamp":1488508664,
        "sign":"5E398CA68254B0B14CDC1594109EA213"
    }
    

    Response:
    {
        "costTime":13,
        "msg":"ok",
        "result": {},
        "resultCode":"200",
        "statusCode":"200",
        "validationErrors":null
    }
    

    4.4同期返金結果refundNotify


    ビジネス要求パラメータ


    パラメータ名
    パラメータタイプ
    必須かどうか
    説明
    orderId
    String
    Y
    楽車邦注文ID
    refundResult
    int
    Y
    返金結果、1:返金成功、2:返金失敗

    呼び出しの例


    Request:
    {
        "appCode":1618,
        "orderId":"XXX0001",
        "refundResult":1,
        "timestamp":1488508881,
        "sign":"942A939E7D3EAE3FFBF59AFF66FF1FB4"
    }
    

    Response:
    {
        "costTime":11,
        "msg":"ok",
        "result": {},
        "resultCode":"200",
        "statusCode":"200",
        "validationErrors":null
    }
    

    4.5同期オーダー評価notifyReview


    ビジネス要求パラメータ


    パラメータ名
    パラメータタイプ
    必須かどうか
    説明
    orderId
    String
    Y
    楽車邦注文ID
    star
    int
    Y
    星の評価、区間[1~5]:1~5級
    reviewBody
    String
    Y
    コメント内容

    呼び出しの例


    Request:
    {
        "appCode":1618,
        "orderId":"XXX001",
        "star":4,
        "reviewBody":"a good shop!",
        "timestamp":1488509130,
        "sign":"1A7DC6B1BCDB9B8D94A320918704CD8E"
    }
    

    Response:
    {
        "costTime":17,
        "msg":"ok",
        "result": {},
        "resultCode":"200",
        "statusCode":"200",
        "validationErrors":null
    }
    

    5.付録


    5.1 statusCode返却ステータスコード


    ステータスコード
    説明
    200
    成功
    501
    パラメータ不正または論理チェック失敗
    注意:その他のステータスコードは補充されます.

    5.2新米鍵


    テスト:連絡楽車邦開発取得生産:連絡楽車邦開発取得