Skip to content

ARCUST

Customer

Sales customer

Inherits from EbmsEntity

Properties

Version 1.7.283.1, Updated on Wednesday, December 11, 2024

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"
}