diff --git a/requirements.txt b/requirements.txt
index 1f9cd02..6e4ca40 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
 py==1.4.29
 pytest==3.0.2
-requests==2.7.0
+requests==2.20.0
 six==1.9.0
 wheel==0.24.0
diff --git a/telebot/apihelper.py b/telebot/apihelper.py
index 83479a9..6e51bd9 100644
--- a/telebot/apihelper.py
+++ b/telebot/apihelper.py
@@ -107,8 +107,8 @@ def get_file_url(token, file_id):
     if FILE_URL is None:
         return "https://api.telegram.org/file/bot{0}/{1}".format(token, get_file(token, file_id).file_path)
     else:
-        return FILE_URL.format(token, get_file(token, file_id).file_path)
-    
+        return FILE_URL.format(token, get_file(token, file_id)['file_path'])
+ 
 
 def download_file(token, file_path):
     url = FILE_URL.format(token, file_path)
diff --git a/telebot/types.py b/telebot/types.py
index 4d6a041..4975190 100644
--- a/telebot/types.py
+++ b/telebot/types.py
@@ -371,6 +371,9 @@ class Message(JsonDeserializable):
         if 'poll' in obj:
             opts['poll'] = Poll.de_json(obj['poll'])
             content_type = 'poll'
+        if 'passport_data' in obj:
+            opts['passport_data'] = obj['passport_data']
+            content_type = 'passport_data'
         return cls(message_id, from_user, date, chat, content_type, opts, json_string)
 
     @classmethod