salesforce-restful-supports-both-data-and-json-kwargs

simple-salesforce conn.restful() passes **kwargs through to requests.request(), so both data= (raw bytes/string) and json= (auto-serialized dict with Content-Type: application/json) parameters work correctly. json= is preferred for JSON payloads as it handles serialization and Content-Type automatically. This eliminates the need for manual json.dumps() + data= patterns.