查找

文章
· 20 hr 前 阅读大约需 3 分钟

My experience with APIs and POS integration.

Hola amigo! 😊 Cómo estás hoy,

I would like to share a small part of my learnings from my first ever official project: POS/EDC machine integration with our billing system. This was an exciting challenge where I got hands-on experience working with APIs and vendors. 

How does a Payment Machine actually work?

It's simple, start by initiating/creating a transaction, then retrieve its payment status.

Here, initiate/create refers to POST method and Retrieve refers to GET.

Workflow... 

Let us assume that the vendor has given us a document with both these APIs (Create and Fetch Payment Status). Samples listed below -
 

CREATE TRANSACTION:

url/endpoint: https://payvendor.com/create-transaction
method: POST
payload: 
{
    "reference_id": "2345678",
    "pos_id": "PISC98765",
    "date_time": "MMDDYYYYHHMMSS"
    "amount": 100
}
response: [200]
{
    "reference_id": "2345678",
    "pos_id": "PISC98765",
    "date_time": "MMDDYYYYHHMMSS"
    "unn": "456789876546787656"
}

FETCH PAYMENT STATUS:

url/endpoint: https://payvendor.com/get-status
method: GET
payload: ?reference_id="2345678"
response: [200]
{
    "reference_id": "2345678",
    "pos_id": "PISC98765",
    "date_time": "MMDDYYYYHHMMSS"
    "unn": "456789876546787656"
    "status": "paid"
    "amount": 100
}

 

How do we use these APIs? Let's find out... 🫡

To consume these APIs in cache objectscript, we have a module or a class to make HTTP requests from within. %Net.HttpRequest.

Basic:

  • Create an instance of %Net.HttpRequest.
  • Set the url and the HTTP method.
  • Add the header and the body. [if needed]
  • Send the request to the server.
  • Handle the response.
; --------- POST REQUEST EXAMPLE ---------
Set req = ##class(%Net.HttpRequest).%New()  ; creates an instance of this class
Set req.Server = "https://payvendor.com"    ; the server
Set req.Location = "/create-transaction"    ; the endpoint
Set req.Https = 1       ; 0 if http / 1 if https
Set req.ContentType = "application/json"    ; ContentType
; ---- create the JSON body ----
Set obj = ##class(%DynamicObject).%New()
Set obj."reference_id" = "2345678"      ; unique
Set obj."pos_id" = "PISC98765"          ; device number
Set obj."date_time" = $ZSTRIP($ZDATETIME($HOROLOG,8), "*P") 
Set obj."amount" = 100
; -------------------------------
; ---- send request ----
Do req.EntityBody.Write(obj.%ToJSON())
Do req.Post()           ; .Post() will trigger the call
; ----------------------
; ---- Response ----
Write req.HttpResponse.StatusCode,!     ; HTTP STATUS CODE
Write req.HttpResponse.Data.Read(),!    ; HTTP STATUS MESSAGE
; ------------------

After creating the transaction, we can maintain a table (preferred) or a global to maintain logs against each transaction. 

; --------- GET REQUEST EXAMPLE ---------
Set req = ##class(%Net.HttpRequest).%New()  ; creates an instance of this class
Set req.Server = "https://payvendor.com"    ; the server
Set req.Location = "/get-status"    ; the endpoint
Set req.Https = 1       ; 0 if http / 1 if https
; ---- Query Parameters ----
Do req.SetParam("reference_id", "2345678")

; ---- send request ----
Do req.Get()           ; .Get() will trigger the call
; ---- Response ----
Set stsCode = req.HttpResponse.StatusCode,!     ; HTTP STATUS CODE
If stsCode=200 {
    Set objResponse = req.HttpResponse.Data.Read()
    Set objData = ##class(%DynamicObject).%FromJSON(objResponse)
    Set payStatus = objData.status              ; payment status
}
; ------------------

This is how we fetch the payment status. After we fetch the status, we can update the same in the billing system and our logs too.

 

This workflow is simple, but as we code more, we can evolve better frameworks and approaches. Over my experience, I’ve successfully integrated 5 POS vendors and 3 payment gateways with our billing system. If you have any questions or need guidance, feel free to reach out!

Also open for feedback. :)

 

Thanks...

讨论 (0)1
登录或注册以继续
问题
· 20 hr 前

Safety and Comfort Features to Look for When Choosing a 7 Seater Taxi Near Me

When booking a 7 seater taxi for your group transportation needs, prioritizing safety and comfort is paramount. Whether you're traveling with family, colleagues, or friends, understanding what features to look for can ensure a secure and pleasant journey. This guide outlines the essential safety and comfort elements to consider when selecting a seven seater taxi service.

Essential Safety Features

