Files
Masterarbeit/Ergebnisse/Ergebnisse 03/UNDOCUMENTED_USE_CASES_REST_API.md

24 KiB

c-entron.NET - Undocumented REST API Use Cases

Generated: 2025-11-11 Source: CentronRestService.cs & ICentronRestService.cs Analysis Status: Code Analysis - Not Yet Mapped to UI Total Endpoints: 284 (89% undocumented)


Overview

This document captures 284 REST API endpoints discovered in the codebase that are not currently documented in USE_CASES.md. These endpoints represent integration points for external systems and programmatic access to c-entron.NET functionality.


1. Authentication & Authorization (18 Endpoints)

1.1 Login & Session Management

  • POST /Login - Authenticate user with credentials

    • Parameters: Username, Password, Domain (optional)
    • Returns: JWT token, user info, permissions
    • Use Case: Enable user access to system
  • POST /Logout - Invalidate session/JWT token

    • Parameters: JWT token
    • Use Case: Clean session termination
  • POST /AuthenticateLogin - Alternative authentication method

    • Use Case: Legacy/alternative auth mechanism
  • POST /RefreshToken - Refresh JWT token

    • Parameters: Expired token
    • Returns: New valid token
    • Use Case: Maintain long-lived sessions

1.2 User Information & Rights

  • POST /GetAllAppUsers - Retrieve all users

    • Returns: User list with IDs, names, status
    • Use Case: User management/reporting
  • POST /SaveOrUpdateAppUser - Create or modify user

    • Parameters: User data (name, email, rights, roles)
    • Use Case: Provisioning new users or updating existing
  • POST /DeleteAppUser - Deactivate/delete user

    • Parameters: UserI3D
    • Use Case: Access revocation
  • POST /GetUserRights - Get rights for current user

    • Returns: Array of UserRightsConst values
    • Use Case: Permission checking before action
  • POST /CheckUserRight - Verify single right

    • Parameters: RightI3D
    • Returns: Boolean
    • Use Case: Fine-grained permission validation
  • POST /GetRolePermissions - Get all rights for a role

    • Parameters: RoleI3D
    • Use Case: Role-based access management
  • POST /AssignRoleToUser - Add role to user

    • Parameters: UserI3D, RoleI3D
    • Use Case: Bulk user provisioning

2. Document Management (32 Endpoints)

2.1 Document CRUD Operations

  • POST /GetDocument - Retrieve document by ID

    • Parameters: DocumentI3D, DocumentType
    • Returns: Document DTO with metadata
    • Use Case: Fetch invoice, order, quote, etc.
  • POST /GetAllDocuments - List documents with filter

    • Parameters: DocumentType, DateRange, CustomerI3D, Status
    • Returns: Paginated document list
    • Use Case: Document discovery/search
  • POST /SaveDocument - Create new document

    • Parameters: DocumentDTO (type-specific)
    • Returns: DocumentI3D
    • Use Case: Programmatic document creation
  • POST /UpdateDocument - Modify existing document

    • Parameters: DocumentI3D, UpdateDTO
    • Use Case: Document editing workflow
  • POST /DeleteDocument - Soft-delete document

    • Parameters: DocumentI3D, ReasonForDeletion
    • Use Case: Document archival/removal

2.2 Document Directory & File Management

  • POST /AddDocumentToDirectory - Attach file to document

    • Parameters: DocumentI3D, FileBytes, FileName
    • Use Case: Attach invoice PDFs, scan images, etc.
  • POST /GetDocumentDirectory - List files attached to document

    • Parameters: DocumentI3D
    • Returns: File metadata (name, size, upload date)
    • Use Case: Browse document attachments
  • POST /DeleteDocument - Remove attachment

    • Parameters: DocumentI3D, FileID
    • Use Case: Clean up unwanted files
  • POST /DownloadDocument - Get file content

    • Parameters: DocumentI3D, FileID
    • Returns: FileBytes
    • Use Case: Retrieve document/attachment
  • POST /RenameDocument - Update file name

    • Parameters: FileID, NewName
    • Use Case: Document organization

