Direct Client Entity Access

The Direct_Client_Entity_Json function provides access to a client's data via read or write modes.
To enable this feature, the 'Direct Access API into Hyper' permission must be included in the Website Features settings.
The client's data is based on the following six database tables:

Read Client Data

Activating this function in read mode retrieves all the client's data from all six tables listed above.
To read the data, simply call the function with the ClientNumber and API_Password parameters.
Here is an example:
// Function Input:
{
  "ClientNumber": 500608,
  "API_Password": "8Lba7u5smGR7"
}
// Function Output:
{
  "ResponseCode":0,
  "Client_Rec":{
    "ClientNumber":500608,
    "Agency":0,
    "Title":"",
    "LastName":"חברה לניסיון בע\"מ",
    "FirstName":"",
    "3rdOptionalName":"",
    "ClientFullName":"חברה לניסיון בע\"מ",
    "Email":"demo@company.co.il",
    "WebPage":"",
    "1stPhone":"03-126-4567",
    "2ndPhone":"",
    "3rdPhone":"",
    "Fax":"",
    "StreetAddress":"ויצמן 1",
    "City":"תל אביב",
    "Region":"",
    "Country":"ישראל",
    "ZipCode":"",
    "BuildingApartmentOfficeInstructions":"",
    "UseADifferentMailingAddress":"",
    "Gender":3,
    "Birthday":"1984-12-06",
    "IdNumber":"5165498712",
    "IdDocType":5,
    "IdDocValidUntil":"2026-11",
    "CountryIssuingId":"ישראל",
    "TitleInEnglish":"",
    "LastNameInEnglish":"Testing Company Inc",
    "FirstNameInEnglish":"",
    "ClientFullNameInEnglish":"Testing Company Inc",
    "MaritalStatus":0,
    "IdNumber2":"",
    "IdDocType2":0,
    "IdDocValidUntil2":"",
    "CountryIssuingId2":"",
    "DocsFormsLanguage":2,
    "ParentClientAccount":0,
    "ParentClientAccountName":"",
    "AssignJournalEntriesToParent":0,
    "UseCurrencyByDefault":"ILS",
    "CommittedToPayVat":1,
    "ProduceInternationalDocumentsByDefault":0,
    "SendOfficialDocumentsToPrimaryEmail":1,
    "PreventSendingPrintingOfTheFollowing":[],
    "DefaultPaymentTerms":0,
    "CreditMonths":0,
    "CreditDays":0,
    "ExportAccountTo3rdParty":0,
    "GovTaxAuthoritiesId":"",
    "MoneyLaundering":1,
    "SecRegulation":0,
    "PriceList":"",
    "IndustryClassificationCode":0,
    "IndustryClassification":"",
    "RoleForLoanModule":0,
    "SupplierAccountNumber":10017,
    "SupplierName":"המשווק שלי",
    "MiddlemanContactPerson":"",
    "DefaultSalesAgent":"",
    "DefaultRelationshipManager":"",
    "SpareAgent1":"",
    "SpareAgent2":"",
    "SpareAgent3":"",
    "AcceptCommercialInfoToCellPhone":"2025-01-12 19:05:00",
    "QuestionToUseCellPhone":1,
    "AcceptCommercialInfoToEmail":"2025-01-12 19:05:00",
    "QuestionToUseEmail":1,
    "GisLatitude":0,
    "GisLongitude":0,
    "CreatedOn":"2025-01-11 22:40:59",
    "CreatedBy":"SYE Shlomi Ronen",
    "PopupSeriousNote":"",
    "LastPhoneCallOn":"2025-02-13 14:53:09",
    "LastPhoneCallBy":"",
    "LastPhoneCallTryToCallResult":3,
    "NextPhoneCallOn":"",
    "NextPhoneCallBy":"",
    "LastContactOn":"2025-02-13 14:53:09",
    "LastMeetingOn":"",
    "FirstMeetingOn":"",
    "FirstProposalQuotationOn":"",
    "ClientApprovalDate":"2025-01-14",
    "FirstTransactionDate":"2025-02-13",
    "LastTransactionDate":"2026-01-14",
    "MandatoryDocuments":0,
    "ReviewStatus":0,
    "DataPortProfileNumber":0
  },
  "Client_Ext_Rec":{
    "RefusalReceiveService":1,
    "PublicFigure":1,
    "NoneIsraeliTaxLiability":0,
    "OnlyForMe":1,
    "MonthlyStandingOrderBtc":0.00
  },
  "Contact_Persons":[
    {
      "CreatedOn":"2025-12-15 10:02:43",
      "AgencyDivisionName":"",
      "Title":"",
      "3rdOptionalName":"",
      "ContactFullName":"רונן שלומי",
      "JobTitle":"",
      "WebPage":"",
      "2ndPhone":"",
      "3rdPhone":"",
      "Fax":"",
      "StreetAddress":"האומנות 2",
      "City":"פרדס חנה-כרכור",
      "Region":"חדרה",
      "Country":"ישראל",
      "ZipCode":"",
      "BuildingApartmentOfficeInstructions":"",
      "UseADifferentMailingAddress":"",
      "Gender":1,
      "Birthday":"1980-04-01",
      "IdNumber":"035698141",
      "IdDocType":1,
      "IdDocValidUntil":"2026-07",
      "CountryIssuingId":"ישראל",
      "TitleInEnglish":"",
      "LastNameInEnglish":"",
      "FirstNameInEnglish":"",
      "ContactFullNameInEnglish":"",
      "MaritalStatus":0,
      "IdNumber2":"",
      "IdDocType2":0,
      "IdDocValidUntil2":"",
      "CountryIssuingId2":"",
      "LegalStatusRole":[],
      "AllowToReceiveOfficialDocuments":0,
      "Former-Disabled":0,
      "AcceptCommercialInfoToCellPhone":"",
      "QuestionToUseCellPhone":0,
      "AcceptCommercialInfoToEmail":"",
      "QuestionToUseEmail":0,
      "PartnershipHyperClientAccount":0,
      "PercentageOfPartnershipInThisAccount":0,
      "AmlRiskManagement":0,
      "WebsiteAuthorization":0,
    }
  ],
  "CC_Banking":[
    {
      "CreatedOn":"2025-01-12 17:57:49",
      "PaymentMethod":2,
      "DefaultForAutomaticMonetaryTransactions":1,
      "AllowToBeUsedByWebsiteApi":1,
      "BankCode":"11",
      "BranchSwift":"40",
      "Account":"616494",
      "BankTransferPaymentFormat":0,
      "RegBankCountry":"ישראל",
      "RegBankName":"בנק דיסקונט לישראל בע\"מ, רמת גן",
      "RegBankAddress":"הרצל 50 רמת גן",
      "RegAccountOwnerAsContactPerson":"",
      "CcLast4Digits":"",
      "ShortDescription":"מאושר למס\"ב",
      "RequestedPaymentDayMonthly":0,
      "LastUsage":"2026-03-09 17:56:50",
      "LastUpdate":"",
      "EntityFullName":"חברה לניסיון בע\"מ",
      "Comments":"12\/01\/2025 15:57:51 api"
    }
  ],
  "Monthly_Billing":[
    {
      "CommitmentId":1,
      "ServiceStartedFrom":"2025-02-01",
      "ServiceEndsAt":"",
      "CatalogicNumber":"Human_User",
      "Description":"מנוי חודשי לרישיון שימוש בתוכנת הייפר, למשתמש אנושי",
      "Quantity":4,
      "UnitOfMeasure":1,
      "NetSalePrice":180,
      "GrossSalePrice":0.00,
      "SalePriceMethod":0,
      "SaleCurrency":"ILS",
      "Logic":0,
      "LastBillingDate":"2026-03-09",
      "Notes":"",
      "TaxClass":"IL1"
    }
  ],
  "Website_Rec":{
    "AccountStatus":2,
    "SendOtpOver":2,
    "LastRegistrationStep":1,
    "RegistrationCompleteUntilStep":1,
    "FirstRegPageDate":"2025-01-11",
    "RegistrationDate":"",
    "AgreeToTermsCheckbox":"",
    "LastSign-inDate":"",
    "LastSign-inDetails":"",
    "LastPasswordChange":"",
    "LastPasswordRecoveryRequestUtc":"",
    "LastQuiz":"",
    "LastQuizDate":"",
    "LastDocUploadDate":"",
    "LastShoppingDate":"",
    "LastPaymentDate":"",
    "LastContractSigningAt":"",
    "MustSignContractAgain":0,
    "EmailTokenAtUtc":"",
    "EmailVerificationStatus":0,
    "PhoneTokenAtUtc":"",
    "PhoneVerificationStatus":0,
    "TimeBasedOtpTokenAtUtc":""
  }
}

