diff --git a/client/api.js b/client/api.js
index b3c9399..7995916 100644
--- a/client/api.js
+++ b/client/api.js
@@ -229,12 +229,23 @@ export const api = {
// Subscriptions
subscriptions: () => get('/subscriptions'),
confirmTransactionMatch: (transactionId, billId) => post('/matches/confirm', { transaction_id: transactionId, bill_id: billId }),
- matchRecommendationToBill: (transactionIds, billId, merchant) => post('/subscriptions/recommendations/match-bill', { transaction_ids: transactionIds, bill_id: billId, merchant }),
+ matchRecommendationToBill: (transactionIds, billId, merchant, catalogId, confidence) => post('/subscriptions/recommendations/match-bill', {
+ transaction_ids: transactionIds,
+ bill_id: billId,
+ merchant,
+ catalog_id: catalogId,
+ confidence,
+ }),
subscriptionRecommendations: () => get('/subscriptions/recommendations'),
subscriptionTransactionMatches: (params = {}) => get(`/subscriptions/transaction-matches${queryString(params)}`),
updateSubscription: (id, data) => _fetch('PATCH', `/subscriptions/${id}`, data),
createSubscriptionFromRecommendation: (data) => post('/subscriptions/recommendations/create', data),
- declineRecommendation: (declineKey) => post('/subscriptions/recommendations/decline', { decline_key: declineKey }),
+ declineRecommendation: (recommendation) => post('/subscriptions/recommendations/decline', {
+ decline_key: recommendation?.decline_key || recommendation,
+ catalog_id: recommendation?.catalog_match?.id,
+ merchant: recommendation?.merchant,
+ confidence: recommendation?.confidence,
+ }),
subscriptionCatalog: () => get('/subscriptions/catalog'),
updateSubscriptionCatalogLink:(id, catalogId) => _fetch('PUT', `/subscriptions/${id}/catalog-link`, { catalog_id: catalogId }),
addCatalogDescriptor: (catalogId, d) => post(`/subscriptions/catalog/${catalogId}/descriptors`, { descriptor: d }),
diff --git a/client/pages/SubscriptionsPage.jsx b/client/pages/SubscriptionsPage.jsx
index abd675c..02a7b5d 100644
--- a/client/pages/SubscriptionsPage.jsx
+++ b/client/pages/SubscriptionsPage.jsx
@@ -285,12 +285,13 @@ function TxResultRow({ tx, onTrack }) {
);
}
-function RecommendationCard({ recommendation, categoryId, onAccept, onDecline, onMatch, onDetails, busy }) {
+function RecommendationCard({ recommendation, categoryId, onAccept, onDecline, onMatch, onQuickLink, onDetails, busy }) {
const identity = recommendation.evidence?.identity;
const amount = recommendation.evidence?.amount;
const cadence = recommendation.evidence?.cadence;
const amountRange = recommendation.evidence?.amount_range;
const ambiguity = recommendation.evidence?.ambiguity;
+ const existingBill = recommendation.existing_bill_match;
return (