Contacts created via the APi are not showing in the Xero app - contacts

We've setup an "app" using a custom connection, and we're using the xero-ruby gem in a Rails app to interact with Xero. Using the accounting_api.get_contacts('').contacts method, I can see the contacts in the "Demo" company supplied by Xero. When I use the accounting_api.create_contacts method I can create contacts, and I get back successful responses with contactIDs, etc. When I use the accounting_api.get_contacts('').contacts method again, I can see all the Demo contacts, including the new ones I've created.
Trouble is I don't see these new contacts within the Xero app. If I go to Demo, I see the same contacts being returned by the api, except for the new ones I've created. Same with invoices... I can create them via the API but I don't see them in the Xero app. I've had our accountant look, and he should have full authority to everything, and he doesn't see them either. Any ideas on what could be going wrong?

Related

Sign-in with Apple from device using NextAuth.js

When using the Apple provider with NextAuth.js on the web server and signing in on a native device app (written in Swift using ASAuthorizationAppleIDButton and ASAuthorizationAppleIDProvider) using Sign In With Apple, how do you add a new user and account to the NextAuth.js database tables?
Besides signing into the iOS app, the user also needs to be able to sign into a website with Sign In With Apple and link his user account to other OAuth providers like Google (e.g. if signing in on Android). This question focuses on just Sign In With Apple on an iOS device and how to record that account info so that it plays nicely with sign-ins on other platforms.
Does NextAuth.js have a REST API that the iOS device can call to do this? Otherwise, if custom code on the Next.js server is needed to add the rows manually, is there documentation on what goes into each of the columns in NextAuth.js user and account tables?
if you just setup the AppleProvider, NextAuth.js won't keep a database of your users.
It lets Apple handle that and then just gets a signed message back saying, im paraphrasing, "Yup, thats Edward, and here are some more details about him.." and includes some basic info like your email address, profile picture URL, etc.
This is the basics of their OAuth-only strategy.
If you'd like to persist user data yourself and maybe add additional fields to the ones Apple returns to you, you'll have to setup an adapter. An adapter in NextAuth.js world is just a database where it will automatically save any new users and check against for existing users.
You can see the details of the various available adapters, including the default model/schema here: https://next-auth.js.org/adapters/models

Automate distribution of redemption codes for Custom B2B app

I have built a Custom B2B app for one of our clients. My question is how to automate the distribution of the redemption codes.
I have already looked at some of the MDM providers. Their solutions are too expensive and all we really need is a way to distribute the app from a webserver, not manage a bunch of mobile devices.
As you probably already know, when a client buys a Custom B2B app through the Apple VPP program, they get a spreadsheet with valid redemption codes for the number of licenses they have built. This spreadsheet has 2 columns: 1) redemption code 2) URL to redeem the code
I want to provide my client with a URL where they can send their users to download the app. They just don't have the expertise/infrastructure to distribute the app themselves. And emailing clients is not going to work.
I'm not a web guy, but it seems to me that we could write a webpage that would look at the spreadsheet for the next available activation code and then redirect the user to the associated URL. I'm not concerned with the number of licenses they distribute since I have another way of auditing the real number of users (Flurry). So I want this to be as painless as possible.
In fact, I have multiple clients and want to provide them each with their own URL for their clients. It seems like this shouldn't be too difficult to code.
The problem is, I'm not the guy to write that code. Any ideas on how best to do this?
Assuming that you don't want to show the user a website you should be able to do this with an online service like parse.com and the features it offers.
From a user POV you would supply them with a link which directed them to parse.com with a path and parameters indicating the action to be taken (get app) and what account is associated. This would redirect the users browser to the appropriate destination.
The main issue (and this applies to any solution) is knowing if the user actually followed through and used the code. i.e. should it be removed from the DB so it isn't offered to another user in future. Then you would update the DB each time you get a new spreadsheet.
Anyway, this could be achieved with a little javascript in parse.com, specifically, by using cloud code which can interrogate and modify the DB and then redirect the user.
Obviously if you need user authentication of some kind or other restrictions then you would need to start adding some web interface on top of this in order to collect the details.

Is there a sample of displaying a BBM contact list using Cascades on BB10?

I have been struggling for a little while to get the contact list from a BBM connected app so that I can choose a contact to work with.
I am using the bb::platform::bbm::ContactService class, but whenever I call contacts() it comes back as null, even when the registration process is completed.
That method returns a list of contacts that have your application installed. There isn't a way for an application to read all of the user's BBM Contacts.
If you are looking to initiate a chat, you can use the invocation framework to do so and not specify a PIN. This will bring up the BBM contact picker - listing all BBM Contacts - for the user to select from.
Did you check to make sure your app has the right permissions? It should have access_pimdomain_contacts.

How to register callbacks for Googles Contacts API?

Instead of querying my server every x minutes for changes in my Google Contacts I rather like a certain URL to be called when a contact has been added, updated or removed either through GMail or my iPhone.
Is there a way I can register callbacks to do so?
For instance, at this point I added my GMail account to my iPhone and iMac. When I open the Contacts.APP I can see all my Gmail contacts. When I add a contact it will automatically be updated on my iPhone, on my iMac and in the GMail webinterface. However, I like to know when such an event occurs to run additional tasks through the Google Contacts API.

Managing multiple apps with one Google Analytics account?

I've just setup a Google Analytics for Mobile Apps account and I've implemented the SDK in my iPhone app with no trouble at all. However, I haven't figured out how to manage multiple apps with one account. It seems fairly easy to setup multiple subdomains when dealing with websites and I've noticed the javascript code has a setSubdomain function that doesn't seem to be present in the iPhone SDK.
Is there any way I can have google analytics differentiate my different apps for the same account?
Set up more profiles in GA - one profile per app. You should end up with UA codes like UA-XXXXX-1 and UA-XXXXX-2 - the XXXXX is the account identifier, and the suffix is the 'web property identifier' - in this case each app will have it's own property identifier. They don't match up 1-to-1 to GA profiles, as you can have more than one profile for a web-property-identifier (so you can have profiles with different filters on the same data), but in your case I'd suggest a separate web property IDs for each application.
So the docs say:
To use the SDK, you must create a free
account at www.google.com/analytics,
and create a new website profile in
that account using a fake but
descriptive website URL (e.g.
http://mymobileapp.mywebsite.com).
Once you create the profile, write
down or keep a copy of the web
property ID that is generated for the
newly-created profile. A Web property
ID is also known as the UA number of
your tracking code and looks like
UA-xxxxx-yy, where the x's and y's
indicate the unique numbers for your
profile. You must indicate the web
property ID you'd like to use when
instantiating the tracking object. See
Web Property for more information.
Appears to me you simply setup that "fake website" such as http://myapp1.yourwebsite.com and then you'll get a new UA- number which you plug into the code within myapp1.
App2 will have a different UA- number you use.