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:

AudienceURL PrefixRoute File
Customer App / Storefront/api/v1/customerroutes/api/v1/customer.php
Deliveryman App/api/v1/delivery-manroutes/api/v1/deliveryman.php
Admin Panel/api/v1/adminroutes/api/v1/admin.php
Payment gateway redirects/payment-gatewayroutes/payment.php
Base URL:   https://yourdomain.com/api/v1
Format:     JSON (request and response)
Auth:       Bearer JWT β€” Authorization: Bearer {token}
ℹ️
In the tables below, the Auth column means: Public β€” no token required; JWT β€” requires a valid 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}
⚠️
The 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

HeaderValueRequired
AuthorizationBearer {token}On protected (JWT) routes
Content-Typeapplication/jsonOn POST / PUT / PATCH
Acceptapplication/jsonRecommended on every call
X-localizationen / bn / hi / ar / esOptional β€” 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

CodeMeaningTypical cause
200OKSuccessful GET / PUT / PATCH / DELETE
201CreatedSuccessful POST that created a record
401UnauthorizedMissing, invalid, or expired JWT token
403ForbiddenAuthenticated but lacks the RBAC permission
404Not FoundResource or route does not exist
422Unprocessable EntityValidation failed β€” inspect the errors object
429Too Many RequestsRate limit exceeded β€” retry after a delay
500Server ErrorCheck 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

MethodEndpointDescriptionAuth
POST/customer/auth/signupRegister a new customer accountPublic
POST/customer/auth/loginEmail/phone + password login β†’ JWTPublic
POST/customer/auth/send-login-otpSend a one-time login code via SMSPublic
POST/customer/auth/verify-login-otpVerify the login OTP β†’ JWTPublic
POST/customer/auth/verify-firebase-phoneVerify a Firebase phone-auth ID token β†’ JWTPublic
POST/customer/auth/check-user-existsCheck whether an email/phone is already registeredPublic
POST/customer/auth/forgot-passwordSend a password-reset OTPPublic
POST/customer/auth/verify-otpVerify the password-reset OTPPublic
POST/customer/auth/reset-passwordSet a new password after OTP verificationPublic
POST/customer/auth/googleSocial login with a Google ID tokenPublic
POST/customer/auth/facebookSocial login with a Facebook access tokenPublic
POST/customer/auth/appleSocial login with an Apple identity tokenPublic
POST/customer/auth/refreshExchange a valid token for a fresh oneJWT
POST/customer/auth/logoutInvalidate the current tokenJWT

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.

MethodEndpointDescriptionAuth
POST/customer/location/resolveResolve coordinates to the serving delivery hub/zonePublic
GET/customer/itemsPaginated product list (filter/sort query params)Public
GET/customer/items/{id}/showProduct detail by IDPublic
GET/customer/items/{slug}/show-by-slugProduct detail by SEO slugPublic
GET/customer/items/category/{categoryId}Products belonging to a categoryPublic
GET/customer/items/searchKeyword search with autocomplete supportPublic
GET/customer/items/featuredFeatured productsPublic
GET/customer/items/popularPopular productsPublic
GET/customer/items/recommendedPersonalized recommendationsPublic
GET/customer/items/recently-viewedRecently viewed products for this user/guestPublic
GET/customer/items/frequently-purchasedFrequently purchased productsPublic
GET/customer/categoriesCategory treePublic
GET/customer/categories/{id}/showCategory detailPublic
GET/customer/categories/{id}/sub-categoriesSub-categories of a categoryPublic
GET/customer/categories/featuredFeatured categoriesPublic
GET/customer/categories/popularPopular categoriesPublic
GET/customer/brandsBrand listPublic
GET/customer/brands/popularPopular brandsPublic
GET/customer/flash-salesActive flash-sale campaigns with itemsPublic
GET/customer/labelsProduct labels (New, Best Seller, …)Public
GET/customer/common-conditionsCommon conditions (Pharmacy module)Public
GET/customer/faqsFAQ listPublic
GET/customer/faqs/{id}/showSingle FAQ entryPublic
GET/customer/faqs/categoriesFAQ categoriesPublic

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.

