API publique V1 Sans token public Admin Sanctum

FAMECO APP API

Portail central pour explorer la documentation, comprendre les groupes de routes et lancer des tests rapides contre les endpoints FAMECO. La partie publique est alignee sur FAMECO-Public-API.postman_collection.json, avec les resumes et reponses issus de docs/api/openapi.yaml.

Routes API
135
Public
15
Admin
113
Documentation

Documentation de l'application

Acces direct au guide API FAMECO et aux informations d'integration applicative.

Mobile

Contrat mobile

Reference du contrat mobile V1 pour l'application Flutter.

OpenAPI

Specification technique

Schema OpenAPI YAML utilise comme reference des endpoints publics.

Application mobile

FAMECO Mobile

Accedez a la documentation mobile et telechargez la version de developpement Android de l'application FAMECO lorsque le fichier APK est disponible sur le serveur.

APK attendu: public/app/app-dev.apk

Selectionnez une route puis lancez le test.

API publique

15 endpoints anonymes, documentes depuis OpenAPI et testes dans Postman.

Configuration

GET /api/v1/config

Configuration publique de l'application

200 404 429
HTTP 200 JSON response

Localisation

GET /api/v1/locations/provinces

Liste des provinces actives

200 429
HTTP 200 JSON response Capture province_id
GET /api/v1/locations/communes?province_id={{province_id}}

Liste des communes actives

200 422 429
HTTP 200 JSON response Capture commune_id
GET /api/v1/locations/quartiers?commune_id={{commune_id}}

Liste des quartiers actifs

200 422 429
HTTP 200 JSON response Capture quartier_id

Stores

GET /api/v1/stores?page=1&per_page=15

Liste et recherche des points de vente

200 422 429
HTTP 200 JSON response Capture store_id
GET /api/v1/stores/{{store_id}}

Fiche publique d'un point de vente

200 404 429
HTTP 200 JSON response

Products

GET /api/v1/products?page=1&per_page=15

Catalogue public des produits FAMECO

200 422 429
HTTP 200 JSON response Capture product_id
GET /api/v1/products/{{product_id}}

Fiche publique d'un produit

200 404 429
HTTP 200 JSON response

Articles

GET /api/v1/articles?page=1&per_page=15

Actualités et promotions publiées

200 422 429
HTTP 200 JSON response Capture article_id
GET /api/v1/articles/{{article_id}}

Article ou promotion publié

200 404 429
HTTP 200 JSON response

Banners

GET /api/v1/banners

Bannieres marketing actives

200 422 429
HTTP 200 JSON response

Notifications

GET /api/v1/notifications?page=1&per_page=15

Notifications publiques visibles

200 422 429
HTTP 200 JSON response Capture notification_id
GET /api/v1/notifications/{{notification_id}}

Notification publique visible

200 404 422 429
HTTP 200 JSON response

Contact

POST /api/v1/contact

Envoyer une demande de contact publique

201 422 429
HTTP 201 JSON response

Analytics

POST /api/v1/analytics/events

Enregistrer un evenement Analytics anonyme

201 422 429
HTTP 201 JSON response

API authentification et administration

Routes Laravel detectees automatiquement. Les routes admin utilisent Sanctum et des permissions metier.

Authentification

Contrat protege

Les endpoints admin sont faits pour le back-office: utilisateurs, magasins, produits, medias, roles, permissions, parametres, notifications, contacts et analytics.

Authorization: Bearer <sanctum_token>
Auth 5
POST /api/v1/admin/auth/login

AuthController@login

GET /api/v1/admin/auth/me

AuthController@me

PATCH /api/v1/admin/auth/password

AuthController@changePassword

POST /api/v1/admin/auth/logout

AuthController@logout

POST /api/v1/admin/auth/logout-all

AuthController@logoutAll

Users 10
GET /api/v1/admin/users

UserController@index

POST /api/v1/admin/users

UserController@store

PATCH /api/v1/admin/users/{user}/activate