1. Vehicle Maintenance and Certification

  • Regular Safety Inspections: Ensure the taxi company conducts frequent mechanical checks and maintains service records.
  • Valid MOT Certificate: Confirm all vehicles have up-to-date MOT certifications and are road-legal.
  • Professional Maintenance Schedule: Choose providers like Gatwick Taxi Transfer that follow strict maintenance protocols.

2. Driver Qualifications and Training

  • Licensed and Vetted Drivers: Verify that chauffeurs hold valid PCO licenses and have passed background checks.
  • Defensive Driving Training: Look for drivers trained in advanced driving techniques and emergency handling.
  • First Aid Certification: Prefer services whose drivers have current first aid training.

3. In-Vehicle Safety Equipment

  • Functional Seat Belts: Ensure all passenger seats have working, accessible seat belts.
  • Properly Fitted Child Seats: Confirm availability of age-appropriate child restraint systems when needed.
  • Emergency Equipment: Check for presence of first aid kits, fire extinguishers, and emergency tools.

4. Insurance Coverage

  • Comprehensive Hire and Reward Insurance: Verify the vehicle has appropriate commercial insurance coverage.
  • Public Liability Protection: Ensure adequate coverage for passenger protection and third-party liabilities.

Comfort and Convenience Features

1. Interior Space and Layout

  • Generous Legroom: Look for vehicles with ample space between rows for comfortable seating.
  • Individual Armrests: Prefer models with dedicated armrests for enhanced passenger comfort.
  • Adjustable Seating: Consider vehicles with reclining seats and adjustable headrests.

2. Climate Control Systems

  • Dual-Zone Climate Control: Ensure separate temperature controls for driver and passenger areas.
  • Individual Air Vents: Look for vehicles with multiple adjustable air vents throughout the cabin.
  • Efficient Heating/Cooling: Verify the system maintains consistent temperature in all weather conditions.

3. Luggage and Storage Solutions

  • Dedicated Boot Space: Choose vehicles with organized, secure luggage compartments.
  • Interior Storage: Look for convenient pockets, cup holders, and overhead compartments.
  • Easy Access Loading: Consider vehicles with low loading sills and wide-opening doors.

4. Entertainment and Connectivity

  • Charging Ports: Ensure availability of USB ports and 12V sockets for all passengers.
  • Wi-Fi Connectivity: Look for vehicles offering complimentary internet access.
  • Entertainment Systems: Consider options with individual screens or audio entertainment.

Advanced Safety Technologies

1. Driver Assistance Systems

  • Rear View Cameras: Essential for safe reversing and parking maneuvers.
  • Parking Sensors: Both front and rear sensors aid in tight space navigation.
  • Blind Spot Monitoring: Additional warning systems enhance driving safety.

2. Vehicle Stability Features

  • Electronic Stability Control: Helps maintain control during emergency maneuvers.
  • Anti-lock Braking System: Prevents wheel lock-up during hard braking.
  • Traction Control: Improves grip on slippery surfaces.

3. Passenger Protection Systems

  • Multiple Airbags: Look for comprehensive airbag coverage including side curtains.
  • Reinforced Safety Cell: Choose vehicles with enhanced passenger compartment protection.
  • Emergency Assistance: Prefer services with 24/7 support and tracking capabilities.

The Gatwick Taxi Transfer Standard

At Gatwick Taxi Transfer, we exceed standard safety and comfort requirements:

Our Safety Commitment:

  • All vehicles undergo daily safety checks and regular professional maintenance
  • Comprehensive insurance coverage with full passenger protection
  • Drivers with enhanced DBS checks and ongoing safety training
  • Real-time vehicle tracking and 24/7 operational support

Our Comfort Features:

  • Modern fleet with premium interior specifications
  • Climate-controlled environments with individual zone control
  • Complimentary Wi-Fi and charging ports throughout
  • Professional interior cleaning between every journey

Verification Checklist for Customers

Before confirming your 7 seater taxi booking:

  1. Ask about vehicle age and maintenance schedule
  2. Verify driver licensing and training credentials
  3. Confirm child seat availability if required
  4. Check insurance coverage details
  5. Inquire about cancellation and delay policies
  6. Read recent customer reviews and ratings
  7. Verify company accreditation and certifications

Conclusion: Prioritizing Your Well-being

Choosing a 7 seater taxi service involves more than just comparing prices. The right provider will demonstrate clear commitment to passenger safety through maintained vehicles, qualified drivers, and proper insurance coverage. Comfort features, while enhancing your journey, should complement rather than compromise safety standards.

When you book with Gatwick Taxi Transfer, you're choosing a service where safety and comfort are integrated into every aspect of our operation. From our meticulously maintained vehicles to our professionally trained chauffeurs, we ensure your group travels with peace of mind and arrives in comfort.

For your next group journey, don't compromise on what matters most. Choose a seven seater taxi service that prioritizes your safety and comfort above all else.