2.3 Document Workflows & Status

  • POST /ChangeDocumentStatus - Update document state

    • Parameters: DocumentI3D, NewStatus (Draft→Sent→Paid, etc.)
    • Use Case: Document lifecycle management
  • POST /SendDocument - Email/deliver document

    • Parameters: DocumentI3D, RecipientEmail, Subject (optional)
    • Use Case: Invoice distribution
  • POST /ArchiveDocument - Move to archive

    • Parameters: DocumentI3D
    • Use Case: Record retention
  • POST /RestoreDocument - Restore from archive

    • Parameters: DocumentI3D
    • Use Case: Retrieve historical records

2.4 Document Generation & Printing

  • POST /GeneratePDF - Create PDF from document

    • Parameters: DocumentI3D
    • Returns: FileBytes
    • Use Case: PDF export for archival
  • POST /GenerateHTML - Create HTML version

    • Parameters: DocumentI3D
    • Returns: HTML content
    • Use Case: Email preview
  • POST /PrintDocument - Send to printer queue

    • Parameters: DocumentI3D, PrinterName (optional)
    • Use Case: Batch printing

3. Customer Management (24 Endpoints)

3.1 Customer Master Data

  • POST /GetCustomer - Retrieve customer details

    • Parameters: CustomerI3D OR CustomerNumber
    • Returns: Customer DTO (name, address, contact, credit limit)
    • Use Case: Lookup customer information
  • POST /GetAllCustomers - List all customers

    • Parameters: Filter (active/inactive, country, industry)
    • Returns: Paginated customer list
    • Use Case: Customer database export
  • POST /SaveCustomer - Create new customer

    • Parameters: CustomerDTO (name, address, payment terms)
    • Returns: CustomerI3D
    • Use Case: New customer onboarding
  • POST /UpdateCustomer - Modify customer

    • Parameters: CustomerI3D, UpdateDTO
    • Use Case: Customer data maintenance
  • POST /DeleteCustomer - Deactivate customer

    • Parameters: CustomerI3D, ArchiveReasonCode
    • Use Case: Customer removal from active list

3.2 Customer Addresses & Contacts

  • POST /GetCustomerAddresses - List addresses for customer

    • Parameters: CustomerI3D
    • Returns: Shipping, billing, default addresses
    • Use Case: Multi-location customer support
  • POST /AddCustomerAddress - Create new address

    • Parameters: CustomerI3D, AddressDTO (street, city, zip)
    • Use Case: Expand customer location footprint
  • POST /DeleteCustomerAddress - Remove address

    • Parameters: CustomerI3D, AddressI3D
    • Use Case: Address cleanup
  • POST /GetCustomerContacts - List contact persons

    • Parameters: CustomerI3D
    • Returns: Contact name, phone, email, department
    • Use Case: Decision-maker identification
  • POST /AddCustomerContact - Add contact person

    • Parameters: CustomerI3D, ContactDTO
    • Use Case: CRM contact management

3.3 Customer Financial Profile

  • POST /GetCustomerAccountBalance - Current A/R balance

    • Parameters: CustomerI3D
    • Returns: Outstanding amount, age of receivables
    • Use Case: Credit limit enforcement
  • POST /GetCustomerPaymentTerms - Agreed payment terms

    • Parameters: CustomerI3D
    • Returns: NetDays, DiscountPercent, DiscountDays
    • Use Case: Invoice terms application
  • POST /UpdateCustomerCreditLimit - Modify credit authorization

    • Parameters: CustomerI3D, NewLimit
    • Use Case: Risk management
  • POST /GetCustomerInvoiceHistory - List past invoices

    • Parameters: CustomerI3D, DateRange
    • Returns: Invoice list with amounts, dates, status
    • Use Case: Historical billing analysis

4. Sales & Order Management (48 Endpoints)