UserController@activate

PATCH /api/v1/admin/users/{user}/disable

UserController@disable

PATCH /api/v1/admin/users/{user}/password

UserController@changePassword

PUT /api/v1/admin/users/{user}/roles

UserController@syncRoles

PUT /api/v1/admin/users/{user}/permissions

UserController@syncPermissions

GET /api/v1/admin/users/{user}

UserController@show

PATCH /api/v1/admin/users/{user}

UserController@update

DELETE /api/v1/admin/users/{user}

UserController@destroy

Roles 6
GET /api/v1/admin/roles

RoleController@index

POST /api/v1/admin/roles

RoleController@store

PUT /api/v1/admin/roles/{role}/permissions

RoleController@syncPermissions

GET /api/v1/admin/roles/{role}

RoleController@show

PATCH /api/v1/admin/roles/{role}

RoleController@update

DELETE /api/v1/admin/roles/{role}

RoleController@destroy

Permissions 6
GET /api/v1/admin/permissions

PermissionController@index

GET /api/v1/admin/permissions/all

PermissionController@all

POST /api/v1/admin/permissions

PermissionController@store

GET /api/v1/admin/permissions/{permission}

PermissionController@show

PATCH /api/v1/admin/permissions/{permission}

PermissionController@update

DELETE /api/v1/admin/permissions/{permission}

PermissionController@destroy

Locations 15
GET /api/v1/admin/locations/provinces

ProvinceController@index

POST /api/v1/admin/locations/provinces

ProvinceController@store

GET /api/v1/admin/locations/provinces/{province}

ProvinceController@show

PATCH /api/v1/admin/locations/provinces/{province}

ProvinceController@update

DELETE /api/v1/admin/locations/provinces/{province}

ProvinceController@destroy

GET /api/v1/admin/locations/communes

CommuneController@index

POST /api/v1/admin/locations/communes

CommuneController@store

GET /api/v1/admin/locations/communes/{commune}

CommuneController@show

PATCH /api/v1/admin/locations/communes/{commune}

CommuneController@update

DELETE /api/v1/admin/locations/communes/{commune}

CommuneController@destroy

GET /api/v1/admin/locations/quartiers

QuartierController@index

POST /api/v1/admin/locations/quartiers

QuartierController@store

GET /api/v1/admin/locations/quartiers/{quartier}

QuartierController@show

PATCH /api/v1/admin/locations/quartiers/{quartier}

QuartierController@update

DELETE /api/v1/admin/locations/quartiers/{quartier}

QuartierController@destroy

Partners 7
GET /api/v1/admin/partners

PartnerController@index

POST /api/v1/admin/partners

PartnerController@store

PATCH /api/v1/admin/partners/{partner}/activate

PartnerController@activate

PATCH /api/v1/admin/partners/{partner}/disable

PartnerController@disable

GET /api/v1/admin/partners/{partner}

PartnerController@show

PATCH /api/v1/admin/partners/{partner}

PartnerController@update

DELETE /api/v1/admin/partners/{partner}

PartnerController@destroy

Stores 12
POST /api/v1/admin/stores/import

StoreImportController@store

GET /api/v1/admin/stores/import-template

StoreExcelController@template

GET /api/v1/admin/stores/export

StoreExcelController@export

GET /api/v1/admin/stores/imports/{storeImport}

StoreImportController@show

GET /api/v1/admin/stores/imports/{storeImport}/error-report

StoreImportController@errorReport

GET /api/v1/admin/stores

StoreController@index

POST /api/v1/admin/stores

StoreController@store

PATCH /api/v1/admin/stores/{store}/activate

StoreController@activate

PATCH /api/v1/admin/stores/{store}/disable

StoreController@disable

GET /api/v1/admin/stores/{store}

StoreController@show

PATCH /api/v1/admin/stores/{store}

StoreController@update

DELETE /api/v1/admin/stores/{store}

StoreController@destroy

