Quickbooks Online - Customer Query Using Email (QBXML) - quickbooks

Can't we query Quickbooks for a Customer using the Email address?
I came to know that the only way to query using Email is to query using FullName and then parse the response at your own end to match the Email address.
And this seems true as is not working within .
Why is this so? If we can query using then why can't using .
I just came to know about a "not so good" solution which is to store Email address in FullName field of QuickBooks Online and then make simple Query for customer using FullName. The drawback in this solution is that FullName's maximum length is 41 but I think Email addresses can exceed the 41 characters.

Yes you can, in QBO API v3.
For example:
SELECT * FROM Customer WHERE PrimaryEmailAddr = 'your-name#example.com'
It's undocumented, but I've been using it in production for a few years.
https://developer.intuit.com/docs/api/accounting/Customer

Can't we query Quickbooks for a Customer using the Email address?
Nope. QuickBooks does not support this.
If you want to query by the Email field, you'll need to pull the entire customer list (or find some other way to filter it down) and filter it within your application.

No, we can't query Quickbooks (QBO) for a Customer using the Email address, you have only filter options, please follow URL for reference, https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/customer. If you are having such requirement then fetch all the Customers at the starting of the your app, keep it in cache file and use it, specify cache duration as per your requirement.
Thanks,
Reshma D.

Related

Use Zapier to check new entries in typeform agains existing contacts in teamleader

I am using typeform to generate leads for my company through a landing page and it asks for a phone number. I am using this phone number to call them and when they pick up I add them to my teamleader CRM system. However, this is very inefficient because I have to add all those leads to Teamleader manually.
I have created some zaps through Zapier to automatically generate contacts in Teamleader when a new Typeform entry is submitted, however, some people fill in the form more than once. Also, I am using more than one typeform and some people fill in different forms with the same data. Therefore, I was wondering whether it is possible to have Zapier check whether a certain phone number is already in my teamleader database, and only create a contact when this particular phone number does not yet exist.
I have already tried using a filter, but I noticed that Zapier can only filter typeform contacts based on their ID, which is not helpful.
I hope someone can help me!
Thanks in advance.
After checking the official APIs of Teamleader https://developer.teamleader.eu/#/reference/crm/contacts/contacts.list I think you can search users by their number,name or email.
You can also load all your data into airtable and use it as a lookup in zapier. Alternatively you can request this feature from teamleader on their Zapier app.

I am creating shopify app,and i need to filter the customers from particular customergroup

I am using the following API to get Customer group. ShopifyAPI::CustomerGroup. I got customer group names and id but i am not able to retrive the customers for particular customer group.Kindly suggest some ideas.
You can't. Customer groups is not a valid Shopify API resource or an endpoint. Instead, try to get the customers based on field values listed here - Customer API.
It'd help much if your grouping is based on certain conditions that are easy to extract from API endpoints.

Documentation on passing parameters to event url

I am working on developing an integration between EventBrite and a CRM platform. In order to sync data back to the CRM platform I would like to pass a query string variable of the customer id to the EventBrite event url and have that data passed back to me when I query the API. Is this possible? If so is there documentation on what query string variables are available?
Unfortunately, there isn't an endpoint right now that supports this.
I would assume that you'd want to pass an email address as a unique identifier, and see all the associated tickets/registrations with that attendee.
Thanks for the feedback, we'll add this to our backlog, but it isn't something on our roadmap.

Google api schema for user fields

I have created a software that connects to Google apps email and allows me to create a signature for specified users with their info. In Google apps domain management is no possibility to edit more "advanced" fields like company address, fax, emails, title, nickname etc.. so I used Flash Panel which offer me this possibility. But for this I need the fields api schema to add it in my config in order to connect Google fields with my merge fields. I have managed to make it work for some fields like: Name, Company name, email address, all types of phones, title, department, manager, fax number by adding the following in my config file:
<string>name=Name.FullName</string>
<string>company=Organizations[Rel:http://schemas.google.com/g/2005#work].Name</string>
<string>mail=PrimaryEmail.Address</string>
<string>mobile=Phonenumbers[Rel:http://schemas.google.com/g/2005#mobile].Value</string>
<string>title=Organizations[Rel:http://schemas.google.com/g/2005#work].Title</string>
<string>department=Organizations[Rel:http://schemas.google.com/g/2005#work].Department</string>
<string>managerGA=ContactEntry.Relations[Rel:manager].Value</string>
<string>phone number=Phonenumbers[Rel:http://schemas.google.com/g/2005#work_fax].Value</string>
<string>emlHome=Emails[Rel:http://schemas.google.com/g/2005#home].Address</string>
or
<string>homeEml=Emails[Home:true].Address</string>
What is before "=" its just a name used for the connection and what I need is what is after the "="..
I have searched through Google documentation but I didn't managed to find the correct api schema format for some fields like: country, city, street, nickname, photo, website, URL, Notes, Organization Unit, Aka, and any others. Also in Flash Panel there is a possibility to add custom fields and would be great if I could connect those too with the merge fields from my signature template editor. Can someone help me with the correct ones or where/how can I find them?
Also for example if a user has two home emails, I know how to retrieve the first one, but how should the string look like for the second one?
This is an old unanswered question that I found in passing.
The example uses the Profiles API which was deprecated in December 2013. See the migration guide: https://developers.google.com/admin-sdk/directory/v1/guides/migrate
As of 2016, the API is the User resource of the Admin SDK. The API docs are here: https://developers.google.com/admin-sdk/directory/v1/reference/users/update
You can use User.primaryEmail for the Google Apps account's id/address and you can iterate through the array of User.emails[] for any additional email addresses.

How can I filter then modify emails using IMAP?

I have asked this question in a different post here on SO:
How can a read receipt be suppressed?
I have been doing some research of my own to try and solve this problem and accessing the email account via IMAP seems like it is going to be a good solution. I have successfully been able to access my own inbox and mark messages as read with no issue.
I have been asked to perform the same task on an inbox that contains over 23,000 emails. I would like to run the test on a small amount of emails from that inbox before letting the whole 23,000 get it.
Here is the code I have been running via telnet:
LOGIN user#mailserver.com password
SELECT Inbox
STORE 1:* flags \Seen 'this line marks all the emails as read
So my question is, how can I execute that STORE command on a specific group of emails ... say emails that are going to / coming from a specific account? Is there a way to concatenate the commands like a FETCH then the STORE? Or is there a better way to go about getting a collection of emails based on certain criteria and then modifying ONLY those emails that can be accomplished through IMAP?
Take a look at the IMAP SEARCH command. The syntax is really awful, but it'll let you search for recipients or senders, for certain words in the subject or the body of messages. It will give you a list of message ids and you can use those message ids in your call to STORE.

Resources