Hi Vikram,
Yes, what you have suggested is an ideal approach, however, the CustomerService.getCustomers currently does not function as what you have stated. Currently, the CustomerService.getCustomers can only return customers associated to the login you used to authenticate the request. These customers that I mentioned, however, does not necessarily mean that they are in the same manager structure hierarchy. You can find out more about this feature by visiting this
blog post.
What I could recommend is that to first use the ManagedCustomerService.get and using the customer IDs from the result, make separate calls using the CustomerService for each of the customer IDs to check if canManageClients = true. If true, then you may make another call to ManagedCustomerService to return the next hierarchy if available.
I hope this helps and please let me know if you are still experiencing any issues using the any of the services.
Best regards,
Peter
AdWords API Team