import Mailrify, {
ApiError,
AuthenticationError,
MailrifyError,
NotFoundError,
RateLimitError,
ValidationError
} from 'mailrify';
const client = new Mailrify(process.env.MAILRIFY_SECRET_KEY as string);
try {
await client.contacts.get('missing-contact-id');
} catch (error) {
if (error instanceof NotFoundError) {
console.error('Contact not found');
return;
}
if (error instanceof ValidationError) {
console.error('Validation failed', error.details);
return;
}
if (error instanceof AuthenticationError) {
console.error('Check API key type or value');
return;
}
if (error instanceof RateLimitError) {
console.error('Rate limited, retry after seconds:', error.retryAfter);
return;
}
if (error instanceof ApiError) {
console.error('Server/API error', error.status, error.details);
return;
}
if (error instanceof MailrifyError) {
console.error('Mailrify SDK error', error.status, error.message);
return;
}
throw error;
}