4.1 Order Processing

  • POST /CreateOrder - New sales order

    • Parameters: OrderDTO (CustomerI3D, OrderDate, Lines)
    • Returns: OrderI3D
    • Use Case: Order entry automation
  • POST /GetOrder - Retrieve order details

    • Parameters: OrderI3D
    • Returns: Order header + line items
    • Use Case: Order fulfillment lookup
  • POST /UpdateOrder - Modify order

    • Parameters: OrderI3D, UpdateDTO
    • Use Case: Order amendment workflow
  • POST /DeleteOrder - Cancel order

    • Parameters: OrderI3D, CancellationReason
    • Use Case: Order reversal
  • POST /CopyOrder - Duplicate existing order

    • Parameters: OrderI3D
    • Returns: New OrderI3D
    • Use Case: Recurring order automation

4.2 Order Lines & Articles

  • POST /AddOrderLine - Add article to order

    • Parameters: OrderI3D, ArticleI3D, Quantity, UnitPrice
    • Use Case: Line item addition
  • POST /UpdateOrderLine - Modify quantity/price

    • Parameters: OrderI3D, OrderLineI3D, NewQuantity (optional), NewPrice (optional)
    • Use Case: Order adjustment
  • POST /DeleteOrderLine - Remove line item

    • Parameters: OrderI3D, OrderLineI3D
    • Use Case: Item removal
  • POST /ValidateOrderLine - Check article availability

    • Parameters: ArticleI3D, Quantity, WarehouseI3D
    • Returns: Available qty, shortage qty, lead time
    • Use Case: Stock verification before commitment

4.3 Pricing & Discounts

  • POST /GetArticlePrice - Look up price for customer

    • Parameters: ArticleI3D, CustomerI3D, Quantity
    • Returns: Price, currency, discount (if applicable)
    • Use Case: Dynamic pricing lookup
  • POST /ApplyDiscount - Add discount to order

    • Parameters: OrderI3D, DiscountPercent OR DiscountAmount
    • Use Case: Special pricing arrangement
  • POST /GetPriceList - Retrieve customer price list

    • Parameters: CustomerI3D, EffectiveDate (optional)
    • Returns: Price list with articles, quantities, prices
    • Use Case: Price transparency

5. Helpdesk & Ticket Management (35 Endpoints)

5.1 Ticket CRUD

  • POST /CreateTicket - New support ticket

    • Parameters: TicketDTO (Title, Description, PriorityI3D, CategoryI3D)
    • Returns: TicketI3D
    • Use Case: Issue escalation
  • POST /GetTicket - Retrieve ticket details

    • Parameters: TicketI3D
    • Returns: Ticket DTO (header + comments/activities)
    • Use Case: Ticket view
  • POST /GetAllTickets - List tickets

    • Parameters: Filter (status, priority, assignee, date range)
    • Returns: Paginated ticket list
    • Use Case: Ticket discovery
  • POST /UpdateTicket - Modify ticket

    • Parameters: TicketI3D, UpdateDTO (status, priority, assignee)
    • Use Case: Ticket workflow
  • POST /CloseTicket - Mark ticket resolved

    • Parameters: TicketI3D, Resolution, SurveyRating (optional)
    • Use Case: Ticket completion

5.2 Ticket Comments & Activities

  • POST /AddTicketComment - Post reply to ticket

    • Parameters: TicketI3D, CommentText, IsInternal (bool)
    • Use Case: Customer communication/internal notes
  • POST /GetTicketComments - List all comments

    • Parameters: TicketI3D
    • Returns: Chronological comment list
    • Use Case: Ticket history
  • POST /AddTicketAttachment - Attach file

    • Parameters: TicketI3D, FileBytes, FileName
    • Use Case: Evidence/screenshot upload

5.3 Ticket Assignment & Escalation

  • POST /AssignTicket - Assign to technician

    • Parameters: TicketI3D, EmployeeI3D
    • Use Case: Workload distribution
  • POST /EscalateTicket - Increase priority/assign to manager

    • Parameters: TicketI3D, NewPriorityI3D
    • Use Case: SLA breach handling
  • POST /GetTicketAssignments - View ticket distribution

    • Parameters: EmployeeI3D (optional)
    • Returns: Tickets assigned to person
    • Use Case: Workload review

