Microsoft Business Central Mobile API Development

Job ID: 39581808

Budget: $250 – $750 CAD

The following API endpoints are required from the Microsoft Business Central backend to support the Encore mobile application’s full functionality. All endpoints must use RESTful architecture, JSON payloads, and HTTPS. To comply with Apple App Store and Google Play Store requirements, certain endpoints (e.g., item search, top items) must be accessible to guest users without authentication to allow limited app exploration before login. This list provides function names and endpoint URLs for all app modules, ensuring seamless integration with the Flutter front-end. Payment-related endpoints are excluded, as payments are not part of the initial release.

Guest-Accessible Endpoints
To meet App Store and Play Store guidelines, the following endpoints must be accessible without authentication to allow guest users to browse basic app content:
1. Search Items - GET /api/items/search
o Enables searching items by query (e.g., "gypsum" for drywall) or category.
2. Get Top Items - GET /api/items/top
o Returns the top 10 popular items based on sales or trends.
Authentication Module
3. Login - POST /api/auth/login
o Authenticates users with provided credentials.
4. Forgot Password - POST /api/auth/forgot-password
o Initiates password reset via email or SMS.
Home Screen Module
5. Get Favorite Items - GET /api/users/{user_id}/favorites
o Retrieves a user’s favorite items (authenticated).
Order Screen Module
6. Check Inventory - POST /api/inventory/check
o Validates item availability by location and item.
7. Get Ship-To Locations - GET /api/users/{user_id}/ship-to-locations
o Retrieves a user’s predefined ship-to locations (authenticated).
8. Add Ship-To Location - POST /api/users/{user_id}/ship-to-locations
o Adds a new ship-to location for delivery (authenticated).
9. Create Order - POST /api/orders
o Submits a new order with items, delivery/pick-up details, and QR code for pick-up (authenticated).
Confirmation Screen Module
10. Get All Orders - GET /api/users/{user_id}/orders
o Retrieves a list of all orders for a user (authenticated).
11. Get Single Order Details - GET /api/orders/{order_id}
o Retrieves details for a specific order, including PDF (authenticated).
Request Screen Module
12. Request Date/Time Change - POST /api/orders/{order_id}/request-change
o Submits a request to modify delivery/pick-up date and time (authenticated).
Order Tracking Screen Module
13. Track Order - GET /api/orders/{order_id}/tracking
o Provides real-time tracking data for delivery orders (authenticated, optional).
Account Screen Module
14. Get Logged In User Details - GET /api/users/{user_id}
o Retrieves details for the logged-in user (e.g., name, contact info, authority level) (authenticated).
15. Get Account Details - GET /api/users/{user_id}/account
o Retrieves account information (e.g., statements, payment history, job locations) (authenticated).
16. Add Job Location - POST /api/users/{user_id}/job-locations
o Adds a new job location for the user (authenticated).
Notifications Module
17. Get Notifications - GET /api/users/{user_id}/notifications
o Retrieves a list of user notifications (e.g., order updates, low stock alerts) (authenticated).
Additional Notes
• Authentication Mechanism: The backend must confirm the authentication method for protected routes (e.g., Bearer token, OAuth 2.0, or custom headers). Please specify token generation, expiration, and refresh processes to ensure secure access to authenticated endpoints.
• Push Notifications: The backend should clarify how push notifications will be handled for events like order confirmations, low stock alerts, or date change approvals. Options include triggering notifications via Firebase Cloud Messaging (FCM), Business Central event-driven webhooks, or another service. Please confirm the preferred method and provide any necessary endpoints or tokens (e.g., FCM server key) for integration.
• Inventory Check Details: The inventory check endpoint must support queries by both location (nearest warehouse) and specific item IDs, returning availability and suggested alternatives if stock is low.
• Guest Access Compliance: Guest-accessible endpoints (Search Items, Get Top Items) are critical to meet App Store and Play Store requirements, ensuring users can explore the app before logging in.
• Scalability: Endpoints should support pagination (e.g., for search, orders, notifications) and rate limiting to handle high traffic efficiently.