Unsolved Has anyone setup an API for an internal application
-
I have some custom bespoke software at a client that is due for a refresh in a year or so.
But in the mean time, they have asked if they can offer a way for their clients to get information feeds directly.
My first thought in today's world is how can I setup some kind of API so they can simply connect and get the data.
The data in question is simply formatted text.
Currently, the system can use FTP or SFTP to send the text in a file to people. It has had this functionality forever, but that requires their client to have a FTP server setup. As fewer companies do that kind of thing, there is thus the need to update processes.
-
An EDI VAN is the normal way of doing this, There are industry-standard forms for many different things so you aren't doing anything custom for each. You just have to get the application to talk to the VAN. There's a lot of different VAN Providers
https://www.b2bgateway.net/what-is-a-value-added-network-van-and-how-does-it-work/
https://www.b2bgateway.net/edi-info/#EDI-Communication-MethodsIf you do any business with big companies like Kroger, Walmart etc. They require it.
https://edi.kroger.com/EDIPortal/VansAndProviders.html
https://cdn.corporate.walmart.com/5d/8d/897b4bb84a95bb05214bf897cee3/edi-getting-started-guide.pdf
https://www.swicktech.com/SWICKtech/Resources/Blog/Direct-EDI-vs-EDI-VANs.htm -
@JaredBusch said in Has anyone setup an API for an internal application:
The data in question is simply formatted text.
Are you sure that isn't already EDI just without the VAN?
-
What about a RESTful API? Simple for everyone involved, typically.
-
@thecreaitvone91 said in Has anyone setup an API for an internal application:
An EDI VAN is the normal way of doing this,
The main EDI player in the industry in question charges a large fee for the data and customers have been going around that for years.
Oh and we still send the data to them via FTP.
-
@scottalanmiller said in Has anyone setup an API for an internal application:
What about a RESTful API? Simple for everyone involved, typically.
A RESTful API is what I was thinking about, but I wasn't restricting the question to a RESTful API as I don't know enough about the entire process from a development point of view.
-
@JaredBusch said in Has anyone setup an API for an internal application:
@scottalanmiller said in Has anyone setup an API for an internal application:
What about a RESTful API? Simple for everyone involved, typically.
A RESTful API is what I was thinking about, but I wasn't restricting the question to a RESTful API as I don't know enough about the entire process from a development point of view.
If you are looking at moving to Restful API, this tends to be the Standard: https://www.ibm.com/products/datapower-gateway it's not cheap.
Restful API for B2B hasn't been fully Standardized yet like EDI has
-
@JaredBusch said in Has anyone setup an API for an internal application:
@scottalanmiller said in Has anyone setup an API for an internal application:
What about a RESTful API? Simple for everyone involved, typically.
A RESTful API is what I was thinking about, but I wasn't restricting the question to a RESTful API as I don't know enough about the entire process from a development point of view.
It all depends on the language. OpenAPI/REST or just a simple webhook would probably be easiest. You could do gRPC or GraphQL but I think those might be overkill for this if it's temporary.
Swagger editor can give you a structure for different languages. https://editor.swagger.io/. OpenAPI is pretty much the standard now.
You can generate server and client code.
-
So you just want the system to send a text string to a few people? Like through email?
-
Maybe this will help you -- https://www.postman.com/webinars/api-builder-registration/
-
@Danp said in Has anyone setup an API for an internal application:
Maybe this will help you -- https://www.postman.com/webinars/api-builder-registration/
I saw that name in my google search. Have not reviewed any solutions yet as I wanted to hear what people had to say. Hopefully narrowing down my scope.
-
@stacksofplates said in Has anyone setup an API for an internal application:
So you just want the system to send a text string to a few people? Like through email?
It is invoice data and EFT draft notices
sample from an invoice
-
@stacksofplates said in Has anyone setup an API for an internal application:
So you just want the system to send a text string to a few people? Like through email?
There's really nothing stopping you from doing EDI over email if the cost of the VAN is the issue, and both ERPs easily do VANs.
Just quick googling for cheap solutions you could use https://www.emailparser.com/ for the incoming side, either sort by sender or subject (or both) and save to a folder location for the incoming EDI
for Outgoing I haven't found one yet, but I'm sure there's an easy way to take your outgoing EDI folder and have it email out when a new file is placed there.
Not the best but if both sides are setup for EDI may be the quickest.
If they already have an ERP selected to replace it, I think it would be wise to see what they do and support and try to do something the new ERP can take as well so you aren't switching it again soon.
-
@JaredBusch said in Has anyone setup an API for an internal application:
@stacksofplates said in Has anyone setup an API for an internal application:
So you just want the system to send a text string to a few people? Like through email?
It is invoice data and EFT draft notices
sample from an invoice
Just so I fully understand. They copy that whole CSV or each line would be a separate message to the API?
-
@JaredBusch said in Has anyone setup an API for an internal application:
@Danp said in Has anyone setup an API for an internal application:
Maybe this will help you -- https://www.postman.com/webinars/api-builder-registration/
I saw that name in my google search. Have not reviewed any solutions yet as I wanted to hear what people had to say. Hopefully narrowing down my scope.
Postman isn't bad. I use Insomnia but there's a few different REST tools like that.
Oh nm, I see that's the builder for Postman. Yeah I usually just use swagger editor if I want to write a spec. Or just write the API if I don't need that.
-
@stacksofplates said in Has anyone setup an API for an internal application:
@JaredBusch said in Has anyone setup an API for an internal application:
@stacksofplates said in Has anyone setup an API for an internal application:
So you just want the system to send a text string to a few people? Like through email?
It is invoice data and EFT draft notices
sample from an invoice
Just so I fully understand. They copy that whole CSV or each line would be a separate message to the API?
Preferably, I would like the entire contents of the file to be the API response.
That file structure is the "normal" structure specified by the current solution. We just offered the clients to send the file directly instead of through the EDI provider for those that asked.
Granted the EDI provider manipulates it before sending it back out. All we offered was to send direct.
-
@JaredBusch said in Has anyone setup an API for an internal application:
@stacksofplates said in Has anyone setup an API for an internal application:
@JaredBusch said in Has anyone setup an API for an internal application:
@stacksofplates said in Has anyone setup an API for an internal application:
So you just want the system to send a text string to a few people? Like through email?
It is invoice data and EFT draft notices
sample from an invoice
Just so I fully understand. They copy that whole CSV or each line would be a separate message to the API?
Preferably, I would like the entire contents of the file to be the API response.
That file structure is the "normal" structure specified by the current solution. We just offered the clients to send the file directly instead of through the EDI provider for those that asked.
Granted the EDI provider manipulates it before sending it back out. All we offered was to send direct.
Ah ok.
-
Honestly I'm not sure what you're going to get doing it that way over just normal SFTP. It would be essentially the same thing just over HTTPS instead. The advantage would come in if the remote ends had a way to consume what you were sending instead of just getting it as a file. I can't speak to EDI because I have no experience with that.
-
@JaredBusch so currently the file is pushed to a server placed at customers' sites?!
You can write some http API but still you need to set the server.
Can't you othetwise keep the sftp server at the source and let customer use any ftp client (even the browser) to download it? Basically this reverse the process snd customers pull the file. -
@matteo-nunziati said in Has anyone setup an API for an internal application:
@JaredBusch so currently the file is pushed to a server placed at customers' sites?!
You can write some http API but still you need to set the server.
Can't you othetwise keep the sftp server at the source and let customer use any ftp client (even the browser) to download it? Basically this reverse the process snd customers pull the file.Winscp offers scripting automation as well so you could send that to them to automate the download to whatever folder. I believe it offers some recording function as well if you don't want to manually script it.