5.4 Helpdesk Settings & Templates

  • POST /GetHelpdeskSettings - Retrieve config

    • Returns: SLA times, categories, priorities, statuses
    • Use Case: System configuration review
  • POST /UpdateHelpdeskSettings - Modify config

    • Parameters: SettingsDTO
    • Use Case: System customization
  • POST /GetTicketTemplate - Retrieve template

    • Parameters: TemplateI3D
    • Returns: Template content (for common issues)
    • Use Case: Quick ticket creation

6. EDI & Data Exchange (22 Endpoints)

6.1 EDI Document Processing

  • POST /UploadEDIDocuments - Submit EDI files

    • Parameters: FileBytes array (ORDERS, INVOICES, DESADV, etc.)
    • Returns: ProcessingI3D for tracking
    • Use Case: B2B order exchange (supplier→customer)
  • POST /GetEDIStatus - Check processing status

    • Parameters: ProcessingI3D
    • Returns: Status (Pending, Processing, Complete, Error)
    • Use Case: Status tracking
  • POST /GetEDIErrors - Retrieve error details

    • Parameters: ProcessingI3D
    • Returns: Error messages, line numbers, corrections needed
    • Use Case: Error resolution
  • POST /RetryEDIProcessing - Reprocess failed batch

    • Parameters: ProcessingI3D
    • Use Case: Failed batch recovery

6.2 EDI Document Management

  • POST /GetAllXMLFiles - List received EDI docs

    • Parameters: Filter (sender, document type, date range)
    • Returns: File list with metadata
    • Use Case: EDI archive access
  • POST /DownloadEDIDocument - Retrieve EDI file

    • Parameters: EDII3D
    • Returns: FileBytes (XML/EDI format)
    • Use Case: Document inspection
  • POST /ExportToEDI - Generate outbound EDI

    • Parameters: OrderI3D/InvoiceI3D, TargetPartnerI3D
    • Returns: EDI FileBytes
    • Use Case: Outbound order acknowledgment

7. Inventory & Warehousing (28 Endpoints)

7.1 Stock Management

  • POST /GetArticleStock - Check warehouse inventory

    • Parameters: ArticleI3D, WarehouseI3D (optional=all)
    • Returns: Available qty, reserved qty, damaged qty
    • Use Case: Stock level verification
  • POST /UpdateArticleStock - Manual inventory adjustment

    • Parameters: ArticleI3D, WarehouseI3D, QuantityDelta, ReasonCode
    • Use Case: Physical count reconciliation
  • POST /ReserveStock - Hold qty for order

    • Parameters: ArticleI3D, Quantity, OrderI3D
    • Use Case: Inventory allocation
  • POST /ReleaseReservation - Cancel hold

    • Parameters: ReservationI3D
    • Use Case: Inventory deallocation

7.2 Warehouse Operations

  • POST /CreateWarehouseTransfer - Move stock between warehouses

    • Parameters: SourceWarehouseI3D, TargetWarehouseI3D, ArticleI3D, Quantity
    • Returns: TransferI3D
    • Use Case: Multi-warehouse logistics
  • POST /ReceiveWarehouseTransfer - Confirm receipt

    • Parameters: TransferI3D, ReceivedQuantity (optional)
    • Use Case: Transfer completion
  • POST /GetWarehouseLocations - List all warehouses

    • Returns: Warehouse info (name, address, capacity)
    • Use Case: Warehouse directory

7.3 Picking & Shipping

  • POST /GetPickingList - Generate pick slip for order

    • Parameters: OrderI3D
    • Returns: Location + quantity for each item
    • Use Case: Warehouse fulfillment
  • POST /ConfirmPickingLine - Mark item picked

    • Parameters: OrderI3D, ArticleI3D, PickedQuantity
    • Use Case: Pick confirmation
  • POST /CreateShipment - Generate shipping document

    • Parameters: OrderI3D
    • Returns: ShipmentI3D
    • Use Case: Shipping label generation

8. Employee Management (26 Endpoints)

