Возможно, вы захотите рассматривать задачу изменения как ресурс сам по себе. Таким образом, вы действительно помещаете один объект, который является объектом массового обновления данных. Возможно, у него есть имя, владелец и большой двоичный объект CSV, XML и т. Д., Который необходимо проанализировать и выполнить. В случае CSV вы также можете определить тип объектов, представленных в данных CSV.
Список заданий, добавление задания, просмотр статуса задания, обновление задания (возможно, для его запуска / остановки), удаление задания (его остановка, если оно выполняется) и т. Д. Эти операции легко отображаются на REST API дизайн.
Как только вы это сделаете, вы можете легко добавить различные типы данных, с которыми может работать ваш пакет обновления данных, возможно, даже смешать их вместе в одной задаче. Другими словами, нет необходимости дублировать один и тот же API во всем приложении для каждого типа вещей, которые вы хотите импортировать.
Это также очень легко поддается реализации фоновых задач. В этом случае вы, вероятно, захотите добавить поля к отдельным объектам задачи, которые позволяют клиенту API указывать, как они хотят получать уведомления (URL-адрес, по которому они хотят вас получить, когда это будет сделано, или отправить им электронное письмо и т. Д.) .