1 - API (club)


1-1 - Users

Ce type de service est accessible via les URLs suivantes:

{'id', 'pseudo', 'pseudo_rewritten', 'status', 'forum_grade', 'signature', 'hash', 'html_signature', 'friend_comments_enabled', 'presentation', 'is_anonymous', 'is_friend_invited', 'is_friend_to_validate', 'is_friend', 'tns1', 'tns2', 'tns3', 'web_url', 'display_personal_website', 'display_country', 'display_city', 'display_postcode', 'display_email', 'display_sex', 'display_birthday', 'display_firstname', 'display_lastname', 'display_children', 'display_address1', 'display_address2', 'personal_website', 'country', 'city', 'postcode', 'email', 'sex', 'birthday', 'firstname', 'lastname', 'address1', 'address2', 'push_new_thread', 'push_friend_request', 'push_new_profil_comment', 'push_new_media_comment', 'push_new_friends_link', 'links', 'nb_unread_thread'}

avec 'links': {
'categories' => array('linked_type', 'type', 'href', 'count'),
'photos' => array('linked_type', 'type', 'href', 'count'),
'videos' => array('linked_type', 'type', 'href', 'count'),
'articles' => array('linked_type', 'type', 'href', 'count'),
'friends' => array('linked_type', 'type', 'href', 'count'),
'friends_to_validate' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'friends_invited' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'threads' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'feed' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'status_feed' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'medias_feed' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'avatars' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'children' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'notifications' => array('linked_type', 'type', 'href', 'count'), (si utilisateur connecté)
'user_feed' => array('linked_type', 'type', 'href'),
'comments' => array('linked_type', 'type', 'href', 'count')
}

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver les photos de notre utilisateur, ou encore ses MPs...

Retour identique au précédent, mais retourne les information de l'utilisateur courant. Cela nécessite donc d'envoyer le cookie CFSESSID pour détecter l'utilisateur connecté.

Si l'utilisateur n'est pas connecté, que le cookie CFSESSID n'est pas fourni ou que la session a expiré, cette page renverra une 404.

Est attendu dans php://input/ un json_encode() d'un tableau contenant les informations/clés suivantes: 
pseudo, email, password. 

et pouvant contenir l'une des informations/clés suivantes:
firstname, lastname, birthday, sex, postcode.

Toute autre information/clé sera ignorée.

Est attendu dans php://input/ un json_encode() d'un tableau pouvant contenir au moins l'une des informations/clés suivantes:
firstname, lastname, birthday, sex, display_email, display_sex, display_birthday, display_firstname, display_lastname, display_personal_website, dispay_children, display_job, display_age, postcode, address1, address2, city, country (code ISO), display_country, display_city, display_postcode, display_address1, display_address2, status, personal_website, presentation, apns_device_token, gcm_device_token, capptain_device_token, localytics_device_token, capptain_app_id, localytics_app_id, push_new_thread, push_friend_request, push_new_profil_comment, push_new_media_comment, push_new_friends_link, push_new_mention, is_friend, is_friend_to_validate, is_friend_invited.

Toute autre information/clé sera ignorée.

 

1-2 - Children

Ce type de service est accessible via les URLs suivantes:

{'id_child', 'firstname', 'sex', 'birthday', 'display'}

Est attendu dans php://input/ un json_encode() d'un tableau contenant les informations/clés suivantes: 
firstname, sex, display et birthday. 

et pouvant contenir l'une des informations/clés suivantes:
firstname, lastname, birthday, sex, postcode.

Toute autre information/clé sera ignorée.

Est attendu dans php://input/ un json_encode() d'un tableau pouvant contenir au moins l'une des informations/clés suivantes:
firstname, sex, display et birthday.

Toute autre information/clé sera ignorée.

 

1-3 - Groupes

Ce type de service est accessible via les URLs suivantes:

{'name', 'name_rewritten', 'description', 'display_email', 'display_address1', 'display_address2', 'display_presentation', 'email', 'address1', 'address2', 'presentation', 'id', 'status', 'tns1', 'tns2', 'tns3', 'web_url', 'type', 'href', 'links'}

avec 'links': {
'comments' => array('linked_type', 'type', 'href', 'count'),
}


1-4 - Avatars

Ce type de service est accessible via les URLs suivantes:

{'type', 'href', 'id', 'is_current', 'tns0', 'tns1', 'tns2', 'tns3'}


1-5 - Commentaires

1-5-1 - Mood
1-5-2 - Commentaires
1-5-3 - Médias