MethodEndpointDescriptionAuth
GET/customer/cartGet the current cart with totalsPublic
POST/customer/cartAdd an item (with variation/add-ons) to the cartPublic
PUT/customer/cart/{id}/quantityChange quantity of a cart linePublic
PUT/customer/cart/{id}Replace a cart line (variation, add-ons)Public
DELETE/customer/cart/{id}Remove a cart linePublic
GET/customer/cart/countNumber of items in the cart (badge counter)Public
GET/customer/couponsAvailable couponsPublic
GET/customer/coupons/{id}/showCoupon detailPublic
POST/customer/coupons/applyApply a coupon code to the cartPublic
DELETE/customer/coupons/removeRemove the applied couponPublic
GET/customer/checkoutCheckout summary (items, charges, totals)Public
POST/customer/checkout/apply-delivery-chargeCalculate the delivery charge for an addressPublic
POST/customer/checkout/place-orderPlace the order (returns payment redirect for online gateways)Public

Account β€” Orders, Profile, Wallet & More (Protected)

MethodEndpointDescriptionAuth
GET/customer/ordersThe customer's orders (paginated)JWT
GET/customer/orders/historyCompleted order historyJWT
GET/customer/orders/{id}/showOrder detail with items and status timelineJWT
PUT/customer/orders/{id}/cancelCancel an order (while still cancellable)JWT
GET/customer/orders/{id}/trackLive order tracking (status + deliveryman location)Public
GET/customer/orders/{id}/invoiceOrder invoice (PDF-ready payload)Public
GET/customer/refund-requestsThe customer's refund requestsJWT
POST/customer/refund-requestsOpen a refund request for a delivered orderJWT
GET/customer/refund-requests/{id}/showRefund request detailJWT
PUT/customer/refund-requests/{id}/cancelWithdraw a refund requestJWT
GET/customer/profileProfile of the logged-in customerJWT
PUT/customer/profileUpdate name, photo, contact detailsJWT
PUT/customer/profile/fcm-tokenRegister the device's FCM push tokenJWT
PUT/customer/profile/change-passwordChange the account passwordJWT
DELETE/customer/profile/delete-accountPermanently delete the account (store-compliance)JWT
GET/customer/profile/settingsNotification / marketing preference settingsJWT
PUT/customer/profile/settingsUpdate preference settingsJWT
GET/customer/addressesSaved delivery addressesJWT
POST/customer/addressesAdd a delivery addressJWT
GET/customer/addresses/{id}/showAddress detailJWT
PUT/customer/addresses/{id}Update an addressJWT
DELETE/customer/addresses/{id}Delete an addressJWT
GET/customer/wallet/showWallet balance and transactionsJWT
POST/customer/wallet/add-moneyTop up the wallet via a payment gatewayJWT
GET/customer/loyalty-points/configLoyalty program rules (earn/redeem rates)JWT
GET/customer/loyalty-points/historiesPoints earned/redeemed historyJWT
POST/customer/loyalty-points/redeemConvert points to wallet creditJWT
GET/customer/wishlistWishlist itemsJWT
POST/customer/wishlistAdd a product to the wishlistJWT
DELETE/customer/wishlist/{id}Remove one item (or /all to clear)JWT
GET/customer/reviewsThe customer's product reviewsJWT
POST/customer/reviewsSubmit a review for a purchased productJWT
GET/customer/reviews/{id}/showReview detailJWT
PUT/customer/reviews/{id}Edit a reviewJWT
DELETE/customer/reviews/{id}Delete a reviewJWT
GET/customer/notificationsIn-app notification listJWT
GET/customer/notifications/unreadUnread notification countJWT
PUT/customer/notifications/{id}/readMark one notification readJWT
PUT/customer/notifications/mark-all-readMark all notifications readJWT
DELETE/customer/notifications/{id}Delete one (or /clear-all for all)JWT
GET/customer/notifications/preferencesPer-channel notification preferencesJWT
PUT/customer/notifications/preferencesUpdate notification preferencesJWT
GET/customer/chatsSupport chat conversationsJWT
POST/customer/chatsStart a new support chatJWT
GET/customer/chats/{id}Conversation detailJWT
GET/customer/chats/{id}/messagesMessages in a conversation (paginated)JWT
POST/customer/chats/{id}/messagesSend 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.

MethodEndpointDescriptionAuth
GET/customer/app-screen/configStartup config: business info, currency, active modules, feature flagsPublic
GET/customer/app-screen/homeComposed home payload: banners, categories, featured rails, flash dealsPublic
GET/customer/app-screen/item-contentItem-detail supporting contentPublic
GET/customer/app-screen/special-offerSpecial-offer campaign payloadPublic
GET/customer/app-screen/geo-code-reverseReverse-geocode coordinates β†’ address (Maps proxy)Public
GET/customer/app-screen/place-autocompleteAddress autocomplete suggestions (Maps proxy)Public
GET/customer/app-screen/map-place-detailsPlace details for a suggestion (Maps proxy)Public
GET/customer/app-screen/map-directionRoute polyline between two points (Maps proxy)Public
GET/customer/app-screen/about /terms /privacy /refund-policy /cancel-policyCMS content pages managed in the admin panelPublic
GET/customer/app-screen/support /faqs /contactSupport info, FAQ payload, contact pagePublic
POST/customer/app-screen/contact-submitSubmit the contact formPublic

