// === Register All REST API Routes === add_action('rest_api_init', function () { $routes = [ ['chat', ['GET', 'POST'], 'grobot_chat'], ['login', 'POST', 'grobot_login'], ['signup', 'POST', 'grobot_signup'], ['product-info', 'POST', 'grobot_get_product_info'], ['order', 'POST', 'grobot_place_order'], ['user-info', 'GET', 'grobot_get_user_info'], ['orders', 'GET', 'grobot_get_orders'], ['cancel-order', 'POST', 'grobot_cancel_order'], ['support', 'POST', 'grobot_support_ticket'], ['update-address', 'POST', 'grobot_update_address', true], ['cart/add', 'POST', 'grobot_cart_add'], ['cart', 'GET', 'grobot_cart_view'], ['cart/empty', 'POST', 'grobot_cart_empty'], ['invoice', 'GET', 'grobot_invoice_download', true], ['store-token', 'POST', 'grobot_store_device_token'], ['push', 'POST', 'grobot_send_push_notification', true], ]; foreach ($routes as $r) { register_rest_route('grobot/v1', '/' . $r[0], [ 'methods' => $r[1], 'callback' => $r[2], 'permission_callback' => $r[3] ?? '__return_true' ]); } }); // === grobot Chat Endpoint === function grobot_chat($request) { if ($request->get_method() === 'GET') { return grobot_response('info', '🤖 This is the grobot chat endpoint. Use POST with {"message": "...", "session_id": "..."} to talk to the assistant.'); } $input = sanitize_text_field($request->get_param('message')); $session_id = sanitize_text_field($request->get_param('session_id')); if (empty($input)) { return grobot_response('error', '❌ Empty message.'); } $api_key = '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'; $system_prompt = << 'meta-llama/llama-3-70b-instruct', 'messages' => [ ['role' => 'system', 'content' => $system_prompt], ['role' => 'user', 'content' => $input] ] ]); $response = wp_remote_post('https://openrouter.ai/api/v1/chat/completions', [ 'headers' => [ 'Authorization' => 'Bearer ' . $api_key, 'Content-Type' => 'application/json', 'HTTP-Referer' => 'https://grohunt.com', 'X-Title' => 'grobot-ecommerce-chat' ], 'body' => $body, 'timeout' => 20 ]); if (is_wp_error($response)) { return grobot_response('error', '⚠️ Network error: ' . $response->get_error_message()); } $json = json_decode(wp_remote_retrieve_body($response), true); $reply = $json['choices'][0]['message']['content'] ?? null; if (!$reply) { return grobot_response('error', '🤖 No reply received from model.'); } $reply = grobot_normalize_text($reply); grobot_log_transcript($session_id, $input, $reply); grobot_maybe_send_push($reply); return grobot_response('success', '✅ AI replied', ['reply' => $reply]); } // === Log Chat Transcripts === function grobot_log_transcript($session_id, $query, $reply) { global $wpdb; $table = $wpdb->prefix . 'grobot_transcripts'; $wpdb->insert($table, [ 'session_id' => sanitize_text_field($session_id), 'query' => grobot_normalize_text($query), 'reply' => grobot_normalize_text($reply), 'timestamp' => current_time('mysql') ]); } // === Send Push If Order === function grobot_maybe_send_push($reply) { if (stripos($reply, 'order confirmed') !== false) { $user = wp_get_current_user(); if ($user && $user->ID) { $token = get_user_meta($user->ID, 'grobot_device_token', true); if ($token) { grobot_send_push_notification($token, 'Order Placed', 'Your order has been placed successfully.'); } } } } // === Push Notification Logic === function grobot_send_push_notification($token, $title, $body) { $serverKey = 'YOUR-FIREBASE-SERVER-KEY'; // 🔁 Replace this $url = 'https://fcm.googleapis.com/fcm/send'; $payload = json_encode([ 'to' => $token, 'notification' => [ 'title' => grobot_normalize_text($title), 'body' => grobot_normalize_text($body), ] ]); $headers = [ 'Authorization: key=' . $serverKey, 'Content-Type: application/json', ]; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $payload ]); curl_exec($ch); curl_close($ch); } // === Store Firebase Device Token === function grobot_store_device_token($request) { $user_id = get_current_user_id(); $token = sanitize_text_field($request->get_param('token')); if ($user_id && $token) { update_user_meta($user_id, 'grobot_device_token', $token); return grobot_response('success', 'Token saved'); } return grobot_response('error', 'Missing user or token'); } // === Helper Response Format === function grobot_response($status, $message, $data = []) { return new WP_REST_Response([ 'status' => $status, 'message' => grobot_normalize_text($message), 'data' => $data ], $status === 'success' ? 200 : 400); } // === Normalize Branding === function grobot_normalize_text($text) { return str_ireplace(['Grobot', 'GroHunt.com', 'Grohunt.com'], ['grobot', 'grohunt.com', 'grohunt.com'], $text); } Tomato Ketchup
Previous
Previous Product Image

Chaat Masala

Original price was: ₹90.00.Current price is: ₹70.00.
Next

Achar (Pickles)

20.0080.00
Next Product Image

Tomato Ketchup

38.00150.00

Tomato Ketchup is a rich, smooth, and flavorful condiment made from ripe tomatoes, vinegar, sugar, and spices. It enhances the taste of snacks, burgers, fries, sandwiches, and more with its delicious sweet and tangy flavor!

Add to Wishlist
Add to Wishlist
SKU: N/A Category: Tags: , , , ,

Description

🍅 Tomato Ketchup – The Perfect Blend of Sweet & Tangy!

Made from 100% Fresh Tomatoes – Crafted using the finest, juicy tomatoes.
Perfect Balance of Sweet & Tangy – A delightful taste to complement all snacks.
Thick & Smooth Texture – Ideal for dipping, spreading, and cooking.
No Artificial Colors or Preservatives – Pure, hygienic, and natural ingredients.
Versatile Usage – Goes well with fries, burgers, sandwiches, samosas, and more!

🛍️ Bring Home the Zesty Goodness of Tomato Ketchup! 🍟✨

Craving that classic, rich, and flavorful touch for your snacks? Our Tomato Ketchup is made from 100% real tomatoes, blended with just the right amount of spices, vinegar, and sweetness to give you the ultimate taste experience. Whether you’re dipping, spreading, or cooking, it’s the perfect companion for every meal!

Why Choose Our Tomato Ketchup?
Rich & Authentic Flavor – Sweet, tangy, and irresistibly tasty!
Premium Quality Ingredients – No artificial colors or harmful preservatives.
Perfectly Thick & Smooth – Ideal for dipping and spreading.
Multipurpose Use – Complements snacks, fast food, and even homemade recipes!

🍔 Best Enjoyed With:
🍟 French Fries | 🌭 Burgers | 🥪 Sandwiches | 🍕 Pizzas | 🍿 Pakoras

🌟 Make Every Bite More Flavorful – Try It Now! 😍

Additional information

qty

1 litre, 250 ml, 500 ml

Reviews

There are no reviews yet.

Be the first to review “Tomato Ketchup”

Your email address will not be published. Required fields are marked *

Shopping cart

1

Subtotal: 50.00

View cartCheckout