Creating a new customer.
POSThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/ARCUST
{
"TREE_ID": "123",
"ID": "DOEJOH",
"F_NAME": "John",
"L_NAME": "Doe",
"ADDRESS1": "123 Main Street",
"ADDRESS2": "Apt 5",
"ZIP": "12345",
"PHONE": "1234567890",
"EMAIL": "johndoe@outlook.com",
"MEMO": "Multi-line memo \r\nWrite a book in here"
}
Get a list of customers.
GEThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/ARCUST?$filter=INACTIVE eq false&$select=ID,AUTOID,F_NAME,L_NAME,ADDRESS1,CITY,STATE,ZIP,CONTACT_1,CONTACT_2
Get a customer's information.
GEThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/ARCUST(ID='DOEJOH')?$select=ID,AUTOID,F_NAME,L_NAME,ADDRESS1,CITY,STATE,ZIP,CONTACT_1,CONTACT_2
Get a customer's list of sales orders and invoices with a balance.
GEThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/ARCUST(ID='DOEJOH')/PayOrders?$select=ID,AUTOID,INVOICE,BAL_CUST_P,BAL_CUST_C,OVERDUE,DISCOUNT,IDCHARGE,STATUS,DUE_DATE,INVOICE,INV_DATE,SHIP_DATE,TOTAL,TOTAL_PAID,CHARGE,TOTAL_SO&$orderby=DUE_DATE
Apply payments to multiple invoices for a customer
POSThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/ARCUST('DOEJOH')/Model.Entities.ReRecordPayment
{
"Authorization": string,
"CardClientID": string,
"CardExpiration": MMYY string,
"CardNumber": string,
"CardSecurityCode": string,
"CardSoftware": fixed value string,
"CardType": string (only needed when no ARCC module),
"Method": 7,
"PaymentAction": fixed value string,
"PaymentDate": string,
"PaymentGL": string,
"PaymentType": fixed value string,
"CheckNumber": string,
"Invoices": (required one, no maximum)
[
{
"Invoice": string,
"InvoiceAutoID": string,
"Amount": 5.88
}
],
"AdditionalFields": (none required, no maximum)
[
{
"Key": string,
"Value": string
}
]
}
"Fixed value string" values are the bold names:
public enum CreditCardSoftware
{
None = 0,
PaywarePC = 1,
PaywareConnect = 2,
Website = 3,
PayPal = 4,
}
public enum PaymentType
{
Cash = 1,
Check = 2,
GiftCard = 3,
EBT = 4,
Debit = 88,
Credit = 99,
}
PaymentAction
{
CashOrCheck = "XX3",
Verify = "997",
VerifyWithoutProcessor = "XX2",
Preauthorize = "994",
PreauthorizeWithoutProcessor = "XX1",
Postauthorize = "991",
PostauthorizeWithoutProcessor = "XX7" //Used when recording offline payments (those processed by another gateway than one that has been semi-integrated with EBMS)
}
Assigning Terms or Discounts
PATCHhttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/ARCUST('DOEJOH')
Setting the Discount or Due fields on customers is a little tricky because there are two values that need to be set. The first is an ID, and the second is what is to be displayed. First, configure a customer in EBMS to what is desired and then using Postman GET the customer information. The values it pulls are the values that should be written with the POST or PATCH.
It is also important that the ID be first in the JSON body that is being sent to EBMS through the API.
For example:
{
"IDDISCOUNT": "1DSCOUNT",
"DISCOUN": "5 % paid in 10 days"
}
or in the case of (None) only the ID needs to be sent because no specific values such as 5% or 10 days are needed.
{
"IDDISCOUNT": "DNONE"
}