BestRx APIs
Contact Us
  1. BestPOS API
  • Introduction - BestRx APIs
  • Patient API
    • Overview
    • Error Codes
    • Add Patient
      POST
    • Update Patient
      POST
    • Get Patient
      POST
    • Submit Charge Account Payment
      POST
  • Drug API
    • Overview
    • Error Codes
    • Get Drug Information
      POST
  • Prescription API
    • Overview
    • Error Codes
    • Submit Rx Transfer Request
      POST
    • Return to Stock
      POST
    • Save Rx Signature
      POST
  • Refill API
    • Overview
    • Error Codes
    • GetPatientProfile
      POST
    • Send Refill Request
      POST
  • BestPOS API
    • Overview
    • Error Codes
    • Create POS Transaction
      POST
    • Get POS Transaction Status
      POST
    • Get Item Details
      POST
  • Delivery/Shipping Provider API
    • Overview
    • Error Codes
    • Address Validation
    • Create Order
    • Update Order Status
    • Cancel Order
  • Realtime Data Feed Specification
    • Overview
    • Patient Update Callback
    • E-Prescription Notification Callback
    • Prescription Update Callback
  1. BestPOS API

Create POS Transaction

POST
https://posservice.bestrxconnect.com/createpostransaction
INFO
This endpoint is used to create a POS transaction in BestPOS system.

Request