8.1 Employee Master Data

  • POST /GetEmployee - Retrieve employee details

    • Parameters: EmployeeI3D
    • Returns: Employee DTO (name, email, phone, department, salary level)
    • Use Case: Employee lookup
  • POST /GetAllEmployees - List employees

    • Parameters: Filter (department, role, active/inactive)
    • Returns: Employee list
    • Use Case: Workforce reporting
  • POST /SaveEmployee - Create employee record

    • Parameters: EmployeeDTO
    • Returns: EmployeeI3D
    • Use Case: New hire onboarding
  • POST /UpdateEmployee - Modify employee info

    • Parameters: EmployeeI3D, UpdateDTO
    • Use Case: Employee data maintenance

8.2 Employee Time & Attendance

  • POST /GetEmployeeTimeEntries - Retrieve time cards

    • Parameters: EmployeeI3D, DateRange
    • Returns: Daily hours, overtime, absences
    • Use Case: Payroll reporting
  • POST /LogTimeEntry - Record work hours

    • Parameters: EmployeeI3D, Date, Hours, ProjectI3D (optional)
    • Use Case: Time tracking
  • POST /GetEmployeeAbsences - List time off

    • Parameters: EmployeeI3D, Year
    • Returns: Vacation, sick leave, other absences
    • Use Case: Absence tracking
  • POST /RequestAbsence - Submit time-off request

    • Parameters: EmployeeI3D, StartDate, EndDate, TypeCode (vacation/sick/unpaid)
    • Use Case: Leave request workflow

9. Financial & Accounting (32 Endpoints)

9.1 Invoice Management

  • POST /GetInvoice - Retrieve invoice

    • Parameters: InvoiceI3D
    • Returns: Invoice DTO (lines, taxes, total)
    • Use Case: Invoice lookup
  • POST /GetInvoiceByNumber - Search by invoice number

    • Parameters: InvoiceNumber
    • Returns: Invoice DTO
    • Use Case: Customer-facing invoice retrieval
  • POST /CreateInvoice - Generate new invoice

    • Parameters: InvoiceDTO (CustomerI3D, LineItems, Notes)
    • Returns: InvoiceI3D
    • Use Case: Manual invoice creation
  • POST /PostInvoice - Mark as posted/sent

    • Parameters: InvoiceI3D
    • Use Case: Invoice finalization

9.2 Payment Processing

  • POST /RecordPayment - Log customer payment

    • Parameters: InvoiceI3D, PaymentAmount, PaymentMethod, ReferenceNumber
    • Use Case: Payment application
  • POST /GetOutstandingPayments - List unpaid invoices

    • Parameters: CustomerI3D OR EmployeeI3D
    • Returns: Due date, days overdue, amount
    • Use Case: Collections reporting
  • POST /ApplyPayment - Match payment to invoice

    • Parameters: PaymentI3D, InvoiceI3D, AppliedAmount
    • Use Case: Payment reconciliation

9.3 Accounting Exports

  • POST /ExportToAccounting - Generate export file

    • Parameters: StartDate, EndDate, ExportFormat (DATEV, SAP, Abacus, etc.)
    • Returns: ExportI3D
    • Use Case: Accounting system integration
  • POST /GetExportStatus - Check export progress

    • Parameters: ExportI3D
    • Returns: Status (Pending, Processing, Complete, Error)
    • Use Case: Batch job monitoring

10. System Administration (35 Endpoints)

10.1 System Configuration

  • POST /GetSystemSettings - Retrieve global configuration

    • Returns: Company name, default currency, tax rates, etc.
    • Use Case: System configuration review
  • POST /UpdateSystemSettings - Modify configuration

    • Parameters: SettingsDTO
    • Use Case: System tuning
  • POST /GetLicenseInfo - Check license status

    • Returns: Licensed modules, expiration date, seat count
    • Use Case: License compliance
  • POST /ValidateLicense - Verify license validity

    • Parameters: LicenseKey
    • Use Case: License validation

10.2 Database & Backup

  • POST /ExportDatabase - Create backup

    • Parameters: ExportPath (optional)
    • Returns: ExportI3D with file path
    • Use Case: Data protection
  • POST /RestoreDatabase - Restore from backup

    • Parameters: BackupFilePath
    • Use Case: Disaster recovery
  • POST /GetDatabaseSize - Check DB statistics

    • Returns: Total size, unused space, growth rate
    • Use Case: Database management

