Hi Todd and Bradley — apologies for the delayed response, and thanks for reaching out. In general, we want to avoid using the Caliper API as a reporting or bulk data-export mechanism, particularly because API requests are subject to the AWS 29-second timeout and the API is designed for quick retrieval. Using the Lookup Customer endpoint with a createdOnOrAfter value may be a reasonable approach if you’re looking to retrieve customers created within a specific date range. If that doesn’t mee...
Hi Ivan,
Currently, we don't expose an endpoint to change the admin's login name. The current endpoint exposed only allows you to change some details for that user such as their first and last name, and email. We have another method that can be used to create a new admin user (https://docs.q2api.com/docs/q2-caliper-api/40aa58e1c9690-add-admin-user). You should be able to disable your current one wtih the disable an admin endpoint (https://docs.q2api.com/docs/q2-caliper-api/328d5e15e68bc-di...
Hi Matt,
Could you please open a ticket through the Q2 Developer Portal so we can take a closer look? When you do, please include the following details to help us isolate the issue:
- The full request payload (including the scopes used and the environment targeted)
- The full response body (including the log reference ID, which allows us to pull isolated logs for your attempt)
- The approximate timestamp when the error occurred
That information will allow us to pull the detailed lo...
Hi Joseph,
Currently, the Caliper API supports creating subsidiaries only in the context of user creation through the AddUser and Enrollment endpoints.There isn't an existing endpoint for retrieving subsidiaries via the API. That said, it would be fairly simple to add to the Caliper API, since we have an existing internal endpoint that could be used to fetch a list of subsidiaries, though right now it retrieves them by customer ID, not tax ID. Expanding this to support tax ID lookups would l...
Hi Kostia,
Currently, we do have any logic in place to fetch all customers within a group for a provided timeframe. The functionality available in our Customer object, in the search_by_create_date function.
However, before using this function could you please provide us with your use case? This would pull back a lot of data depending on the size of the group and having a better understanding of your us...
Hi Ian,
Currently there isn't support for updating user demographic information without it being persisted at the customer level. However, we are currently looking into providing support for it. Please keep an eye out for our changelog as we provide any updates on this effort.
Thanks,
Solène
Hi Ethan,
You have the right idea with mocking the decorator. In order for it to work, you could use monkeypatch to override the decorator with its mock and use importlib.reload to ensure that the changes are reflected (module caching appears to be the reason for which your mock isn't applying as expected.
E.g
You have a function that substracts 2 from a provided value, and a decorator defined in mydecorator.py that adds 4 to the value:
from mydecorator import add_four_...
Hi Dale,
The Q2 system typically does not allow for customers to be migrated if they have pending transactions as a general rule, therefore the Group Mover endpoint doesn't provide the ability to override this. However, you can move the other customers within that bucket that do not have pending transactions by setting the OmitPending flag to true.
The flag was provided to override the previous behavior with the Group Mover endpoint, where the entire batch or bucket of customers from...
Hi Ramkrishna,
Yes we currently provide the GeneratedTransactionRights node in the Update Policy Data endpoint which can be used to update view access for a given user. Please find more detailed information on the endpoint in our Policy Data guide.
Thanks,
Solène
Hi Surya,
CIF is short for Customer Information File. It's used as a unique identifier for a given user. More information can be found here https://docs.q2developer.com/support/q2_fundamentals.html. cif_internal is a cif that is used internally by the FI while cif_external refers to CIFs that are used externally for the FI.
Thanks,
Solène
Hi Viluan,
I believe the Caliper API GetAccountDetails endpoint does provide the masked external account value as part of the list returned for a given host account ID.
- Solène
Hi Ethan,
The WedgeAddress DBObject can be utilized to update your wedge address configurations. You can utilize self.db.wedge_address and provide the expected parameters for the update method, if this is for a tecton server extension. Otherwise, the same call can be invoked by initializing a WedgeAddress DBObject, passing in the logger and hq credentials, and then calling the update function. See https://docs.q2developer.com/api_references/q2_sdk/db/db_objects/wedge_address.html for...
Hi Nishith,
It appears that you do not have access to a sandbox environment, which is required to interact with our q2-sdk package. I would recommend reaching out the FI you are interacting with as they would need to be licensed with the SDK. Once completed, requests can be made for a sandbox environment (a widget for sandbox request will appear in your dashboard in the q2 developer portal https://q2developer.com/dashboard), Once provided, the setup guides in our documentation (https://doc...
Hi Jacob,
An array is returned because there could be multiple customers that meet the criteria depending on how you do the search. Seaches by unique identifiers like the CustomerID, LogonName, or TaxID would likely return a single customer. But more generic searches like CreatedOnOrAfter or PrimaryCIF could return several customers that meet the values provided. In terms of the addresses, only one address is returned for a given customer (the customer's default/primary address).
-- So...
Hi Praveen,
We have a Recipients DBObject that will allow you to pull these values. I believe the ACH Header is actually the ACHName, and the ACH ID the IdentificationNumber returned from the database object.
Thanks,
Solène
Hi Premkumar,
Thank you for reaching out. We do not currently provide a feature to track notifications or secure messages. Our endpoints will attempt to send the notication/message and in the case of a failure, provide more details, however, they do provide additional information that would enable you to determine whether or not a customer opens the message/ notification. I will create a ticket for our team to investigate the possibility of adding this functionality in the future.
Thank...
Hi Raul,
If you are interacting with Caliper API's Enrollment endpoint, it would typically create a new user and customer on each request. To add a user under a specific customer, visit our AddUser endpoint and specify the customer under which the user should be created.
Thanks,
Solène
Hi Brock,
We don't currently have a specific endpoint dedicated to unenrolling users, however, you can utilize existing endpoints to do so. During the enrollment process, we are creating a customer, user, and user logon for that user. In this case, it would suffice to delete these entities via our Delete User (see https://docs.q2api.com/docs/q2-caliper-api/42b9c8d4af217-delete-user) and Delete Customer (see https://docs.q2api.com/docs/q2-caliper-api/9291be24d2f67-delete-customer) endpoints...
Hi Shawn,
Thank you for the clarification. In that case, you may be interested in the GetAccountDetailsByIDWithUserLogon hq endpoint (https://docs.q2developer.com/api_references/hq_api/q2_api/GetAccountDetailsByIdWithUserLogon.html?highlight=available%20balance) which will take in a host account id and a user id and return account details including the available balance.
Please let me know if you have additional questions.
Thank you,
Solène
Hi Shawn,
To find more information regarding user transactions via the SDK:
We have a Policy Data DBObject that would allow you to retrieve such information (see https://docs.q2developer.com/api_references/q2_sdk/db/db_objects/policy_data.html). More specifically, you will be interested in the GeneratedTransactionRights node that gets returned from the get function which will provide more detail on a given user's transaction limits.
**If you are doing this through Caliper API:...
Hi Mandeep,
That is correct, you can use self.online_user to retrieve user demographic information. Their business phone can be found via the self.online_user.work_phone property you mentioned, or the demographic_info attribute that we provide (self.online_user.demographic_info) which would contain other bits of information about the user (see https://docs.q2developer.com/api_references/q2_sdk/shared_models/demographic.html). It could be utilized to grab a list of phones (which co...
Hi Draden,
You can make ACH payments from a bank in Q2 to other banks outside of the Q2 system over the ACH network. You would need to create a recipient using our api endpoint (https://docs.q2api.com/docs/q2-caliper-api/4c482f74048a4-create-recipient) which would include recipient detail as well as their routing and account numbers and then use the ACH Payments endpoint (see https://docs.q2api.com/docs/q2-caliper-api/cd80d433d1488-make-payments) for the transfer to that recipient. Your a...
Hi Steven,
q2_requests wraps python's request library so it will have the same interface with the added benefit of logging and asynchronous call handling. Anything you have in the python request library documentation will also be applicable to q2_requests. You can set a timeout the way you normally would and expect it to behave the same way. We also provide the ability to set timeouts at the environment level (the default is 30 seconds), but I believe that would be applicable to all of you...
Hi Draden,
The flow that you described above is valid. We don't currently support making ACH payments to unassociated accounts outside of these endpoints.
Create Recipient
- The
accountNumberfield refers to the account number that is used internally by the FI which I believe can be retrieved using theGetAccountListendpoint - The
clientAccountNumberfield doesn't appear to be utilized, we will make changes to our documentation to reflect this. In the meantime you may nee...
Hi Draden,
I don't believe there is a particular order in which transactions are returned. Caliper API calls to HQ (our business logic layer) to query the database and return a list of unsorted transactions by Host Account ID (haid) . We currently don't handle any logic to sort these however this can certainly be requested as a ticket on the developer portal.
Thanks,
Solène
Hi Draden,
-
What field tells you if a transaction is a deposit or a withdrawal?
Please refer to the list provided for OfxTrnTypes. -
What is the difference between SignedTxnAmount and TxnAmount?
SignedinSignedTxnAmountrefers to signed integers, which can be either positive or negative.TxnAmountis unsigned and therefore always positive. -
What OfxTrnTypes are there? Just credit or debit?
List of OfxTrnTypes:
CREDIT
DEBIT
I...
Hi Draden,
It appears that you are still missing a lookup value which is necessary for these calls. Please create a ticket on the developer portal so that we can provide you will the lookup key and further troubleshoot this issue.
Thanks,
Solène
Hi Draden,
The purpose of generating a uuid is to have a unique identifier for each user across all FIs in your system that can also be used to identify users in Q2. User IDs are typically replicated across multiple financial institutions. If you currently have a way of uniquely identifying your users, that can be used as the token.
-Solène
Hi Draden,
CaliperAPI:UsageToken:TESTACCOUNT is specific to q2 users. The CaliperAPI:UsageToken:finitloyalty scope had not been created, but it should now appear on your list of scopes. Please update your application and test again. Let me know if you run into issues with this.
Thanks,
Solène
Hi Ethan,
I believe we have 3 status codes: 1 for active, 2 for disabled, and 3 for inactive.
-Solène