Как правильно написать класс для обращения к API?
 Нужно написать грамотный код для соблюдения чистоты.
Мантра, смысл которой вам, похоже, непонятен.
Грамотный код для API - это тот, которым удобно пользоваться и который несложно модифицировать при необходимости.
API - это архитектура "запрос-ответ". У вас есть определенные структуры данных, которые передаются в запросе, структуры данных, которые возвращаются в ответе, и логика получения вторых из первых.
Соответственно, если структуры данных достаточно сложны и имеют внутреннюю логику - стоит оформить их классами. Если логика достаточно сложна и слабо пересекается от запроса к запросу - можно создать классы-обработчики.
Но высасывать из пальца какую-то универсальную "чистоту", подходящую для любого API, что бы оно ни делало - просто бессмысленно.

Сравните, например, https://github.com/iamwildtuna/boxberry-sdk и https://github.com/dev-ik/ApiBoxberry
Возьмите любой апи класс от популярных вендоров (фб, вк и тд) и посмотрите как у них организовано разделение пакета на классы. Обычно там 3-4 класса, все достаточно аккуратно и логично.