1. There are 2 call states in the box, depending on the state, these are different entities:
a) Active call. This is the call that is going on at the moment. It can be created via /api/registercall/ and can only be seen if you are one of the users who is taking part in the call. Documentation with an example request is here
https://1b.app/ru/api/create-call/b) A call that has already ended. This call gets into system events. An event can be created in your case by one of the actions: "Call parser from the CDR table", "Search for calls via FTP" or "Create events based on the database of current calls". All of these actions use different sources to generate events.
Records, as far as I remember, can only be received via ftp or through the "Call parser from the CDR table", if there is a link to the call record stored in a certain column.
You can also make an additional api (if the above functionality is not enough for you), which will create an event according to the passed parameters and, among other things, load the entry into OneBox.