Изначально id от поставщиков нету в бд и какие товары обновлять коду будет неизвестно,Понятно что архитектура кривая изначально. О чем думал проектировщик бд при создании остается загадкой, но проблема у вас здесь и сейчас.
не понимаю вообще зачем здесь построители запросов.Затем что системы хранения зачастую не существуют сами по себе в вакууме, а используются прикладной частью ПО, которая по большей части пишется на фреймворках и с использованием библиотек (практически всегда используя ПЗ). Это надо учитывать в проектировании БД сразу, а не когда паленая птица клюнет в ягодицу...
представьте себе если придет id от поставщика, который есть уже в бд, но от другого товараЕще раз - у вас есть 2 айди, ваш личный первичный ключ таблицы - id, и supler_id, который идет в апи и будет ключом для сверки с поставщиком. Вот на него и надо ориентироваться при обновлении товаров. Или, как я написал выше, можно использовать SKU, если таковой есть в ответе апи.
id с API и id в бд не совпадают - это логично.Сфига ли это логично? Если в апи вам всегда приходит товар с одинаковым айди - его следует хранить у себя как уникальный ключ, не в первичный айди, а что-то типа supler_id. Если у поставщика он уникально идентифицирует товар. Так же ключем может быть SKU, если апи его передает. Есть нюансы с артикулом, так как в артикул пишут все что можно и неможно о товаре(рост/вес/размер/цвет), а SKU уникален и неизменен в рамках системы.
список артикулов полученных через API, они эквивалентны названиям товаров в бдОчень странная идея. Опираться в выборке на название товара, который поставщик может поменять в любой момент как минимум странно. Нашли они опечатку, поменяли название на правильное - все, у вас получилась лажа... Ключ должен быть неизменным по умолчанию, название же таковым точно не является.
я вижу что сообщение отправляется ни как ответ, когда захожу на почту и проверяю,Надо проверять как оно приходит, а не как уходит. Пришлите себе письмо с одной почты, ответьте с другой и проверьте приходит ли оно как ответ. То что оно отличается от отправленного из приложения нормально. И опишите нормально по пунктам чего будет не хватать в полученном ответе.