Guy to ryver api

Hello guys i've been pulling my hair for this problem. I'm accessing an api from ryver to send post chat messages for automated notification. I'm following this doc https://support.ryver.com/chatmessage-api/ and I'm using laravel 5.1 with Guzzle and here's my code if it helps

$client = new Client();
        $postData = \GuzzleHttp\json_encode(['JSON Payload' => ['body' => 'test123']]);



        $options = [
            'json' => $postData
        ];

        $request = $client->post('https://somecompany.ryver.com/api/1/odata.svc/workrooms(1099207)/Chat.PostMessage()', $options);
        $request->setHeader('Content-Type', 'application/json');
        $request->setHeader('Accept', 'application/json');
        $request->setHeader('Authorization', 'Basic Base64codehere');

        $response = $request->send();

It always returns a [status code] 400, Please help :( Thank you and have a great day!

Fixed it :) I just need to stringfy the JSON to make it work and set body the JSON. here's the code.

$client = new Client();
        $postData = '{
        "body":"**Update!**
> ** Test success for ryver integration.",
          "extras": {
            "from": {
              "__descriptor":"Developer",
              "avatarUrl":"https://cdn2.f-cdn.com/ppic/4973381/logo/4389970/developer_avatar.png"
            } 
          }
        }';
        $request = $client->post('https://company.ryver.com/api/1/odata.svc/workrooms(1098712)/Chat.PostMessage()',[
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Basic base64'
        ]);

        $request->setBody($postData);

        $response = $request->send();

You may try sending the API request using this params

$postData = \GuzzleHttp\json_encode(['body' => 'test123']);

$options = [
    'JSON Payload' => $postData
];