Overview
This page is the developer reference for the DayOneMart REST API β the single integration surface shared by the Customer App, the Deliveryman App, and the Vue-based Admin Panel. Every endpoint listed below is registered in the Laravel route files that ship with the product, so you can verify each one directly in the source:
| Audience | URL Prefix | Route File |
|---|---|---|
| Customer App / Storefront | /api/v1/customer | routes/api/v1/customer.php |
| Deliveryman App | /api/v1/delivery-man | routes/api/v1/deliveryman.php |
| Admin Panel | /api/v1/admin | routes/api/v1/admin.php |
| Payment gateway redirects | /payment-gateway | routes/payment.php |
Base URL: https://yourdomain.com/api/v1
Format: JSON (request and response)
Auth: Bearer JWT β Authorization: Bearer {token}
Authorization: Bearer token;
JWT + RBAC β requires a token and the listed employee permission.
All paths are relative to https://yourdomain.com/api/v1 unless noted otherwise.
Authentication (JWT)
The API uses JWT bearer tokens issued by tymon/jwt-auth. Each
audience (customer, deliveryman, admin) obtains a token from its own login endpoint and sends it
on every protected request.
1. Log in to obtain a token
POST /api/v1/customer/auth/login
Content-Type: application/json
{
"email": "customer@example.com",
"password": "secret123"
}
2. Response
{
"success": true,
"message": "Login successful",
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"token_type": "bearer",
"expires_in": 3600,
"user": { "id": 12, "name": "Jane Doe", "email": "customer@example.com" }
}
}
3. Call protected endpoints with the token
GET /api/v1/customer/orders Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
4. Refresh before expiry, log out to invalidate
POST /api/v1/customer/auth/refresh Authorization: Bearer {current_token}
POST /api/v1/customer/auth/logout Authorization: Bearer {current_token}
JWT_SECRET in .env signs every token. It is generated once with
php artisan jwt:secret during installation. Changing it invalidates all issued
tokens and force-logs-out every app user.
Request Headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer {token} | On protected (JWT) routes |
Content-Type | application/json | On POST / PUT / PATCH |
Accept | application/json | Recommended on every call |
X-localization | en / bn / hi / ar / es | Optional β localizes response messages |
Response Format
Every endpoint returns the same JSON envelope, so clients can parse responses uniformly:
// Success
{ "success": true, "message": "...", "data": { ... } }
// Paginated list
{ "success": true, "data": [ ... ],
"meta": { "current_page": 1, "last_page": 5, "per_page": 20, "total": 92 } }
// Validation / error
{ "success": false, "message": "The given data was invalid.",
"errors": { "email": ["The email field is required."] } }
HTTP Status Codes
| Code | Meaning | Typical cause |
|---|---|---|
200 | OK | Successful GET / PUT / PATCH / DELETE |
201 | Created | Successful POST that created a record |
401 | Unauthorized | Missing, invalid, or expired JWT token |
403 | Forbidden | Authenticated but lacks the RBAC permission |
404 | Not Found | Resource or route does not exist |
422 | Unprocessable Entity | Validation failed β inspect the errors object |
429 | Too Many Requests | Rate limit exceeded β retry after a delay |
500 | Server Error | Check storage/logs/laravel.log on the server |
Customer API β /api/v1/customer
Consumed by the Flutter Customer App and the web storefront.
The Flutter app declares each of these paths as a constant in
lib/config/util/app_constants.dart.
Authentication
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /customer/auth/signup | Register a new customer account | Public |
POST | /customer/auth/login | Email/phone + password login β JWT | Public |
POST | /customer/auth/send-login-otp | Send a one-time login code via SMS | Public |
POST | /customer/auth/verify-login-otp | Verify the login OTP β JWT | Public |
POST | /customer/auth/verify-firebase-phone | Verify a Firebase phone-auth ID token β JWT | Public |
POST | /customer/auth/check-user-exists | Check whether an email/phone is already registered | Public |
POST | /customer/auth/forgot-password | Send a password-reset OTP | Public |
POST | /customer/auth/verify-otp | Verify the password-reset OTP | Public |
POST | /customer/auth/reset-password | Set a new password after OTP verification | Public |
POST | /customer/auth/google | Social login with a Google ID token | Public |
POST | /customer/auth/facebook | Social login with a Facebook access token | Public |
POST | /customer/auth/apple | Social login with an Apple identity token | Public |
POST | /customer/auth/refresh | Exchange a valid token for a fresh one | JWT |
POST | /customer/auth/logout | Invalidate the current token | JWT |
Catalog β Items, Categories, Brands, Offers (Public)
Catalog routes are public (no JWT required) but honor two identifying middlewares:
user.id ties guest activity (cart, recently viewed) to a device-generated guest ID,
and hub.context scopes results to the delivery hub resolved from the customer's
location.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /customer/location/resolve | Resolve coordinates to the serving delivery hub/zone | Public |
GET | /customer/items | Paginated product list (filter/sort query params) | Public |
GET | /customer/items/{id}/show | Product detail by ID | Public |
GET | /customer/items/{slug}/show-by-slug | Product detail by SEO slug | Public |
GET | /customer/items/category/{categoryId} | Products belonging to a category | Public |
GET | /customer/items/search | Keyword search with autocomplete support | Public |
GET | /customer/items/featured | Featured products | Public |
GET | /customer/items/popular | Popular products | Public |
GET | /customer/items/recommended | Personalized recommendations | Public |
GET | /customer/items/recently-viewed | Recently viewed products for this user/guest | Public |
GET | /customer/items/frequently-purchased | Frequently purchased products | Public |
GET | /customer/categories | Category tree | Public |
GET | /customer/categories/{id}/show | Category detail | Public |
GET | /customer/categories/{id}/sub-categories | Sub-categories of a category | Public |
GET | /customer/categories/featured | Featured categories | Public |
GET | /customer/categories/popular | Popular categories | Public |
GET | /customer/brands | Brand list | Public |
GET | /customer/brands/popular | Popular brands | Public |
GET | /customer/flash-sales | Active flash-sale campaigns with items | Public |
GET | /customer/labels | Product labels (New, Best Seller, β¦) | Public |
GET | /customer/common-conditions | Common conditions (Pharmacy module) | Public |
GET | /customer/faqs | FAQ list | Public |
GET | /customer/faqs/{id}/show | Single FAQ entry | Public |
GET | /customer/faqs/categories | FAQ categories | Public |
Cart, Coupons & Checkout
Cart and checkout work for both logged-in customers and guests (via the user.id
guest identifier), so a cart survives login.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /customer/cart | Get the current cart with totals | Public |
POST | /customer/cart | Add an item (with variation/add-ons) to the cart | Public |
PUT | /customer/cart/{id}/quantity | Change quantity of a cart line | Public |
PUT | /customer/cart/{id} | Replace a cart line (variation, add-ons) | Public |
DELETE | /customer/cart/{id} | Remove a cart line | Public |
GET | /customer/cart/count | Number of items in the cart (badge counter) | Public |
GET | /customer/coupons | Available coupons | Public |
GET | /customer/coupons/{id}/show | Coupon detail | Public |
POST | /customer/coupons/apply | Apply a coupon code to the cart | Public |
DELETE | /customer/coupons/remove | Remove the applied coupon | Public |
GET | /customer/checkout | Checkout summary (items, charges, totals) | Public |
POST | /customer/checkout/apply-delivery-charge | Calculate the delivery charge for an address | Public |
POST | /customer/checkout/place-order | Place the order (returns payment redirect for online gateways) | Public |
Account β Orders, Profile, Wallet & More (Protected)
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /customer/orders | The customer's orders (paginated) | JWT |
GET | /customer/orders/history | Completed order history | JWT |
GET | /customer/orders/{id}/show | Order detail with items and status timeline | JWT |
PUT | /customer/orders/{id}/cancel | Cancel an order (while still cancellable) | JWT |
GET | /customer/orders/{id}/track | Live order tracking (status + deliveryman location) | Public |
GET | /customer/orders/{id}/invoice | Order invoice (PDF-ready payload) | Public |
GET | /customer/refund-requests | The customer's refund requests | JWT |
POST | /customer/refund-requests | Open a refund request for a delivered order | JWT |
GET | /customer/refund-requests/{id}/show | Refund request detail | JWT |
PUT | /customer/refund-requests/{id}/cancel | Withdraw a refund request | JWT |
GET | /customer/profile | Profile of the logged-in customer | JWT |
PUT | /customer/profile | Update name, photo, contact details | JWT |
PUT | /customer/profile/fcm-token | Register the device's FCM push token | JWT |
PUT | /customer/profile/change-password | Change the account password | JWT |
DELETE | /customer/profile/delete-account | Permanently delete the account (store-compliance) | JWT |
GET | /customer/profile/settings | Notification / marketing preference settings | JWT |
PUT | /customer/profile/settings | Update preference settings | JWT |
GET | /customer/addresses | Saved delivery addresses | JWT |
POST | /customer/addresses | Add a delivery address | JWT |
GET | /customer/addresses/{id}/show | Address detail | JWT |
PUT | /customer/addresses/{id} | Update an address | JWT |
DELETE | /customer/addresses/{id} | Delete an address | JWT |
GET | /customer/wallet/show | Wallet balance and transactions | JWT |
POST | /customer/wallet/add-money | Top up the wallet via a payment gateway | JWT |
GET | /customer/loyalty-points/config | Loyalty program rules (earn/redeem rates) | JWT |
GET | /customer/loyalty-points/histories | Points earned/redeemed history | JWT |
POST | /customer/loyalty-points/redeem | Convert points to wallet credit | JWT |
GET | /customer/wishlist | Wishlist items | JWT |
POST | /customer/wishlist | Add a product to the wishlist | JWT |
DELETE | /customer/wishlist/{id} | Remove one item (or /all to clear) | JWT |
GET | /customer/reviews | The customer's product reviews | JWT |
POST | /customer/reviews | Submit a review for a purchased product | JWT |
GET | /customer/reviews/{id}/show | Review detail | JWT |
PUT | /customer/reviews/{id} | Edit a review | JWT |
DELETE | /customer/reviews/{id} | Delete a review | JWT |
GET | /customer/notifications | In-app notification list | JWT |
GET | /customer/notifications/unread | Unread notification count | JWT |
PUT | /customer/notifications/{id}/read | Mark one notification read | JWT |
PUT | /customer/notifications/mark-all-read | Mark all notifications read | JWT |
DELETE | /customer/notifications/{id} | Delete one (or /clear-all for all) | JWT |
GET | /customer/notifications/preferences | Per-channel notification preferences | JWT |
PUT | /customer/notifications/preferences | Update notification preferences | JWT |
GET | /customer/chats | Support chat conversations | JWT |
POST | /customer/chats | Start a new support chat | JWT |
GET | /customer/chats/{id} | Conversation detail | JWT |
GET | /customer/chats/{id}/messages | Messages in a conversation (paginated) | JWT |
POST | /customer/chats/{id}/messages | Send a message (text / attachment) | JWT |
App Screen, Content & Maps Proxy
These endpoints power the app shell: startup configuration, the home screen payload, CMS content pages, and a server-side Google Maps proxy so the Maps Platform key never has to be embedded for geocoding/directions calls.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /customer/app-screen/config | Startup config: business info, currency, active modules, feature flags | Public |
GET | /customer/app-screen/home | Composed home payload: banners, categories, featured rails, flash deals | Public |
GET | /customer/app-screen/item-content | Item-detail supporting content | Public |
GET | /customer/app-screen/special-offer | Special-offer campaign payload | Public |
GET | /customer/app-screen/geo-code-reverse | Reverse-geocode coordinates β address (Maps proxy) | Public |
GET | /customer/app-screen/place-autocomplete | Address autocomplete suggestions (Maps proxy) | Public |
GET | /customer/app-screen/map-place-details | Place details for a suggestion (Maps proxy) | Public |
GET | /customer/app-screen/map-direction | Route polyline between two points (Maps proxy) | Public |
GET | /customer/app-screen/about /terms /privacy /refund-policy /cancel-policy | CMS content pages managed in the admin panel | Public |
GET | /customer/app-screen/support /faqs /contact | Support info, FAQ payload, contact page | Public |
POST | /customer/app-screen/contact-submit | Submit the contact form | Public |
Deliveryman API β /api/v1/delivery-man
Consumed by the Flutter Deliveryman App.
Authentication
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /delivery-man/auth/signup | Deliveryman self-registration (pending admin approval) | Public |
POST | /delivery-man/auth/login | Email/phone + password login β JWT | Public |
POST | /delivery-man/auth/send-login-otp | Send a one-time login code | Public |
POST | /delivery-man/auth/verify-login-otp | Verify the login OTP β JWT | Public |
POST | /delivery-man/auth/forgot-password | Send a password-reset OTP | Public |
POST | /delivery-man/auth/verify-otp | Verify the reset OTP | Public |
POST | /delivery-man/auth/reset-password | Set a new password | Public |
POST | /delivery-man/auth/refresh | Refresh the JWT | JWT |
POST | /delivery-man/auth/logout | Invalidate the token | JWT |
Work & Account
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /delivery-man/dashboard | Earnings summary, delivery stats, assigned-order counts | JWT |
GET | /delivery-man/orders | Currently assigned orders | JWT |
GET | /delivery-man/orders/history | Completed delivery history | JWT |
GET | /delivery-man/orders/{id}/show | Order detail: customer, address, items, payment | JWT |
PUT | /delivery-man/orders/{id}/status | Advance the order stage (Picked Up β Delivered, β¦) | JWT |
GET | /delivery-man/reviews | Ratings the deliveryman has received | JWT |
GET | /delivery-man/profile | Profile detail | JWT |
PUT | /delivery-man/profile | Update profile / photo | JWT |
PUT | /delivery-man/profile/change-password | Change password | JWT |
PUT | /delivery-man/profile/fcm-token | Register the device's FCM push token | JWT |
DELETE | /delivery-man/profile/delete-account | Delete the account | JWT |
GET / PUT | /delivery-man/profile/settings | Read / update in-app preference settings | JWT |
GET | /delivery-man/chats | Chat conversations with admin support | JWT |
POST | /delivery-man/chats | Start a chat | JWT |
GET | /delivery-man/chats/{id} | Conversation detail | JWT |
GET / POST | /delivery-man/chats/{id}/messages | Read / send messages | JWT |
GET | /delivery-man/notifications | Notification list (/unread for the badge count) | JWT |
PUT | /delivery-man/notifications/{id}/read | Mark read (/mark-all-read for all) | JWT |
DELETE | /delivery-man/notifications/{id} | Delete one (/clear-all for all) | JWT |
GET / PUT | /delivery-man/notifications/preferences | Read / update notification preferences | JWT |
Config & Maps Proxy
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /delivery-man/config | Startup configuration for the app | Public |
GET | /delivery-man/config/geo-code-reverse | Reverse-geocode (Maps proxy) | Public |
GET | /delivery-man/config/place-autocomplete | Address autocomplete (Maps proxy) | Public |
GET | /delivery-man/config/map-place-details | Place details (Maps proxy) | Public |
GET | /delivery-man/config/map-direction | Navigation route to the delivery address (Maps proxy) | Public |
GET | /delivery-man/config/terms /contact /support | Terms, contact, and support content | Public |
Admin API β /api/v1/admin
Consumed by the Vue 3 Admin Panel. Every route (except login) requires a JWT issued to an admin or employee account; many are additionally guarded by RBAC permissions (shown as JWT + RBAC) so employee roles only reach what they are granted.
Authentication & Dashboard
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /admin/auth/login | Admin/employee login (returns a 2FA challenge when enabled) | Public |
POST | /admin/auth/verify-2fa | Verify the TOTP code β JWT | Public |
POST | /admin/auth/refresh / /admin/auth/logout | Refresh / invalidate the token | JWT |
GET | /admin/dashboard | KPI cards, order status overview, sales trend | JWT |
GET | /admin/analytics | Sales / category / user-activity analytics | JWT + RBAC |
Order Management
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /admin/orders | Order list with status filters (/recent for latest) | JWT + RBAC |
GET | /admin/orders/{id} | Full order detail | JWT + RBAC |
GET | /admin/orders/customer/{customerId} | All orders of one customer | JWT + RBAC |
PATCH | /admin/orders/{id}/status | Advance / change the order stage | JWT + RBAC |
PATCH | /admin/orders/{id}/payment-status | Mark paid / unpaid | JWT + RBAC |
PUT | /admin/orders/{id}/address /customer /note /items | Edit delivery address, customer info, note, or line items | JWT + RBAC |
POST | /admin/orders/{id}/assign-deliveryman / /unassign-deliveryman | Assign or unassign a deliveryman | JWT + RBAC |
POST | /admin/orders/{id}/cancel / /refund / /reject-refund | Cancel, refund, or reject a refund request | JWT + RBAC |
POST | /admin/orders/bulk-action | Bulk status / export operations | JWT + RBAC |
GET | /admin/refund-requests (+ /{id}, PATCH /{id}/status) | Review and resolve refund requests | JWT + RBAC |
Catalog Management (Standard REST Resources)
Each resource below follows the Laravel apiResource convention β
GET / (list), POST / (create), GET /{id} (show),
PUT /{id} (update), DELETE /{id} (delete) β plus the listed extras:
| Resource | Base Path | Extra endpoints |
|---|---|---|
| Products | /admin/item | PUT /{id}/status, PUT /{id}/price, PUT /{id}/stock |
| Categories | /admin/category | PUT /{id}/status |
| Sub-categories | /admin/sub-category | β |
| Brands | /admin/brand | PUT /{id}/status |
| Companies (Pharmacy) | /admin/company | PUT /{id}/status |
| Labels | /admin/label | PUT /{id}/status |
| Add-ons | /admin/addon | PUT /{id}/status |
| Delivery zones | /admin/zone | PUT /{id}/status |
| Taxes | /admin/tax | PUT /{id}/status |
| Currencies | /admin/currency | PUT /{id}/status |
User Management
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET / POST | /admin/users/customers | List / create customers (+ GET/PUT/DELETE /{id}, POST /bulk-action) | JWT |
GET / POST | /admin/users/delivery-man | List / create deliverymen (+ CRUD, bulk, PUT /{id}/working-hours) | JWT |
GET / POST | /admin/users/employees | List / create employees (+ CRUD, bulk, PUT /{id}/role for RBAC) | JWT |
Settings & Integrations
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET / PUT | /admin/business/setup | Business identity: name, logo, favicon, colors, address (GET /business/countries for the country list) | JWT |
GET / POST | /admin/website-setups | Storefront content: banners, sections, footer, social links | JWT |
GET / POST | /admin/login-settings | Login methods: email, OTP, social providers | JWT |
GET / POST | /admin/payment-options-setup | Cash on delivery / digital payment toggles | JWT |
GET | /admin/payment-gateways (+ /active) | Payment gateway list and active set | JWT |
POST | /admin/payment-gateways/update-settings | Save gateway API keys (+ PUT /{id}/status to enable) | JWT |
GET | /admin/sms-gateways | SMS gateway list (+ per-gateway PUT β¦/update-gateway-settings, PATCH β¦/status) | JWT |
GET / POST | /admin/firebase-setup (+ POST /{service}) | Firebase service-account & push credentials | JWT |
GET / POST | /admin/push-notification-setup | Push notification message templates | JWT |
GET / POST | /admin/social-media-setup (+ PUT /{service}/status) | Social login provider credentials | JWT |
GET | /admin/third-party-setups (+ /active, POST /{service}, PUT /{service}/status) | Google Maps key, reCAPTCHA, analytics and other third-party services | JWT |
GET / POST | /admin/order-setup | Order rules: scheduling, cancellation window, delivery verification | JWT |
GET / POST | /admin/delivery-charge-setup | Delivery charge rules per zone / distance | JWT |
GET / POST | /admin/cookies-setup | Cookie-consent banner configuration | JWT |
GET / POST | /admin/marketing-tools (+ POST /{service}) | Sales popups and marketing tool configuration | JWT |
GET / PUT / POST / DELETE | /admin/environment/variables | In-app .env editor (+ GET /environment/backups) | JWT |
POST | /admin/cache/clear | Clear the application cache | JWT + RBAC |
Communication
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET / POST | /admin/chats (+ GET /{id}, GET/POST /{id}/messages) | Live chat with customers and deliverymen | JWT + RBAC |
GET | /admin/customer-support | Customer support inbox | JWT + RBAC |
GET / POST | /admin/notifications | Push campaign list / create (+ DELETE /{id}, POST /bulk-action, PATCH /{id}/mark-seen, PATCH /mark-all-read) | JWT + RBAC |
GET / POST | /admin/bookmarks (+ DELETE /{id}) | Admin panel bookmarks | JWT + RBAC |
Payment Gateway Endpoints β /payment-gateway
Online payments run through hosted gateway pages. When a customer chooses digital payment, the
client opens /payment-gateway/{gateway}/checkout (the mobile apps open it in an
in-app webview), the customer pays on the gateway's page, and the gateway redirects back to the
success / cancel / callback URL, where the order's payment status is updated. These routes live
at the web root (not under /api/v1) and are CSRF-exempt so gateway
redirects always land.
| Gateway | Checkout | Return endpoints |
|---|---|---|
| Stripe | /payment-gateway/stripe/checkout | /success, /cancel |
| PayPal | /payment-gateway/paypal/checkout | /success, /cancel |
| Razorpay | /payment-gateway/razorpay/checkout | /success, /cancel |
| Flutterwave | /payment-gateway/flutterwave/checkout | /success, /cancel |
| SSLCommerz | /payment-gateway/sslcommerz/checkout | /success, /cancel (POST or GET) |
| Mercado Pago | /payment-gateway/mercadopago/checkout | /success, /cancel |
| LiqPay | /payment-gateway/liqpay/checkout | /success, /cancel |
| Paytm | /payment-gateway/paytm/checkout | /callback |
| PayTabs | /payment-gateway/paytabs/checkout | /callback |
| senangPay | /payment-gateway/senangpay/checkout | /success, /cancel |
| bKash | /payment-gateway/bkash/checkout | /callback |
| Nagad | /payment-gateway/nagad/checkout | /success, /cancel |
| Paystack | /payment-gateway/paystack/checkout | /callback |
| Paymob Accept | /payment-gateway/paymob-accept/checkout | /success, /cancel |
| Mollie | /payment-gateway/mollie/checkout | /success, /cancel |
app/Http/Controllers/Payment/ if you need to inspect or extend the flow.
Integration Points (Third-Party Services)
The platform integrates with external services at well-defined points. All credentials are entered in the Admin Panel β Settings after installation β the table shows where each integration plugs into the codebase.
| Service | Used for | Configured at | Code integration point |
|---|---|---|---|
| Firebase Cloud Messaging | Push notifications to both apps; chat and order-status alerts | Admin Panel β Settings β Firebase Setup (service-account JSON) | Backend publishes to device tokens (PUT β¦/profile/fcm-token) and topics customer-group, deliveryman-group, all-general |
| Google Maps Platform | Geocoding, autocomplete, directions, live tracking maps | Admin Panel β Settings β 3rd Party Setup (server key); app-side keys in secrets.xml / Info.plist |
Server-side proxy endpoints: β¦/app-screen/geo-code-reverse, β¦/place-autocomplete, β¦/map-place-details, β¦/map-direction |
| Payment gateways (15) | Online payment at checkout and wallet top-up | Admin Panel β Settings β Payment Gateways | routes/payment.php + app/Http/Controllers/Payment/ (see table above) |
| SMS gateways (Twilio, Vonage/Nexmo) | Login and password-reset OTP delivery | Admin Panel β Settings β SMS Gateways | OTP endpoints: β¦/auth/send-login-otp, β¦/auth/forgot-password |
| Social login (Google, Facebook, Apple) | One-tap sign-in in the customer app and storefront | Admin Panel β Settings β Social Media Setup + Firebase Authentication providers | Token-verification endpoints: /customer/auth/google, /facebook, /apple |
| Mail provider (SMTP, Mailgun, SES) | Transactional email: order confirmations, password resets, invoices | Admin Panel β Settings (mail configuration) | Mailables in app/Mail/, templates in resources/views/emails/, sent via the queue worker |
| AWS S3 (optional) | Product image and file storage instead of local disk | .env β FILESYSTEM_DISK=s3 + AWS_* keys |
Laravel filesystem abstraction β no code changes needed |
| reCAPTCHA v3 | Bot protection on admin login | Admin Panel β Settings β 3rd Party Setup | Validated in the admin login flow |
Postman Collection
A complete Postman collection ships in the Admin & Web package root as
postman-collection.json (~485 KB) with the full request/response schema β bodies,
parameters, and example responses β for every endpoint on this page.
-
Import the collection In Postman: File β Import and select
postman-collection.jsonfrom the Admin and Web Install folder. (Insomnia and Bruno can import the same file.) -
Set the base URL variable Point the collection's
base_urlvariable at your installation, e.g.https://yourdomain.com. -
Authenticate once Run the login request for the audience you are testing (customer, deliveryman, or admin) and copy the returned
tokeninto the collection's bearer-token auth so every subsequent request is authorized.
Extending the API
To add your own endpoints, follow the layered pattern used across the codebase β thin controller,
Form Request validation, business logic in a service, API Resource for the response envelope, and
a route registered in routes/api/v1/. The
Extending the Platform section of the Admin & Web
docs walks through this end-to-end with commands and code samples.
Need help? Reach us via the itemβs Support tab on CodeCanyon or dayonesoft.com or visit our website for support.