Deliveryman API β€” /api/v1/delivery-man

Consumed by the Flutter Deliveryman App.

Authentication

MethodEndpointDescriptionAuth
POST/delivery-man/auth/signupDeliveryman self-registration (pending admin approval)Public
POST/delivery-man/auth/loginEmail/phone + password login β†’ JWTPublic
POST/delivery-man/auth/send-login-otpSend a one-time login codePublic
POST/delivery-man/auth/verify-login-otpVerify the login OTP β†’ JWTPublic
POST/delivery-man/auth/forgot-passwordSend a password-reset OTPPublic
POST/delivery-man/auth/verify-otpVerify the reset OTPPublic
POST/delivery-man/auth/reset-passwordSet a new passwordPublic
POST/delivery-man/auth/refreshRefresh the JWTJWT
POST/delivery-man/auth/logoutInvalidate the tokenJWT

Work & Account

MethodEndpointDescriptionAuth
GET/delivery-man/dashboardEarnings summary, delivery stats, assigned-order countsJWT
GET/delivery-man/ordersCurrently assigned ordersJWT
GET/delivery-man/orders/historyCompleted delivery historyJWT
GET/delivery-man/orders/{id}/showOrder detail: customer, address, items, paymentJWT
PUT/delivery-man/orders/{id}/statusAdvance the order stage (Picked Up β†’ Delivered, …)JWT
GET/delivery-man/reviewsRatings the deliveryman has receivedJWT
GET/delivery-man/profileProfile detailJWT
PUT/delivery-man/profileUpdate profile / photoJWT
PUT/delivery-man/profile/change-passwordChange passwordJWT
PUT/delivery-man/profile/fcm-tokenRegister the device's FCM push tokenJWT
DELETE/delivery-man/profile/delete-accountDelete the accountJWT
GET / PUT/delivery-man/profile/settingsRead / update in-app preference settingsJWT
GET/delivery-man/chatsChat conversations with admin supportJWT
POST/delivery-man/chatsStart a chatJWT
GET/delivery-man/chats/{id}Conversation detailJWT
GET / POST/delivery-man/chats/{id}/messagesRead / send messagesJWT
GET/delivery-man/notificationsNotification list (/unread for the badge count)JWT
PUT/delivery-man/notifications/{id}/readMark read (/mark-all-read for all)JWT
DELETE/delivery-man/notifications/{id}Delete one (/clear-all for all)JWT
GET / PUT/delivery-man/notifications/preferencesRead / update notification preferencesJWT

Config & Maps Proxy

MethodEndpointDescriptionAuth
GET/delivery-man/configStartup configuration for the appPublic
GET/delivery-man/config/geo-code-reverseReverse-geocode (Maps proxy)Public
GET/delivery-man/config/place-autocompleteAddress autocomplete (Maps proxy)Public
GET/delivery-man/config/map-place-detailsPlace details (Maps proxy)Public
GET/delivery-man/config/map-directionNavigation route to the delivery address (Maps proxy)Public
GET/delivery-man/config/terms /contact /supportTerms, contact, and support contentPublic

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

MethodEndpointDescriptionAuth
POST/admin/auth/loginAdmin/employee login (returns a 2FA challenge when enabled)Public
POST/admin/auth/verify-2faVerify the TOTP code β†’ JWTPublic
POST/admin/auth/refresh / /admin/auth/logoutRefresh / invalidate the tokenJWT
GET/admin/dashboardKPI cards, order status overview, sales trendJWT
GET/admin/analyticsSales / category / user-activity analyticsJWT + RBAC

Order Management

MethodEndpointDescriptionAuth
GET/admin/ordersOrder list with status filters (/recent for latest)JWT + RBAC
GET/admin/orders/{id}Full order detailJWT + RBAC
GET/admin/orders/customer/{customerId}All orders of one customerJWT + RBAC
PATCH/admin/orders/{id}/statusAdvance / change the order stageJWT + RBAC
PATCH/admin/orders/{id}/payment-statusMark paid / unpaidJWT + RBAC
PUT/admin/orders/{id}/address /customer /note /itemsEdit delivery address, customer info, note, or line itemsJWT + RBAC
POST/admin/orders/{id}/assign-deliveryman / /unassign-deliverymanAssign or unassign a deliverymanJWT + RBAC
POST/admin/orders/{id}/cancel / /refund / /reject-refundCancel, refund, or reject a refund requestJWT + RBAC
POST/admin/orders/bulk-actionBulk status / export operationsJWT + RBAC
GET/admin/refund-requests (+ /{id}, PATCH /{id}/status)Review and resolve refund requestsJWT + 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:

