Posted 4 Days Ago Job ID: 2102780 23 quotes received

Prestashop Developments - API & modules

Fixed Price
Quotes (23)  ·  Premium Quotes (1)  ·  Invited (4)  ·  Hired (0)

  Send before: March 16, 2025

Send a Quote

Programming & Development Web Development & Design

Please indicate a total package price. Other proposals will not be considered. 

Context

The project involves developing and integrating several modules for a PrestaShop store specializing in precious metals sales (gold, silver, platinum, palladium). The objective is to provide an optimal user experience, dynamic pricing based on real-time metal prices, and advanced features for customers and administrators.

All developed elements must perfectly align with the existing website's graphic charter, and the site must maintain a fast loading time (less than 3 seconds).

1. Integration of a Third-Party API for Precious Metal Prices

The objective of this phase is to install and configure a third-party API to retrieve real-time prices for the following precious metals: gold, silver, platinum, and palladium.

📄 API Documentation

Detailed documentation is provided for using the API (see attached document "Reseller.API.doc"). This API offers REST endpoints to retrieve price data in different currencies and from several sources.

✅ Tasks to Complete

  1. Implement a periodic update system:
    • Define an optimal refresh frequency considering API call limits.
    • Store retrieved data in a database or cache to avoid excessive calls.
  2. Expose data internally:
    • Create an internal endpoint or service for easy access to retrieved data.
    • Ensure compatibility with other modules using this information.

⚠️ Constraints and Recommendations

  • Respect API call limitations (e.g., rate limit of 1000 requests/day).
  • Implement a cache system to limit API usage.
  • Manage API errors and unavailability by providing fallback solutions (e.g., saving the last valid rates).
  • Ensure a fast response time to avoid slowing down the site.
  • Secure API calls with authentication keys and use HTTPS.

The next project phases will depend on the successful integration of this API.

2. Metal Price Update Banner (Top Header)

Objective: Display real-time precious metal prices (gold, silver, platinum, palladium) with their respective variations.

Technical Specifications:

  • Integration of a third-party API (e.g., https://www.goldavenue.com/) to retrieve real-time metal prices.
  • Display of prices in a banner at the top of each page of the site.
  • Automatic price updates every 60 seconds (configurable).
  • Display of percentage variations (positive in green, negative in red).
  • Implementation of a fallback in case of API error (display of the last available prices).

✅ Tasks to Complete

  1. Design the banner:
    • Define a design consistent with the graphic charter.
    • Ensure smooth and non-intrusive integration.
  2. Optimize performance:
    • Use asynchronous loading to avoid slowdowns.
    • Implement a temporary cache of retrieved data.
  3. Test and validate:
    • Verify display on desktop, mobile, and tablet.
    • Test data updates and interface responsiveness.

Constraints:

  • The banner must be responsive and adapt to all devices (desktop, tablet, mobile).
  • The solution must be lightweight to avoid impacting site performance.
  • Updates must be smooth without complete page reload.
  • The module must be compatible with other site elements (no interference with other scripts or plugins).

3. Development of Dynamic Pricing

Objective: Enable dynamic product pricing based on several criteria, particularly metal prices.

Technical Specifications:

  • Creation of a dynamic pricing module based on 7 criteria:
    1. Metal (gold, silver, platinum, palladium).
    2. Weight (in grams, ounces, etc.).
    3. Metal content (e.g., 24 karat, 18 karat).
    4. Purity (e.g., 99.9%).
    5. VAT (variable rate depending on the country).
    6. Manufacturing price (transformation cost).
    7. Professional margin (fixed or variable margin).

4. Creation of a Customized Client Dashboard

Objective: Provide customers with a personalized space to track their investments and orders.

Technical Specifications:

  • Order history: Display of past orders with details (date, amount, status, etc.).
  • Purchase portfolio: Visualization of purchased metals with their weight, purity, and purchase price.
  • Investment value: Calculation and display of the current portfolio value based on real-time metal prices.
  • Portfolio variation: Display of positive or negative variation based on purchase price and current price (in percentage and absolute value).

Constraints:

  • The dashboard must be accessible from the PrestaShop customer account.
  • Data must be updated in real-time (or near real-time) via the metal price API.

5. Sales Module for Clients

Objective: Allow customers to initiate a request to sell their metals directly from their customer account.

Technical Specifications:

  • Addition of a "Sell" button on the product page.
  • Display of the selling price based on the current metal price.
  • Sales request form with the following fields:
    • Metal weight.
    • Metal type.
    • Customer contact information.
  • Request validation by the administrator via the backoffice:
    • Ability to adjust the selling price.
    • Ability to reject the request with reason.
  • Automated email notifications:
    • Notification to the customer upon request submission.
    • Notification to the customer upon validation or rejection of the request.
    • Notification to the administrator upon submission of a new request.

Constraints:

  • The module must be smoothly integrated into the existing interface.
  • Notifications must be configurable from the backoffice (content, recipients, etc.).

6. Automatic Product Price Updates

Objective: Automatically update product prices based on the spot price of precious metals.

Technical Specifications:

  • Integration of the metal price API to retrieve spot prices.
  • Automatic product price updates every X minutes (configurable).
  • Price gap management (e.g., if the price varies by more than X%, an alert is sent to the administrator).

Constraints:

  • Price updates must not impact site performance.
  • Old prices must be saved in a history for reference.


7. Storage Options at Checkout

Objective: Offer two storage options to customers during checkout.

Technical Specifications:

  • Free port: Secure storage option in a fiscal warehouse.
  • Home delivery: Standard delivery option with tracking.
  • Display of options at checkout with associated costs.

Constraints:

  • Options must be configurable from the backoffice (activation/deactivation, costs, etc.).

8. Perishable Orders for Wire Transfer Payments

Objective: Manage unpaid orders within a 48-hour timeframe.

Technical Specifications:

  • Customer notification at checkout that the order is perishable (explanation + 48h countdown).
  • Administrator notification by email when a perishable order is created.
  • Automatic cancellation of unpaid orders after 48 hours.
  • Ability to manually extend the deadline from the backoffice.

Constraints:

  • The system must be robust and handle customers' time zones.

9. KYC (Know Your Customer) Form

Objective: Implement a KYC form for transactions exceeding €10,000 or cumulative over a calendar year.

Technical Specifications:

  • Automatic triggering of the KYC form when a customer's cumulative purchases exceed €10,000 in the calendar year.
  • Creation of a dedicated page for document submission (ID card, passport, etc.).
  • Backoffice interface for verification and approval of documents by administrators.
  • Customer notification once KYC is approved or rejected.

Constraints:

  • The system must comply with current regulations (e.g., GDPR).
  • Documents must be stored securely.

10. Design and Integration

Objective: Ensure smooth integration and consistent design with existing elements.

Technical Specifications:

  • Respect for existing design (colors, fonts, etc.).
  • Responsive integration for all devices.
  • Performance optimization (loading time, etc.).

11. Testing and Validation

Objective: Ensure the quality and stability of developed features.

Technical Specifications:

  • Unit and functional tests for each module.
  • Performance tests to ensure real-time updates do not impact site performance.
  • Validation by the business team before production deployment.

12. Expected Deliverables

  • Commented and documented source code.
  • Technical documentation for each module.
  • User documentation for administrators and customers.
  • Deployment plan and rollback in case of error.
... Show more
Nathalie D Andorra