Maybe you should check What is the definition of "interface" in object oriented programming
"Interface" can have several connotations, however in the OOP area it can be seen as a "contract" that all classes that implement (which is to explicitly use an interface) the interface agree to. It is also related to the concepts of polymorphism (which is to have a function with different kinds and number of parameters) and overwriting (which is what one does when "writing" the specific code of an implemented function in the class that uses it).
I would say that an Interface and a Data Structure are not the same thing. Data Structures are a more general concept, and include several ordinary structures like lists, arrays, stacks, hash tables, etc. Interfaces do not store any kind of data, other than its own code, and as mentioned above, only acquire an actual meaning when implemented.
Other way to see it is to consider that an Interface is an actual program (with the extention of your choice) whether a Data Structure is something that is used in the program, usually included in the Grammar of the language in use, or that can be built with other tools and data structures (for example you can implement your own node, and then use them to implement our own list, and then modify it to make a stack, etc.).