A Guide to API Development: Tools, Working and Best Practices