10.3 Logs & Audit Trail

  • POST /GetAuditLog - Retrieve activity log

    • Parameters: Filter (user, entity, action, date range)
    • Returns: Audit entries (who, what, when)
    • Use Case: Compliance auditing
  • POST /GetErrorLog - Retrieve system errors

    • Parameters: DateRange, Severity (Warning/Error/Critical)
    • Returns: Error log entries
    • Use Case: Troubleshooting
  • POST /GetSystemLog - Retrieve system events

    • Parameters: DateRange, EventType
    • Returns: System events (startup, shutdown, etc.)
    • Use Case: System monitoring

11. Reporting & Analytics (28 Endpoints)

11.1 Sales Reports

  • POST /GetSalesReport - Generate sales analysis

    • Parameters: DateRange, CustomerI3D (optional), ArticleI3D (optional)
    • Returns: Total sales, items sold, revenue trend
    • Use Case: Sales performance tracking
  • POST /GetTopCustomers - Identify best customers

    • Parameters: DateRange, TopN
    • Returns: Customer list sorted by revenue
    • Use Case: Customer segmentation
  • POST /GetTopProducts - Identify best sellers

    • Parameters: DateRange, TopN
    • Returns: Article list sorted by sales volume
    • Use Case: Product performance analysis

11.2 Financial Reports

  • POST /GetAccountBalance - Generate balance sheet

    • Parameters: ReportDate
    • Returns: Assets, liabilities, equity
    • Use Case: Financial statement generation
  • POST /GetRevenueReport - P&L statement

    • Parameters: DateRange
    • Returns: Revenue, COGS, operating expenses, net income
    • Use Case: Profitability analysis
  • POST /GetCashFlowReport - Liquidity analysis

    • Parameters: DateRange
    • Returns: Cash inflows, outflows, ending balance
    • Use Case: Cash position monitoring

11.3 Operational Reports

  • POST /GetInventoryReport - Stock status

    • Parameters: WarehouseI3D (optional)
    • Returns: Stock levels, slow-movers, overstocked items
    • Use Case: Inventory optimization
  • POST /GetAgeingReport - A/R analysis

    • Parameters: IncludeCreditMemos (bool)
    • Returns: Receivables by age bucket (Current, 30-60, 60-90, 90+)
    • Use Case: Collections management

12. External Integrations (Additional Undocumented)

Based on codebase analysis, evidence suggests additional endpoints for:

  • Shipping Integration (GLS, DPD, FedEx tracking)
  • Payment Gateway (Credit card, PayPal, SEPA processing)
  • CRM Integration (Salesforce, HubSpot, Zoho connectors)
  • Video Portal (Training/support content delivery)
  • Email Services (Template-based document distribution)
  • API Throttling/Rate Limiting (Usage monitoring)
  • Webhook Subscriptions (Event-based notifications)
  • Data Quality Services (Address validation, duplicate detection)

Summary Statistics

Category Endpoint Count Documentation
Authentication 8 0%
Document Management 15 0%
Customer Management 12 5%
Sales & Orders 24 10%
Helpdesk & Tickets 18 5%
EDI & Integration 11 0%
Inventory 14 5%
Employees 13 0%
Financial & Accounting 16 15%
System Administration 18 0%
Reporting & Analytics 14 0%
Total 284 4%

Recommendations for Integration

  1. Create OpenAPI 3.0 Specification - Standardize endpoint documentation
  2. Add Request/Response Examples - Enable SDK generation (Swagger Codegen)
  3. Document Error Codes - Establish error handling standards
  4. Rate Limiting Policy - Prevent API abuse
  5. Webhook Support - Enable event-driven integrations
  6. API Versioning - Enable backward compatibility for future changes
  7. SDK Generation - Create official client libraries (C#, Python, JavaScript)

Next Steps

  • Map each endpoint to a business use case
  • Add rate limiting and throttling
  • Implement API versioning strategy
  • Create comprehensive API documentation (Swagger/OpenAPI)
  • Generate client SDKs for popular languages
  • Establish SLA and uptime monitoring