Ce type de service est accessible via les URLs suivantes:


1-5-4 - Friend comments

Ce type de service est accessible via les URLs suivantes:

{'id', 'creation_date', 'content', 'parsed_content', 'type', 'href', 'attachments', 'links'}

avec 'links': {
'author' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'commented_user' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'comments' => array('linked_type', 'type', 'href', 'count')
}

 

1-6 - Activités

Ce type de service est accessible via les URLs suivantes:

1-7 - Amis

Ce type de service est accessible via les URLs suivantes:


1-8 - Messages Privés

Ce type de service est accessible via les URLs suivantes:

{'page', 'results_count', 'results_per_page', 'resources', '', 'list_type', 'type', 'href', 'nb_unread_thread'}

avec resources décrit ci dessous. 

{'id', 'title', 'creation_date', 'last_message_date', 'last_message_read_id', 'is_closed', 'is_sticky', 'has_participated', 'type', 'href', 'last_message_id', 'links', 'participants'}

avec 'links': {
'last_author' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'author' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'interlocutor' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'messages' => array('linked_type', 'type', 'href', 'count')
}

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver les messages de notre sujet de MP, ou encore son auteur...

{'id', 'parsed_content', 'attachments', 'creation_date', 'type', 'href', 'html_content', 'links'}

avec 'links': {
'author' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'thread' => array('linked_type', 'type', 'href')
}

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le sujet de MP correspondant à notre message privé ou encore son auteur.

 

1-9 - Dossiers / Catégories
Ce type de service est accessible via les URLs suivantes:

 

{'id', 'title', 'type', 'href', 'links'}

avec 'links': {
'owner' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'photos' => array('linked_type', 'type', 'href', 'count'),
'articles' => array('linked_type', 'type', 'href', 'count'),
'videos' => array('linked_type', 'type', 'href', 'count')
}

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver les medias de notre dossier, ou encore son propriétaire...

 

1-10 - Médias

Ce type de service est accessible via les URLs suivantes: 

Pour une photo:
{'id', 'media_type', 'title', 'description', 'disclaimer', 'creation_date', 'tns1', 'tns2', 'tns3', 'web_url', 'is_closed', 'links', 'number_of_views', 'number_of_votes', 'has_voted', 'type', 'href', 'url', 'width', 'height', 'embed_bbcode'}

Pour une vidéo:
{'id', 'media_type', 'title', 'description', 'disclaimer', 'creation_date', 'tns1', 'tns2', 'tns3', 'web_url', 'is_closed', 'links', 'number_of_views', 'number_of_votes', 'has_voted', 'type', 'href', 'url', 'duration', 'embed_bbcode'}

Pour un article:
{'id', 'media_type', 'title', 'description', 'disclaimer', 'creation_date', 'tns1', 'tns2', 'tns3', 'web_url', 'is_closed', 'links', 'number_of_views', 'number_of_votes', 'has_voted', 'type', 'href', 'parsed_content', 'html_content', 'attachments', 'has_thumbnail'}

avec 'links': {
'owner' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'category' => array('linked_type', 'type', 'href', 'title'),
'comments' => array('linked_type', 'type', 'href', 'count')
}

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le dossier de notre média, ou encore son propriétaire...

1-11 - Messages d'un utilisateur sur le forum

Ce type de service est accessible via les URLs suivantes:

Le retour est composé de resources post (voir 2-5 pour le squelette)

1-12 - Notifications utilisateur

Ce type de service est accessible via les URLs suivantes:

{'nb_friends_asks', 'nb_friends_online', 'nb_invite', 'nb_notifications', 'nb_mentions', 'nb_alerts'*, 'nb_forum_flags'*, 'nb_online_chat'*, 'nb_new_private_msg'*, 'type', 'href'}

(*) Les champs ne seront renvoyés QUE si le viewer à les droits requis et si la fonctionnalité/le module est activé.

1-13 - Smileys

Ce type de service est accessible via les URLs suivantes:

Le retour est composé de resources smileys : 

{codeurltypehref}
href vaut toujours null.

1-14 - Notifications

Ce type de service est accessible via les URLs suivantes:

{'id', 'name', 'type', 'id_module', 'email_activated', 'mp_activated', 'pushable', 'push_activated', 'href'}

1-15 - Notifeed utilisateur

Ce type de service est accessible via les URLs suivantes:

Le retour est composé de ressource NotiFeed :

{id_notifeed, typedatelinks href}

 

2 - API (forum)


2-0a - Forums (obsolète)