Update Client Data

To update specific fields across the six tables mentioned above, call the function with the ClientNumber and API_Password parameters, and provide JSON objects for the tables you wish to modify.
To update a record within a subtable (such as contact persons or banking information), use the
ItemIndex
parameter as explained below.

Important Note:
Sending empty parameters will cause existing data to be erased!
To bypass this issue, add the parameter
"SkipEmptyValues":1
to the request. This ensures that empty parameters will not overwrite existing data.

Here is an example demonstrating three tasks simultaneously:
  • Update the "2nd Phone" field in the main client record.
  • Update the "3rd Optional Name" field of the first contact person.
  • Add a new contact person. Since this is a low-level method, it does not check for duplicates or enforce mandatory fields!
{
  "ClientNumber": 500608,
  "API_Password": "12 ansi chars",
  "SkipEmptyValues": 1,

  "Client_Rec": {
    "2ndPhone": "097406666"
  },
  "Contact_Persons": [
    {
      "ItemIndex": 0,                     // edit the first person, by using the "ItemIndex" object
      "3rdOptionalName": "ניסיון"
    },
    {
      "Title": "",                        // add a new person record to the table, by NOT using the "ItemIndex" object
      "LastName": "איש קשר",
      "FirstName": "נוסף",
      "3rdOptionalName": "",
      "Email": "somebody@gmail.com",
      "WebPage": "",
      "1stPhone": "0528765432",
      "2ndPhone": "",
      "3rdPhone": ""
    }
  ]
}
Function Input:
Field Description
ClientNumber The client entity that you wish to update.
API_Password For data security, every client has a unique password for HTML and API access.
SkipEmptyValues Use this parameter when passing all fields if you want Hyper to SKIP empty strings or zero values.
Otherwise, any field included in the JSON object will overwrite the existing value in Hyper.
ItemIndex To update a record within an array object, include this field. The array is zero-indexed (the first item is 0).
If neither "ItemIndex" nor "DeleteItemIndex" is provided, Hyper will ADD a new record to the table.
DeleteItemIndex Use this field to DELETE a record from an array object.
"AddItem":"PreventDup" Post this parameter (flag) when adding new records to any of the following tables:
hyp_Client Contacts
hyp_Entity_Banking_and_Credit_Cards
hyp_Client Monthly Billing for Services
This flag instructs the system to check existing records and prevent the creation of duplicates.
* DO NOT USE this flag with "ItemIndex"!

In-depth explanation:
  • A "hyp_Client Contacts" (contact person) duplicate occurs when any of the following fields -
    [Email]
    OR
    [1st Phone]
    OR
    [2nd Phone]
    OR
    [ID Number]
    OR
    [ID Number 2]
    - contain data that matches an existing record in the database.
  • A "hyp_Entity_Banking_and_Credit_Cards" (payment method) duplicate occurs when all of the following fields -
    [Payment Method]
    AND
    [Bank Code]
    AND
    [Branch / Swift]
    AND
    [Account]
    AND
    [Encrypted Data]
    - match an existing record in the database.
  • A "hyp_Client Monthly Billing for Services" duplicate occurs when all of the following fields -
    [Catalogic Number]
    AND
    [Description]
    AND
    [Quantity]
    AND
    [Net Sale Price]
    AND
    [Gross Sale Price]
    - match an existing record in the database.

Function Output:
{
  "ResponseCode": 0,
  "ResponseMsgEng": "Database was updated successfully",
// At this point, all 6 tables are exported just like in the read example above.
}