code: func (fw *Framework) NewRequestFromTransportJSON(payload []byte, skipvalidate bool) (msg protocol.Request, err error) {
  	transport, err := fw.NewTransportFromJSON(string(payload))
  	if err != nil {
  		return nil, err
  	}
  
  	sreq, err := fw.NewSecureRequestFromTransport(transport, skipvalidate)
  	if err != nil {
  		return nil, err
  	}
  
  	req, err := fw.NewRequestFromSecureRequest(sreq)
  	if err != nil {
  		return nil, err
  	}
  
  	protocol.CopyFederationData(transport, req)
  
  	return req, nil
  }
docs: // NewRequestFromTransportJSON creates a new Request from transport JSON