Media 5
GET /api/v1/admin/media

MediaController@index

POST /api/v1/admin/media

MediaController@store

GET /api/v1/admin/media/{media}

MediaController@show

PATCH /api/v1/admin/media/{media}

MediaController@update

DELETE /api/v1/admin/media/{media}

MediaController@destroy

Products 10
GET /api/v1/admin/products

ProductController@index

POST /api/v1/admin/products

ProductController@store

GET /api/v1/admin/products/{product}/variants

ProductVariantController@index

POST /api/v1/admin/products/{product}/variants

ProductVariantController@store

GET /api/v1/admin/products/{product}/variants/{variant}

ProductVariantController@show

PATCH /api/v1/admin/products/{product}/variants/{variant}

ProductVariantController@update

DELETE /api/v1/admin/products/{product}/variants/{variant}

ProductVariantController@destroy

GET /api/v1/admin/products/{product}

ProductController@show

PATCH /api/v1/admin/products/{product}

ProductController@update

DELETE /api/v1/admin/products/{product}

ProductController@destroy

Articles 8
GET /api/v1/admin/articles

ArticleController@index

POST /api/v1/admin/articles

ArticleController@store

PATCH /api/v1/admin/articles/{article}/publish

ArticleController@publish

PATCH /api/v1/admin/articles/{article}/draft

ArticleController@draft

PATCH /api/v1/admin/articles/{article}/archive

ArticleController@archive

GET /api/v1/admin/articles/{article}

ArticleController@show

PATCH /api/v1/admin/articles/{article}

ArticleController@update

DELETE /api/v1/admin/articles/{article}

ArticleController@destroy

Banners 7
GET /api/v1/admin/banners

BannerController@index

POST /api/v1/admin/banners

BannerController@store

PATCH /api/v1/admin/banners/{banner}/activate

BannerController@activate

PATCH /api/v1/admin/banners/{banner}/disable

BannerController@disable

GET /api/v1/admin/banners/{banner}

BannerController@show

PATCH /api/v1/admin/banners/{banner}

BannerController@update

DELETE /api/v1/admin/banners/{banner}

BannerController@destroy

Notifications 8
GET /api/v1/admin/notifications

NotificationController@index

POST /api/v1/admin/notifications

NotificationController@store

PATCH /api/v1/admin/notifications/{notification}/send

NotificationController@send

PATCH /api/v1/admin/notifications/{notification}/schedule

NotificationController@schedule

PATCH /api/v1/admin/notifications/{notification}/cancel

NotificationController@cancel

GET /api/v1/admin/notifications/{notification}

NotificationController@show

PATCH /api/v1/admin/notifications/{notification}

NotificationController@update

DELETE /api/v1/admin/notifications/{notification}

NotificationController@destroy

Contact Requests 6
GET /api/v1/admin/contact-requests

ContactRequestController@index

PATCH /api/v1/admin/contact-requests/{contactRequest}/assign

ContactRequestController@assign

PATCH /api/v1/admin/contact-requests/{contactRequest}/status

ContactRequestController@updateStatus

GET /api/v1/admin/contact-requests/{contactRequest}

ContactRequestController@show

PATCH /api/v1/admin/contact-requests/{contactRequest}

ContactRequestController@update

DELETE /api/v1/admin/contact-requests/{contactRequest}

ContactRequestController@destroy

Settings 2
GET /api/v1/admin/settings

AppSettingController@show

PATCH /api/v1/admin/settings

AppSettingController@update

Analytics 6
GET /api/v1/admin/analytics/overview

AnalyticsController@overview

GET /api/v1/admin/analytics/timeseries

AnalyticsController@timeseries

GET /api/v1/admin/analytics/stores

AnalyticsController@stores

GET /api/v1/admin/analytics/searches

AnalyticsController@searches

GET /api/v1/admin/analytics/notifications

AnalyticsController@notifications

GET /api/v1/admin/analytics/communes

AnalyticsController@communes