ResourceBase PathExtra endpoints
Products/admin/itemPUT /{id}/status, PUT /{id}/price, PUT /{id}/stock
Categories/admin/categoryPUT /{id}/status
Sub-categories/admin/sub-categoryβ€”
Brands/admin/brandPUT /{id}/status
Companies (Pharmacy)/admin/companyPUT /{id}/status
Labels/admin/labelPUT /{id}/status
Add-ons/admin/addonPUT /{id}/status
Delivery zones/admin/zonePUT /{id}/status
Taxes/admin/taxPUT /{id}/status
Currencies/admin/currencyPUT /{id}/status

User Management

MethodEndpointDescriptionAuth
GET / POST/admin/users/customersList / create customers (+ GET/PUT/DELETE /{id}, POST /bulk-action)JWT
GET / POST/admin/users/delivery-manList / create deliverymen (+ CRUD, bulk, PUT /{id}/working-hours)JWT
GET / POST/admin/users/employeesList / create employees (+ CRUD, bulk, PUT /{id}/role for RBAC)JWT

Settings & Integrations

MethodEndpointDescriptionAuth
GET / PUT/admin/business/setupBusiness identity: name, logo, favicon, colors, address (GET /business/countries for the country list)JWT
GET / POST/admin/website-setupsStorefront content: banners, sections, footer, social linksJWT
GET / POST/admin/login-settingsLogin methods: email, OTP, social providersJWT
GET / POST/admin/payment-options-setupCash on delivery / digital payment togglesJWT
GET/admin/payment-gateways (+ /active)Payment gateway list and active setJWT
POST/admin/payment-gateways/update-settingsSave gateway API keys (+ PUT /{id}/status to enable)JWT
GET/admin/sms-gatewaysSMS gateway list (+ per-gateway PUT …/update-gateway-settings, PATCH …/status)JWT
GET / POST/admin/firebase-setup (+ POST /{service})Firebase service-account & push credentialsJWT
GET / POST/admin/push-notification-setupPush notification message templatesJWT
GET / POST/admin/social-media-setup (+ PUT /{service}/status)Social login provider credentialsJWT
GET/admin/third-party-setups (+ /active, POST /{service}, PUT /{service}/status)Google Maps key, reCAPTCHA, analytics and other third-party servicesJWT
GET / POST/admin/order-setupOrder rules: scheduling, cancellation window, delivery verificationJWT
GET / POST/admin/delivery-charge-setupDelivery charge rules per zone / distanceJWT
GET / POST/admin/cookies-setupCookie-consent banner configurationJWT
GET / POST/admin/marketing-tools (+ POST /{service})Sales popups and marketing tool configurationJWT
GET / PUT / POST / DELETE/admin/environment/variablesIn-app .env editor (+ GET /environment/backups)JWT
POST/admin/cache/clearClear the application cacheJWT + RBAC

Communication

MethodEndpointDescriptionAuth
GET / POST/admin/chats (+ GET /{id}, GET/POST /{id}/messages)Live chat with customers and deliverymenJWT + RBAC
GET/admin/customer-supportCustomer support inboxJWT + RBAC
GET / POST/admin/notificationsPush 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 bookmarksJWT + 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.

GatewayCheckoutReturn 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
ℹ️
Gateway API keys are entered in Admin Panel β†’ Settings β†’ 3rd Party β†’ Payment Gateways β€” never hard-code them. Only gateways toggled active there are offered to customers at checkout. Each gateway controller lives in 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.

ServiceUsed forConfigured atCode 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
⚠️
Third-party service costs are not included with the product license. Google Maps Platform and Firebase require a Google Cloud billing account (both have free tiers), SMS gateways charge per message, payment gateways charge per-transaction fees, and publishing the apps requires Google Play ($25 one-time) and Apple Developer ($99/year) accounts. Review each provider's pricing before going live.

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.

  1. Import the collection In Postman: File β†’ Import and select postman-collection.json from the Admin and Web Install folder. (Insomnia and Bruno can import the same file.)
  2. Set the base URL variable Point the collection's base_url variable at your installation, e.g. https://yourdomain.com.
  3. Authenticate once Run the login request for the audience you are testing (customer, deliveryman, or admin) and copy the returned token into 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.