【Hacker News搬运】发布HN:Nango(YC W23)-来源-可用的统一API
-
Title: Launch HN: Nango (YC W23) – Source-available unified API
发布HN:Nango(YC W23)-来源-可用的统一API
Text: Hey everyone, we are Bastien and Robin from Nango (<a href="https://www.nango.dev">https://www.nango.dev</a>). We take care of the annoyances of external APIs (167 and counting) so you can quickly build custom integrations for your SaaS, while retaining full control over how they work.
2 min demo video: <a href="https://www.loom.com/share/d04c67b47e284e86b91b4b99fba548ec" rel="nofollow">https://www.loom.com/share/d04c67b47e284e86b91b4b99fba548ec</a><p>SaaS engineering teams face a tough choice: they can build each integration in-house from scratch, which gives them full control but takes a lot of time and maintenance effort. Or they can use pre-built solutions, which are fast and easy but less flexible and might not fulfill all customer needs.<p>Nango combines the best of both worlds. We let you quickly ship custom integrations without building complex infrastructure or diving deep into the quirks of each API. You control the business logic, data models, and customer-specific configurations, like custom field mappings. We handle (O)Auth and run your integrations reliably in production.<p>Under the hood, your integrations run as typescript “lambdas” on Nango. A typical integration has 3-5 lambdas of 20-50 lines of code each. These lambdas live inside your git repo, are version-controlled with the rest of your app, and get deployed to Nango with a CLI (<a href="https://docs.nango.dev/understand/core-concepts">https://docs.nango.dev/understand/core-concepts</a>).<p>Our runtime has a built-in scheduler for continuous background syncs, monitoring to know if your integrations run as expected, detailed logging of everything that happens in Nango, and pre-built infrastructure to deal with (O)auth, retries, rate-limit handling, webhook floods, data caching, de-duplication, etc. More here: <a href="https://docs.nango.dev/understand/architecture">https://docs.nango.dev/understand/architecture</a><p>We have found that ChatGPT and Copilot let you build integrations on Nango very fast without having to learn each API’s intricacies. LLMs are great at figuring out which endpoint to use, what parameters it takes, etc. Paired with our runtime, this lets you build complex, high-scale integrations in hours instead of weeks.<p>We’ve put a ton of effort into dealing with API complexities, so you don’t have to. Even integrations that looked simple at first ended up forcing us to extend our infra to deal with their quirks and gotchas.<p>For example, we had to figure out 100+ different OAuth implementations (see <a href="https://www.nango.dev/blog/why-is-oauth-still-hard">https://www.nango.dev/blog/why-is-oauth-still-hard</a> and <a href="https://news.ycombinator.com/item?id=35713518">https://news.ycombinator.com/item?id=35713518</a>). We had to deal with a half-dozen non-standard auth methods (Github apps, Stripe apps, Netsuite, etc.), expiring webhooks, ways to deal with data dependencies, weird pagination methods, API keys that change with every API call, dozens of different ways to register for webhooks, etc. It’s a constantly moving target, but it is a challenge we have come to love, and we think the approach makes sense: we specialize in finicky details that vary from API to API—you specialize in making your product great and offering more integrations to your users.<p>Last but not least, Nango is open source (<a href="https://github.com/NangoHQ/nango">https://github.com/NangoHQ/nango</a>) under the ELv2 license (allows most use cases, except for direct copy-cats). Anybody can contribute new APIs & share their integration templates with the community.<p>The fastest way to see Nango in action is with our interactive demo here (no signup required): <a href="https://app.nango.dev/hn-demo">https://app.nango.dev/hn-demo</a><p>Or take a look at our docs: <a href="https://docs.nango.dev">https://docs.nango.dev</a><p>We would love to hear your feedback and look forward to the comments!
大家好,我们是来自南戈的巴斯蒂安和罗宾(<a href=“https://;/;www.Nango.dev”>https://;http://www.Nango.dev</a>)。我们解决了外部API(167和计数)的烦恼,因此您可以快速为SaaS构建自定义集成,同时保留对其工作方式的完全控制。2分钟演示视频:<a href=“https://;/;www.loom.com//!share/:d04c67b47e284e86b91b4b99fba548ec”rel=“nofollow”>https:///;www.loom.com/;share/;d04c67b47e284e86b91b4b99fba548ec</a><p>SaaS工程团队面临着一个艰难的选择:他们可以在内部从头开始构建每个集成,这使他们能够完全控制,但需要大量的时间和维护工作。或者,他们可以使用预构建的解决方案,这些解决方案快速简单,但灵活性较差,可能无法满足所有客户的需求<p> 南戈融合了两个世界的精华。我们让您快速交付自定义集成,而无需构建复杂的基础设施或深入了解每个API的怪癖。您可以控制业务逻辑、数据模型和特定于客户的配置,如自定义字段映射。我们处理(O)Auth并在生产中可靠地运行您的集成<p> 在引擎盖下,您的集成以Nango上的typescript“lambdas”运行。一个典型的集成有3-5个Lambda,每个Lambda有20-50行代码。这些Lambda位于您的git repo中,与应用程序的其他部分一起受版本控制,并通过CLI部署到Nango(<a href=“https://;/;docs.Nango.dev/,理解/核心概念”>https://;#xx2F;docs.Nango-dev/;理解/核心概念</a>)<p> 我们的运行时有一个内置的调度程序,用于连续的后台同步、监控以了解您的集成是否按预期运行、Nango中发生的一切的详细日志记录,以及预构建的基础设施,用于处理(O)身份验证、重试、速率限制处理、webhook洪水、数据缓存、重复数据消除等。更多信息,请访问:<a href=“https:/;/!docs.Nango.devȏ;understand&x2F;architecture”>https:///;docs.nango.dev/;理解/;架构</a><p>我们发现ChatGPT和Copilot可以让您非常快速地在Nango上构建集成,而无需学习每个API的复杂性。LLM非常擅长确定使用哪个端点、需要什么参数等。与我们的运行时相结合,这可以让您在数小时而不是数周内构建复杂的高规模集成<p> 我们已经花了大量精力来处理API的复杂性,所以您不必这样做。即使是最初看起来很简单的集成,最终也迫使我们扩展基础设施,以处理它们的怪癖和难题<p> 例如,我们必须找出100多种不同的OAuth实现(请参阅<a href=“https://;/;www.nango.dev/!blog/:为什么OAuth仍然很难”>https://;#xx2F;http://www.nango.dev/?blogȏ;为什么oauths仍然很难</a>和<a href=”https://;&x2F;news.ycombinator.com/;item?id=35713518“>https://!/。mbinator.com/项?id=35713518</a>)。我们不得不处理六种非标准的授权方法(Github应用程序、Stripe应用程序、Netsuite等)、过期的webhook、处理数据依赖关系的方法、奇怪的分页方法、每次API调用都会改变的API密钥、注册webhook的数十种不同方法等<p> 最后但并非最不重要的是,Nango是ELv2许可证下的开源(<a href=“https://;/;github.com/:NangoHQ/!Nango”>https://;#xx2F;github.comȏ;NangoHQ#xx2F:Nango</a>)(允许大多数用例,但直接复制猫除外)。任何人都可以贡献新的API&;与社区共享他们的集成模板<p> 观看Nango动作的最快方式是在这里观看我们的交互式演示(无需注册):<a href=“https://;/;app.Nango.dev/!hn demo”>https:///;app.nango.dev/;hn演示</a><p>或者看看我们的文档:<a href=“https://F;/;docs.nango.dev”>https://F/;docs.nango.dev</a><p>我们很乐意听取您的反馈,并期待您的评论!
Url:
Post by: rguldener
Comments:
Trufa: This looks very interesting, but I have two questions.<p>1) Did I understand this correctly, oversimplifying, instead of going api.slack.com/users I go nango.com/slack/users<p>If I did it leads to question 2) since I assume this won't have feature parity 100% of the times, what's my escape hatch when I need a feature that's available in an api and not in your service, if worse comes to worse, can I still easily access the original api easily?
Trufa: 这看起来很有趣,但我有两个问题<p> 1)我是否正确理解了这一点,过于简单化了,而不是去api.slack.com/F;用户我去nango.com/;松弛;users<p>如果我这样做了,则导致问题2);t在100%的时间内具有特征奇偶性;当我需要一个功能时,这是我的逃生舱口;在api中可用,而在您的服务中不可用,如果情况越来越糟,我还能轻松访问原始api吗?
rahimnathwani: I read your entire post, and couldn't understand what you do.<p>After watching the video, I <i>think</i> you make it easy for SaaS creators to give their customers the ability to integrate with other SaaS/API products. Is that right?<p>So e.g. if I make a SaaS tool for plumbers, and some of those plumbers use Xero for accounting, then I could use Nango to allow those plumbers to set up some data flow between my SaaS and Xero. Right?
rahimnathwani: 我读了你的整个帖子,不能;我不明白你在做什么。<p>看完视频后,我<I>认为</I>你让SaaS创作者很容易让他们的客户能够与其他SaaS集成;API产品。是这样吗<p> 因此,例如,如果我为水管工制作一个SaaS工具,其中一些水管工使用Xero进行会计处理,那么我可以使用Nango让这些水管工在我的SaaS和Xero之间建立一些数据流。正确的
toomuchtodo: Do you leverage Gorilla (<a href="https://gorilla.cs.berkeley.edu/" rel="nofollow">https://gorilla.cs.berkeley.edu/</a>) at all? If not, perhaps consider if it would solve some pain for you.<p><a href="https://news.ycombinator.com/item?id=36073241">https://news.ycombinator.com/item?id=36073241</a>
toomuchtodo: 您是否使用Gorilla(<a href=“https://;/;Gorilla.cs.berkeley.edu/”rel=“nofollow”>https://)?如果没有,也许考虑一下它是否能为你解决一些痛苦<p> <a href=“https://;/;news.ycombinator.com/?项目?id=36073241”>https:///;news.ycombinator.com/;项目id=36073241</a>
nip: Congrats on the launch Bastien and Robin!<p>This launch couldn’t be more timely for us:<p>We’re currently planning on integrating with many oauth-based apps where our end goal is to provide always valid access tokens to end customers (developers), abstracting away the complex refresh mechanism that we take care of.<p>Is it something we could do with Nando?<p>The simplified flow looks as follows:<p>1. Customer logins via oauth in a dedicated portal<p>2. We have a way to retrieve the access token at any time from Nando via an API<p>3. We handover that access token to our user for their own calls to the oauth-authenticated APIs
nip: 恭喜巴斯蒂安和罗宾的上线<p> 这次发布对我们来说非常及时:<p>我们目前正计划与许多基于oauth的应用程序集成,我们的最终目标是为最终客户(开发人员)提供始终有效的访问令牌,从而消除我们所负责的复杂刷新机制<p> 这是我们可以和南多一起做的事情吗<p> 简化流程如下所示:<p>1。客户通过oauth在专用门户中登录<p>2。我们有一种方法可以通过API<p>3随时从Nando检索访问令牌。我们将访问令牌移交给我们的用户,让他们自己调用oauth验证的API
lordofmoria: Congrats! We’ve been using Nango for about a year, mostly to handle oauth flows for us to about 7-8 integrations (Dropbox, google drive, etc) that our users can self-service connect in our app.<p>Very stable, the team is respnsibe to handling the weird corner cases (which their value prop is all about), and they seem to be able to build new integrations and functionality quickly.<p>I’ll be taking a closer look at their sync functionality, since our users want email in app (CRM style).
lordofmoria: 恭喜!我们已经使用Nango大约一年了,主要是为我们处理大约7-8个集成(Dropbox、google drive等)的oauth流,我们的用户可以在我们的应用程序中自助连接<p> 非常稳定,团队负责处理奇怪的角落案例(这就是他们的价值支柱),他们似乎能够快速构建新的集成和功能<p> 我将仔细研究他们的同步功能,因为我们的用户想要应用程序中的电子邮件(CRM风格)。