Ce type de service est accessible via les URLs suivantes:

{'id_forum', 'name', 'name_rewritten', 'display_name', 'url_name', 'categories', 'web_url', 'type', 'href', 'links'}

 

2-0b - Catégories de forum (obsolète)

Ce type de service est accessible via les URLs suivantes:

 {'id_category', 'id_computed', 'name', 'url_name', 'description', 'web_url', 'type', 'href', 'links'}

avec 'links': {
'forum' => array('linked_type', 'type', 'href')

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le forum auquel appartient la catégorie en question.

2-1 - Forums

Ce type de service est accessible via les URLs suivantes:

 {'id', 'name', 'color', 'title', 'web_url', 'type', 'href', 'links'}

avec 'links': {
'categories' => array('linked_type', 'type', 'href'),
'last_topics' => array('linked_type', 'type', 'href'),
'read_topics' => array('linked_type', 'type', 'href'), (si utilisateur connecté)
'participated_topics' => array('linked_type', 'type', 'href'), (si utilisateur connecté)
'favorite_topics' => array('linked_type', 'type', 'href') (si utilisateur connecté)
}

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver les catégories du forum en question, ou encore les derniers sujets...

 

2-2 - Catégories de forum

Ce type de service est accessible via les URLs suivantes:

{'id', 'name', 'url_name', 'number_of_subcategories', 'force_subcat', 'web_url', 'type', 'href', 'links'}

avec 'links': {
'forum' => array('linked_type', 'type', 'href', 'color', 'title'),
'subcategories' => array('linked_type', 'type', 'href', 'count'),
'last_topics' => array('linked_type', 'type', 'href'),
'read_topics' => array('linked_type', 'type', 'href'), (si utilisateur connecté)
'participated_topics' => array('linked_type', 'type', 'href'), (si utilisateur connecté)
'favorite_topics' => array('linked_type', 'type', 'href') (si utilisateur connecté)

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le forum auquel appartient la catégorie en question, ou encore les derniers sujets...

 

2-3 - Sous-catégories de forum

Ce type de service est accessible via les URLs suivantes:

{'id', 'name', 'url', 'web_url', 'type', 'href', 'links'}

avec 'links': {
'forum' => array('linked_type', 'type', 'href',  'color', 'title'),
'category' => array('linked_type', 'type', 'href'),
'last_topics' => array('linked_type', 'type', 'href'),
'read_topics' => array('linked_type', 'type', 'href'), (si utilisateur connecté)
'participated_topics' => array('linked_type', 'type', 'href'), (si utilisateur connecté)
'favorite_topics' => array('linked_type', 'type', 'href') (si utilisateur connecté)

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le forum auquel appartient la sous-catégorie en question, ou encore les derniers sujets...

 

2-4 - Sujets de forum

Ce type de service est accessible via les URLs suivantes:

{'id', 'title', 'last_post_date', 'is_closed', 'is_sticky', 'is_read', 'last_position', 'last_post_read_id', 'web_url', 'type', 'href', 'links', 'href_alert'}

avec 'links': {
'forum' => array('linked_type', 'type', 'href', 'color', 'title'),
'category' => array('linked_type', 'type', 'href'),
'subcategory' => array('linked_type', 'type', 'href'),
'posts' => array('linked_type', 'type', 'href', 'count'),
'last_author' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'author' => array('linked_type', 'type', 'href', 'title', 'tns3')

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le forum auquel appartient le sujet en question, ou encore les derniers messages...

 

2-5 - Messages de forum

Ce type de service est accessible via les URLs suivantes:

{'id', 'pos', 'content', 'creation_date', 'parsed_content', 'html_content', 'attachments', 'user_id', 'topic_title', 'topic_link', 'web_url', 'type', 'href', 'links', 'href_alert'}

avec 'links': {
'forum' => array('linked_type', 'type', 'href', 'color', 'title'),
'category' => array('linked_type', 'type', 'href'),
'subcategory' => array('linked_type', 'type', 'href'),
'topic' => array('linked_type', 'type', 'href'),
'author' => array('linked_type', 'type', 'href', 'title', 'tns3')

'links' est en fait un groupe de liens pertinents concernant l'objet en cours vers d'autres pages de l'API. Dans notre cas, va nous permettre de retrouver le forum auquel appartient le message en question, ou encore son auteur...

Est attendu dans php://input/ un json_encode() d'un tableau contenant l'information/clé suivante: 
content

Toute autre information/clé sera ignorée.

Est attendu dans php://input/ un json_encode() d'un tableau contenant l'information/clé suivante: 
content

Toute autre information/clé sera ignorée.

 

2-6 - Recherche forum

Ce type de service est accessible via les URLs suivantes:

Exemple : http://forum.doctissimo.fr/api/forums/search/cancer/?page=2

Pour spécifier plusieurs mots, on peut les séparer par un espace (%20) : http://forum.doctissimo.fr/api/forums/search/cancer%20poumons/?page=2

9 paramètres, à passer dans la query_string, permettent de changer les options de recherche: 
Les deux derniers permettent de spécifier la zone de recherche, soit une liste de forum, soit une liste de catégorie d'un forum donné. 

Attention :

 

 

{
  "page": 1,
  "results_count": 5,
  "results_per_page": 10,
  "word": "Obviously",
  "resources": [
    {
      "id": 212,
      "pos": 68,
      "creation_date": "2016-03-29 14:24",
      "content": "[#333333]Obviously ForumTRunk[/#333333]",
      "parsed_content": "Obviously ForumTRunk",
      "html_content": "<span style=\"color:#333333;\">Obviously ForumTRunk</span>",
      "attachments": [],
      "links": {
        "forum": {
          "linked_type": "forum",
          "type": "link",
          "href": "http://forum.docti.local.fr/api/forums/trunk/",
          "id_forum": 1,
          "color": "#D5E6E1",
          "title": "trunk"
        },
        "category": {
          "linked_type": "forum_category",
          "type": "link",
          "href": "http://forum.docti.local.fr/api/forums/trunk/categories/2/",
          "title": "Catégorie 2"
        },
        "topic": {
          "linked_type": "topic",
          "type": "link",
          "href": "http://forum.docti.local.fr/api/forums/trunk/categories/2/topics/9/",
          "title": "Les forums, c'est bien pour créer des topics intéressants."
        },
        "author": {
          "type": "link",
          "linked_type": "user",
          "href": "http://club.docti.local.fr/api/users/supadmin/",
          "title": "supadmin",
          "pseudo": "supadmin",
          "pseudo_rewritten": "supadmin",
          "tns1": "http://static.docti.local.fr/design/user/avatar/default_tns1_avatar.png",
          "tns3": "http://static.docti.local.fr/design/user/avatar/default_tns3_avatar.png"
        }
      },
      "href_alert": "http://forum.docti.local.fr/api/forums/trunk/categories/2/topics/9/posts/212/alert/",
      "web_url": "http://forum.docti.local.fr/trunk/Categorie-2/forums-topics-interessants-sujet_9_2.htm#t212",
      "type": "post",
      "href": "http://forum.docti.local.fr/api/forums/trunk/categories/2/topics/9/posts/212/",
      "post_url": "http://forum.docti.local.fr/trunk/Categorie-2/forums-topics-interessants-sujet_9_2.htm#t212",
      "topic_title": "Les forums, c'est bien pour créer des topics intéressants.",
      "topic_link": "http://forum.docti.local.fr/api/forums/trunk/categories/2/topics/9/",
      "topic_url": "http://forum.docti.local.fr/trunk/Categorie-2/forums-topics-interessants-sujet_9_1.htm",
    }
  ],
  "list_type": "forum_search",
  "type": "list",
  "href": "http://forum.docti.local.fr/api/forums/search/Obviously/"
}


 

2-7 - Alertes sur forum

Ce type de service est accessible via les URLs suivantes:

Ces URLs permettent respectivement de lever une alerte sur un topic et un post.
Les alertes ne seront créées que si un utilisateur est logué sinon  le message d'erreur "Forbiden" est envoyé.

Est attendu dans php://input/ un json_encode() d'un tableau contenant les informations/clés suivantes: 
message

Toute autre information/clé sera ignorée.

 

{'id', 'id_group_alert', 'id_forum', 'id_category', 'id_topic', 'id_post', 'id_author', 'id_reporter', 'reason', 'status', 'id_resolver', 'action', 'date',  'date_processing_start', ',date_processing_end', 'links'}

avec 'links': {
'author' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'reporter' => array('linked_type', 'type', 'href', 'title', 'tns3'),
'resolver' => array('linked_type', 'type', 'href', 'title', 'tns3')

3 - Sélections Editoriales

Ce type de service est accessible via les URLs suivantes:

{'list'}

avec 'list' étant un tableau de stdClass: {'id', 'id_data', 'date', 'custom_fields', 'related_object'}

où related_object sera un lien vers une page de l'API qui fournira les infos sur l'objet en question.

nb_view