0

carbonCopies添加到recipients数组时,我不断收到此错误:

{ "errorCode": "INVALID_REQUEST_BODY", "message": "请求正文丢失或格式不正确。无法将当前 JSON 对象(例如 {\"name\":\"value\"})反序列化为 'API_REST 类型。 Models.v2.carbonCopy[]' 因为该类型需要 JSON 数组(例如 [1,2,3])才能正确反序列化。\r\n要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2 ,3]) 或更改反序列化类型,使其成为可以从 JSON 对象反序列化的普通 .NET 类型(例如,不是整数之类的原始类型,不是数组或列表之类的集合类型)。JsonObjectAttribute 也可以是添加到类型以强制它从 JSON 对象反序列化。\r\n路径“recipients.carbonCopies.name”,第 1 行,位置 274。” }

以下是我的要求。

Array
(
    [emailBlurb] => Please click "view documents" to electronically sign your document.
    [emailSubject] =>  - Something Agreement
    [documents] => Array
        (
            [0] => Array
                (
                    [documentId] => 1
                    [name] => Merchant Services Agreement.pdf
                )

        )

    [recipients] => Array
        (
            [carbonCopies] => Array
                (
                    [name] => Customer Name
                    [email] => email@domain.com
                    [routingOrder] => 1
                    [recipientId] => 1
                )

            [signers] => Array
                (
                    [0] => Array
4

1 回答 1

0

您在 carbonCopies 部分之后缺少一个额外的数组声明。由于您使用的是 PHP,因此 JSON 的外观以及该对象在 print_r() 调用上的外观。

正确的 JSON:

"recipients": {
    "signers": [
        {
            "email": "test@docusign.com",
            "name": "John Doe",
            "recipientId": "1",
            "tabs": {
                "signHereTabs": [
                    {
                        "xPosition": "100",
                        "yPosition": "100",
                        "documentId": "1",
                        "pageNumber": "1"
                    }
                ]
            }
        }
    ],
    "carbonCopies": [
        {
            "email": "test@gmail.com",
            "name": "Sally Doe",
            "recipientId": "2"
        }
    ]
}

这是对象在 print_r() 调用中的样子:

    [recipients] => Array
    (
        [signers] => Array
            (
                [0] => Array
                    (
                        [email] => test@docusign.com
                        [name] => John Doe
                        [recipientId] => 1
                        [tabs] => Array
                            (
                                [signHereTabs] => Array
                                    (
                                        [0] => Array
                                            (
                                                [xPosition] => 100
                                                [yPosition] => 100
                                                [documentId] => 1
                                                [pageNumber] => 1
                                            )

                                    )

                            )

                    )

            )

        [carbonCopies] => Array
            (
                [0] => Array
                    (
                        [email] => test@gmail.com
                        [name] => Sally Doe
                        [recipientId] => 2
                    )

            )

    )

[status] => sent

)

于 2013-08-20T18:22:05.090 回答