$headers = [
'Accept' => 'application/json',
'Authorization' => 'Bearer <your-api-token>',
];
$transaction = [...]; // A transaction payload
$client = new \GuzzleHttp\Client();
$client->request('POST', 'https://api.procuros.io/v2/transactions', [
'headers' => $headers,
'json' => $transaction,
]);
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
if ($statusCode === 400) {
\Sentry\captureMessage('BadPayloadSent', $transaction);
}
if ($statusCode === 422) {
\Sentry\captureMessage('ValidationError', $transaction);
}
if ($statusCode === 500) {
markDocumentForLaterRetry($transaction);
}
\Sentry\captureMessage('UnknownApiError', $transaction);
}
markDocumentAsProcessed($statusCode, $transaction);