Header Params
Content-Type
string 
optional
Example:
application/json; charset=utf-8
Body Params application/json
PharmacyNumber
string 
required
Pharmacy NPI Number
Example:
1234567890
TxnDateTime
string 
required
Date and Time (YYYY-MM-DD or ISO 8601 Format) when transaction occurred.
Examples:
2023-12-312023-12-31T23:59:59Z
IsPaymentComplete
boolean 
required
If you are collecting payment the value will be True otherwise False.
PharmacyPatientID
integer 
optional
Patient/Customer record number from Pharmacy System. Either "PharmacyPatientID" OR "CustomerFirstName" and "CustomerLastName" both required.
Example:
101
TotalTxnAmt
number 
required
Total Amount for Transaction
Example:
10.01
Signature
string 
optional
Base64 Signature String. Signature is required when prescription is present in transaction.
Example:
Signature in Base64 Format
PaymentInfo
array [object {9}] 
optional
Array of payments collected. This object is required when payment is already collected.
PaymentType
enum<string> 
required
It will be Credit, Debit, FSA (Let us know if you will be accepting other types). Payment Type can be C or D or F.
Allowed values:
CDF
Example:
D
PaymentAmt
number 
required
Amount Collected for this payment type
Example:
10.01
PaymentAcctName
string 
optional
Visa Card, Master Card, Amex, etc.
<= 20 characters
Example:
Master Card
PaymentAcctHolderName
string 
optional
Cardholder Name
<= 100 characters
Example:
John Doe
PaymentRefNumber
string 
optional
Reference Code from Payment Processor
<= 40 characters
Example:
ABCRef12345
PaymentTxnID
string 
optional
Transaction ID from Payment Processor
<= 20 characters
Example:
1234567890
PaymentResultCode
string 
optional
Result Code from Payment Processor
<= 10 characters
FSAHealthCareAmt
number 
optional
FSA Amount applied towards health care items. Required for FSA PaymentType.
Example:
10.01
FSARxAmt
number 
optional
FSA Amount applied towards Rx items. Required for FSA PaymentType.
Example:
10.01
ItemInfo
array [object {13}] 
required
Array of Items in transaction
ItemSKU
string 
optional
Item SKU/UPC. Required if RxNo not provided.
<= 15 characters
Example:
052000003208
RxNo
number 
optional
Prescription number from Pharmacy System. Required if SKU not provided.
Example:
12345
FillDate
string 
optional
Prescription Fill Date (YYYY-MM-DD or ISO 8601 Format) from Pharmacy System. Required if SKU not provided.
Examples:
2023-12-312023-12-31T23:59:59Z
Qty
integer 
required
For Items - Number of Quantity Sold. For Prescriptions - Number of Quantity Filled.
Examples:
130
SalePrice
number 
required
Cost of the item
SaleTaxPercent
number 
optional
Tax Percentage. Required when item is taxable
SaleTaxAmt
number 
optional
Tax Amount. Required when item is taxable
SaleDiscPercent
number 
optional
Discount Percentage. Required if Percentage Discount was given.
SaleDiscAmt
number 
optional
Discount Amount. Required if Percentage Discount was given.
CityTaxPercent
number 
optional
City Tax Percentage
CityTaxAmt
number 
optional
City Tax Amount
CountTaxPercent
number 
optional
County Tax Percentage
CountyTaxAmt
number 
optional
County Tax Amount
VendorTransactionID
string 
required
Unique Transaction ID
<= 40 characters
Example:
VendorTxn123
CustomerFirstName
string 
optional
Customer First Name
Example:
Test First Name
CustomerLastName
string 
optional
Customer Last Name
Example:
Test Last Name
CustomerMiddleName
string 
optional
Customer Middle Name
Example:
Test Middle Name
Notes
string 
optional
Use this field to send any additional information for Pharmacy.
Example:
testing xoom cart
Example
{
    "PharmacyNumber": "1234567890",
    "TxnDateTime": "2023-12-31T23:59:59Z",
    "IsPaymentComplete": true,
    "PharmacyPatientID": 101,
    "TotalTxnAmt": "10.01",
    "Signature": "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",
    "PaymentInfo": [
        {
            "PaymentType": "D",
            "PaymentAmt": 10.01,
            "PaymentAcctName": "",
            "PaymentAcctHolderName": "John Doe",
            "PaymentRefNumber": "ABCRef12345",
            "PaymentTxnID": "1234567890",
            "PaymentResultCode": "",
            "FSAHealthCareAmt": 10,
            "FSARxAmt": 10
        },
        {
            "PaymentType": "C",
            "PaymentAmt": 10.0,
            "PaymentAcctName": "Master Card",
            "PaymentAcctHolderName": "Nilesh Patel",
            "PaymentRefNumber": "ABCRef12345",
            "PaymentTxnID": "1234567890",
            "PaymentResultCode": "9922222",
            "FSAHealthCareAmt": 10,
            "FSARxAmt": 20
        }
    ],
    "ItemInfo": [
     {
        "ItemSKU": "052000003208",
        "RxNo": 0,
        "FillDate": "",
        "Qty": 1,
        "SalePrice": 60.00,
        "SaleTaxPercent": 0,
        "SaleTaxAmt": 0,
        "SaleDiscPercent": 12,
        "SaleDiscAmt": 12,
        "CityTaxPercent": 0,
        "CityTaxAmt": 0,
        "CountTaxPercent": 0,
        "CountyTaxAmt": 0
     },
     {
        "ItemSKU": "",
        "RxNo": 12345,
        "FillDate": "2023-12-31T23:59:59Z",
        "Qty": 30,
        "SalePrice": 60.00,
        "SaleTaxPercent": 32,
        "SaleTaxAmt": 10,
        "SaleDiscPercent": 20.3423434,
        "SaleDiscAmt": 10,
        "CityTaxPercent": 0,
        "CityTaxAmt": 0,
        "CountTaxPercent": 0,
        "CountyTaxAmt": 0
     }
    ],
    "VendorTransactionID": "VendorTxn123",
    "CustomerFirstName" : "John",
    "CustomerLastName" : "Smith",
    "CustomerMiddleName" : "Adam",
    "Notes": "Bring my fortune cookie"
}

Responses

🟢200OK
application/json
Body
Data
object 
required
Contains Object of POS Tracking Data
PosServiceTrackingID
string 
required
Unique POS service tracking ID
TransactionDate
string <date-time>
required
Date and time when transaction occurred. ISO8601 datetime
StatusID
integer 
required
Numeric value of tracking status
StatusDesc
string 
required
Status description
LastStatusDate
string <date-time>
required
Last status updated date and time. ISO8601 datetime
IsValid
boolean 
required
True when Successful OR False when Failed
Messages
array[string]
required
Contains Messages when Request Failed
Examples
{
    "Data": {
        "PosServiceTrackingID": "97f47ce8-ff19-4e24-b0fa-a1ee41292aae",
        "TransactionDate": "2023-12-31T00:00:00Z",
        "StatusID": 1,
        "StatusDesc": "Initiated",
        "LastStatusDate": "2024-01-02T00:00:00Z"
    },
    "IsValid": true,
    "Messages": []
}
🟢200Required Fields
Modified at 2024-06-07 15:22:38
Previous
Error Codes
Next
Get POS Transaction Status