I recently analyzed the Zenly application via mitmproxy, it turned out that it works on gRPC, I was able to extract the payload of the request. I want to emulate this request using Python with my own parameters. For example, there is such a URL:
https://secret.zenly.rpc.com/co.znly.users.services.sessions.SessionsService/SessionCreate, the request to which sends an SMS with a confirmation code. The payload for calling this function is as follows:
{
"PhoneNumber": "secret",
  "device": {
    "appVersion": "4.63.14",
    "type": "ANDROID", 
    "osVersion": "12",
    "model": "secret",
    "acceptLanguages": "en-US;q=1.0",
    "coreVersion": "1.96.7",
    "appBundle": "app.zenly.locator"
  },
  "deviceOsUuid": "secret",
  "carrierInformations": {
    "networkOperatorCode": "25001",
    "networkOperatorName": "MTS",
    "networkCountryIso": "ru",
    "simOperatorCode": "25001",
    "simOperatorName": "MTS RUS",
    "simCountryIso": "ru"
  }
}
So, how to send all this to the server correctly, in serialized (?) a format without Proto-files?
p.s. grpc_requests and grpcurl did NOT fit