ETASCOM CRM V3 - Documentation API
    Preparing search index...
    • Returns Promise<
          | NextResponse<TabletWorkStationsResponse>
          | NextResponse<{ success: boolean; error: string }>,
      >

      /api/tablet/work-stations: get: tags: [Tablet, Production] summary: Récupère tous les postes de travail avec leurs équipements pour tablette description: API spécialement conçue pour les tablettes de production. Retourne tous les postes de travail avec leurs équipements associés et l'état de chaque machine. responses: 200: description: Liste des postes de travail avec équipements content: application/json: schema: type: object properties: success: type: boolean example: true workStations: type: array items: type: object properties: id: type: string example: "ws_123" code: type: string example: "WS-001" name: type: string example: "Poste de Découpe Principal" description: type: string example: "Poste de découpe automatisé" location: type: string example: "Atelier A" capacity: type: number example: 100 costPerHour: type: number example: 25.5 status: type: string enum: [idle, active, maintenance, error] example: "active" isActive: type: boolean example: true operator: type: object properties: id: type: string name: type: string email: type: string equipment: type: array items: type: object properties: id: type: string code: type: string example: "EQ-001" name: type: string example: "Presse Hydraulique 50T" type: type: string example: "MACHINE" status: type: string enum: [available, in_use, maintenance, out_of_order] example: "available" lastMaintenance: type: string format: date-time nextMaintenance: type: string format: date-time location: type: string brand: type: string model: type: string serialNumber: type: string isActive: type: boolean _count: type: object properties: equipment: type: number activeEquipment: type: number maintenanceEquipment: type: number outOfOrderEquipment: type: number total: type: number example: 5 summary: type: object properties: totalWorkStations: type: number activeWorkStations: type: number totalEquipment: type: number availableEquipment: type: number inUseEquipment: type: number maintenanceEquipment: type: number outOfOrderEquipment: type: number 401: description: Non autorisé content: application/json: schema: type: object properties: success: type: boolean example: false error: type: string example: "Non autorisé" 500: description: Erreur serveur content: application/json: schema: type: object properties: success: type: boolean example: false error: type: string example: "Erreur interne du serveur" post: tags: [Tablet, Production] summary: Crée un nouveau poste de travail depuis la tablette description: Crée un nouveau poste de travail avec les données minimales requises pour l'utilisation sur tablette. requestBody: required: true content: application/json: schema: type: object required: [name, code] properties: code: type: string example: "WS-001" name: type: string example: "Poste de Découpe Principal" description: type: string example: "Poste de découpe automatisé" location: type: string example: "Atelier A" capacity: type: number example: 100 costPerHour: type: number example: 25.5 operatorId: type: string example: "user_123" responses: 201: description: Poste de travail créé avec succès content: application/json: schema: type: object properties: success: type: boolean example: true workStation: type: object properties: id: type: string code: type: string name: type: string status: type: string example: "idle" 400: description: Données invalides 401: description: Non autorisé 500: description: Erreur serveur put: tags: [Tablet, Production] summary: Met à jour un poste de travail depuis la tablette description: Met à jour les informations d'un poste de travail existant depuis la tablette. requestBody: required: true content: application/json: schema: type: object required: [id] properties: id: type: string example: "ws_123" code: type: string example: "WS-001" name: type: string example: "Poste de Découpe Principal" description: type: string example: "Poste de découpe automatisé" location: type: string example: "Atelier A" capacity: type: number example: 100 costPerHour: type: number example: 25.5 status: type: string enum: [idle, active, maintenance, error] example: "active" operatorId: type: string example: "user_123" responses: 200: description: Poste de travail mis à jour avec succès content: application/json: schema: type: object properties: success: type: boolean example: true workStation: type: object properties: id: type: string code: type: string name: type: string status: type: string 400: description: Données invalides 401: description: Non autorisé 404: description: Poste de travail non trouvé 500: description: Erreur serveur