讨论 (0)1
登录或注册以继续
问题
· 20 hr 前

RecordMap Data Validation

I am trying to add some validation to an existing Record Map, because recently we had some wrong data get consumed into the System and is causing all kinds of havoc.

Using the AI on the Developer community it suggested that I use PATTERN within the Datatype Parameters to force some validation on some fields. I have never used PATTERN before...

When I go to generate the updated Record Map, I am getting the following...

By the screenshots is my logic not correct?

2 条新评论
讨论 (2)3
登录或注册以继续
InterSystems 官方
· 十一月 21

InterSystems anuncia la disponibilidad general de InterSystems IRIS, InterSystems IRIS for Health y HealthShare Health Connect 2025.3

La versión 2025.3 de la plataforma de datos InterSystems IRIS, InterSystems IRIS for Health y HealthShare Health Connect ya está disponible de forma general. Esta es una versión de entrega continua o CD  (Continuous Delivery).

Aspectos destacados de la versión:

  • Secure Wallet: Un nuevo marco cifrado para gestionar datos sensibles, basado en la base de datos IRISSECURITY, que mejora la seguridad del sistema y el control de acceso.
  • Observabilidad e integraciones en la nube ampliadas: Métricas mejoradas de OpenTelemetry, incluidas nuevas métricas de procesos y ECP, además de que el archivado de journals ahora es compatible con Azure Blob Storage para una retención rentable.
  • Mejoras en datos e IA: Las tablas externas ahora admiten la optimización de JOIN para un mejor rendimiento SQL, y Vector Search recibe un índice HNSW actualizado con búsquedas de similitud más rápidas y robustas.
  • Mejoras en el ámbito sanitario: Acceso mejorado a datos masivos FHIR y nuevas funciones de autenticación.
  • Actualizaciones para desarrolladores y la interfaz: La interfaz de interoperabilidad incorpora acciones de gestión masiva, una búsqueda ampliada dentro de la configuración de producción y una mejor usabilidad para producciones a gran escala, reforzando una experiencia de usuario modernizada.

Por favor, compartid vuestro feedback a través de la Comunidad de Desarrolladores para que podamos construir un producto mejor juntos.

Documentación

Los detalles de todas las funcionalidades destacadas están disponibles en los siguientes enlaces:

Además, consultad la lista de verificación de impacto de actualización para obtener una visión general y fácilmente navegable de todos los cambios que debéis tener en cuenta al actualizar a esta versión.
 

Programas de Acceso Anticipado (EAP)

Si estáis interesados en el Programa de Acceso Anticipado, podéis registraros aquí.

Descargad el Software

Como siempre, las versiones CD, de Entrega Continua, vienen con paquetes de instalación clásicos para todas las plataformas compatibles, así como imágenes de contenedor en formato Docker.

Paquetes de instalación clásicos

Los paquetes de instalación están disponibles en la página de InterSystems IRIS del WRC para InterSystems IRIS e InterSystems IRIS for Health, y en la página de HealthShare del WRC para Health Connect. Los kits también pueden encontrarse en el sitio web de Evaluation Services.

Availability and Package Information

Esta versión incluye paquetes de instalación clásicos para todas las plataformas compatibles, así como imágenes de contenedor en formato Docker. Para obtener una lista completa, consultad el documento de plataformas compatibles.

El número de compilación de esta versión de CD es 2025.3.0.226.0.

Las imágenes de contenedor están disponibles en el InterSystems Container Registry. Los contenedores están etiquetados como “2025.3” y “latest-cd”.

讨论 (0)1
登录或注册以继续
文章
· 十一月 21 阅读大约需 12 分钟

Node.jsからIRISのクラスを呼び出してみた

開発者の皆さん、はじめまして!

普段はサーバーレス環境での開発をしていて、AWS Lambda を使ったアプリケーション構築を主に行っています。IRIS についての実装経験はまだ浅いのですが、その高速で柔軟なデータベース機能の素晴らしさはよく知っています。

「このパワフルな IRIS を、使い慣れたサーバーレスアプリから呼び出せたらいいのにな...」

そんな思いから、今回 AWS Lambda と IRIS Native API を組み合わせた実装に挑戦してみました。これを通して、IRIS のことをもっと好きになれたらいいなと思っています。まだ IRIS の実装経験が浅いため、もっと良いアプローチや最適な方法があるかもしれません。もし改善点や間違いがあれば、ぜひコメントで教えていただけると嬉しいです!

この記事では、AWS Lambda から IRIS Native API を使用してデータを取得する方法を実装例とともに解説します。この基本実装をベースに、S3 トリガーや他の AWS サービスとの連携も可能です。ぜひ最後までお付き合いいただけると嬉しいです!

讨论 (0)1
登录或注册以继续