Тем не менее ничего, что выступает как ID вы не указали) Второй пункт не решается. Дата не вариант, сами понимаете почему.
Но есть интересный пункт - original_transaction_id в возвращаемом json
Вот он вполне решает проблему)
В остальном вы описали все как надо, так и сделал)
Все это понятно. Но вот если у меня есть rest api, и он отлично отдает данные. А я хочу прикрутить месенджер. Мне вообще весь REST переводить на сокеты? Или сделать отдельно rest, отдельно сокеты для мессенжера?
D' Normalization: вот и я GuzzleHttp пользуюсь. Не могли бы помочь? Все та же самая проблема. Код:
$client = new Client();
$url = $url = $this->api_server_url . "detection/detect?" . http_build_query($this->auth_params);
$request = new Request('POST', $url, [
'headers' => ['Content-Type' => 'multipart/form-data;'],
'body' => ['img' => $filename]
]);
Поправил, понял. Действительно куча иероглифов, похоже на файл. Но API все равно пишет что нет изображения. Хотя напрямую через Postman работает нормально. Может что-то не так с curl?
Если я правильно понял, Service Provider работает с данными: поулчает пользователя, выдирает какую-то инфу из его записи, обновляет записи в БД и т.д. Получается он что-то вроде реализации запроса.
А Middleware на основе запросов может прервать выполнение.
На практике: Service Provider аунтифицирует пользователя, достает его из БД и предоставляет инфу. Если его нет - возвращает большое и красивое ничего :)
Middleware же смотрит, выполнил ли работу Provider, и если все в норме пропускает запрос дальше.
Если изменится логика аунтификации - Middleware останется тем же.
Как вывод: Middleware не работает с БД, а работает с абстракцией.
Вышка вообще штука бесполезная, бумажка не нужна никому: ни вам, ни работодателю.
Сделайте афигенное портфолио - и ребята с бумажкой будут в недоумении как так получилось что они без работы. Жизненная ситуация.
Я про это выше и писал - комбинированный подход.