Yes.
Creating an abstraction interface for legacy systems to access new services is something common, if not more recommendable, when:
- The cost of changing legacy systems is very significant
- The API you are consuming may change frequently, or it is unstable and could break your applications in some way
- You want to implement extra functionality that would not be possible in legacy systems
- Access Level Control
- Obtaining metrics
- Request caching (both to fetch data and to send data)
These are some of the reasons. Legacy systems in general aggravate the need for these interfaces (which, as @Afonso said, serve as Façade design pattern ).
There are reasons not to do this, the most obvious being less time consuming to implement the calls in your old programs:
- Having points opposite to those quoted above
- Legacy systems no longer accessed a standard interface before, even programming to access your internal company API would require work
This answer is more complex and this was a summary. But in doubt, do what would seem to be less work. But if someone who worked with the old system in your company says it would be less of a work to do something new (which, by what you said they would have said it was an option to choose), is a good indication of what you do not know about the technical difficulties