If the data is not correct when creating something, then from Shopify we can get an array in "errors", not a string.
For example, if you create a webhook whose topic does not exist (test/update)
Request:
POST https://{{shop}}/admin/api/2020-07/webhooks.json
X-Shopify-Access-Token: {{accessToken}}
Content-Type: application/json
If create this webhook with slince/shopify-api-php, we get Symfony\Component\Debug\Exception\FatalThrowableError with a message "Wrong parameters for Slince\Shopify\Exception\UnprocessableEntityException([string $message [, long $code [, Throwable $previous = NULL]]])" in ClientException.php#L37
If the data is not correct when creating something, then from Shopify we can get an array in "errors", not a string. For example, if you create a webhook whose topic does not exist (test/update) Request:
Response code: 422 (Unprocessable Entity);
Response body:
If create this webhook with slince/shopify-api-php, we get Symfony\Component\Debug\Exception\FatalThrowableError with a message "Wrong parameters for Slince\Shopify\Exception\UnprocessableEntityException([string $message [, long $code [, Throwable $previous = NULL]]])" in ClientException.php#L37