Задача
Изначально задача стояла объединить API заказчика в единый отчет, для удобства формирования отчета менеджером компании и передачи заказчику.
Но я не я, если бы так просто сделал)
Я предложил заказчику несколько другой подход, так как бюджет его позволял разойтись, то почему бы не сделать сразу круто.
До обращения ко мне, схема работы действовала так:
Некий клиент отправляет данные контрагента менеджеру, менеджер идет в различные апи, проверяет и формирует word файл-отчет для клиента.
Я же предложил заказчику сделать для его клиентов личные кабинеты, на которых будет некий баланс, и каждый заказчик может сам проверять сколько угодно и когда угодно своих контрагентов, заказчик имеет возможность выполнить проверку по одному из трех сервисов или же по трем сразу.
Решение
После разработки личного кабинета и авторизации, я начал думать, как реализовать так, чтобы отчетом можно было поделиться, а именно переслать сформированную ссылку на отчет, и он был бы доступен неавторизованному лицу. И это было один из важных шагов, так как от этого зависела вся дальнейшая разработка.
Решено было делать на wordpress, по этому я реализовал как запись, каждый отчет, в котором я хранил данные массивом с всех источников api, который было 7 штук изначально.
После получения данных по всем api, я формировал запись, выводил в нее данные, и после уже красиво структурировал, тем самым клиент мог поделиться ссылкой, но чтобы она была не очевидна, я сделал ЧПУ, прогнав его 2 раза через md5, тем самым я получил ссылку красивого вида: https://ervb.wtstudio.ru/report/2baf79dff8066d5819ebb5f9d6895c5f/
Далее я понял, что все сервисы нужно разбивать, так как стоимость общей проверки и проверки по номеру телефона может отличаться.
Разбив сервисы, я сделал возможность выбора клиентом той или иной услуги, при выборе которых у клиента будет списываться некая сумма за проверку.
Пополнение решили не реализовывать, по желанию заказчика, хотя было бы круто реализовать еще и пополнение, но заказчик сказал что будут это делать в ручном режиме.
Так же я решил предложить заказчику сделать историю проверок, чтобы клиент не терял отчет, а мог к нему вернуться в любой момент.
Одними из сложностей в данном процессе было реализовать все возможные сценарии с работой по разным api, сортировкой информации и распределением по блокам.
Результат
Результат просто ошеломляющий, решили сайт временно оставить на моем домене, перевести туда 100 клиентов, в последствии сделаем редирект.
Ранее у заказчика работало 5 сотрудников, которые зашивались в работе, в формировании отчетов, сейчас же нужен только 1 сотрудник, который просто принимает оплату и пополняет баланс клиентов.
Формирование отчета теперь занимает 2 минут вместо 1,5 часа, что приводит в восторг клиентов. Заказчик прям очень доволен проделанной работой, и как он сказал, я не первый, кто делал данный сайт, но первый, кто сделал его)