Source code for djpaystack.api.terminal

from typing import Dict, Any, Optional, List
from .base import BaseAPI


[docs] class TerminalAPI(BaseAPI): """Terminal API"""
[docs] def send_event(self, terminal_id: str, type: str, action: str, data: Dict[str, Any]) -> Dict[str, Any]: """Send event to terminal""" payload = {'type': type, 'action': action, 'data': data} return self._post(f'terminal/{terminal_id}/event', data=payload)
[docs] def fetch_event_status(self, terminal_id: str, event_id: str) -> Dict[str, Any]: """Fetch terminal event status""" return self._get(f'terminal/{terminal_id}/event/{event_id}')
[docs] def fetch_terminal_status(self, terminal_id: str) -> Dict[str, Any]: """Fetch terminal status""" return self._get(f'terminal/{terminal_id}/presence')
[docs] def list(self, per_page: int = 50, page: Optional[int] = None) -> Dict[str, Any]: """List terminals""" return self._paginate('terminal', per_page=per_page, page=page)
[docs] def fetch(self, terminal_id: str) -> Dict[str, Any]: """Fetch terminal details""" return self._get(f'terminal/{terminal_id}')
[docs] def update(self, terminal_id: str, name: str, address: str) -> Dict[str, Any]: """Update terminal""" data = {'name': name, 'address': address} return self._put(f'terminal/{terminal_id}', data=data)
[docs] def commission(self, serial_number: str) -> Dict[str, Any]: """Commission terminal""" data = {'serial_number': serial_number} return self._post('terminal/commission_device', data=data)
[docs] def decommission(self, serial_number: str) -> Dict[str, Any]: """Decommission terminal""" data = {'serial_number': serial_number} return self._post('terminal/decommission_device', data=data)