How to build: business
implemented User App /business — list, create, edit, view.
This is the digital storefront identity (name, logo, address, contact). Guests do not hit this screen; they hit Front-facing browse menu.
List my businesses → Create (logo upload + entity) → Edit → attach menus1. List businesses
Core Backend · winnerimplemented
Call this API
GET https://backend-test.nellalink.com/public/api/v1/nellalink/smart-meta-manager/entity/nellalink_business?owned_by={userUuid}&page=1&per_page=100&sort_by=uuid&sort_order=asc
Headers: x-api-key. Prefer also Authorization: Bearer so Core can match owned_by to the token.
2. Upload logo (before or with create)
Middleware Backend · winnerimplemented
Call this API
POST https://middleware-dev.nellalink.com/api/v1/nellalink/file-manager/aws/upload-url
Then PUT the file to the presigned S3 URL. Store the public object URL as entity_featured_url. Details: file upload.
3. Create business
Core Backend · winnerimplemented
Call this API
POST https://backend-test.nellalink.com/public/api/v1/nellalink/smart-meta-manager/entity/nellalink_business
Headers
x-api-key: {API_KEY}
Authorization: Bearer {access_token}
Content-Type: application/jsonRequest
{
"request_id": "1710000000000",
"meta_key": "Ada Kitchen",
"meta_value": "",
"title_name": "Ada Kitchen",
"description": "Neighborhood cafe",
"entity_featured_url": "https://example-bucket.s3.eu-west-1.amazonaws.com/logo.jpg",
"status": "enabled",
"owned_by": "{userUuid-from-JWT}",
"extra_data": {
"business_address": "12 Market Street",
"contact_email": "[email protected]",
"enable_on_portal_listing": true,
"country_of_registration": "Nigeria"
}
}owned_by must be the JWT user. Core should reject a mismatched body uuid (IDOR).
Update: PUT .../entity/nellalink_business/{uuid} with the same shape.
Metadata: glossary · nellalink_business.extra_data.
Next: Digital menu and QR.