code: public function sendJson(string $method, string $uri, $data, ?array $headers = null)
      {
          $headers = array_merge([HttpInterface::HEADER_ACCEPT => 'application/json'], $headers ?: []);
          $options = $this->prepareOptions(null, null, null, $headers);
          $options[RequestOptions::JSON] = $data;
          $response = $this->request($method, $uri, $options);
  
          return $this->parseJsonResponse($response);
      }
docs: @param string     $method
  @param string     $uri
  @param mixed      $data
  @param array|null $headers
  
  @throws GuzzleException
  @throws ParseContentException
  
  @return mixed