code: def merge_items(from_id, to_id, login_obj, mediawiki_api_url='https://www.wikidata.org/w/api.php',
                      ignore_conflicts='', user_agent=config['USER_AGENT_DEFAULT']):
          
          url = mediawiki_api_url
  
          headers = {
              'content-type': 'application/x-www-form-urlencoded',
              'charset': 'utf-8',
              'User-Agent': user_agent
          }
  
          params = {
              'action': 'wbmergeitems',
              'fromid': from_id,
              'toid': to_id,
              'token': login_obj.get_edit_token(),
              'format': 'json',
              'bot': '',
              'ignoreconflicts': ignore_conflicts
          }
  
          try:
              # TODO: should we retry this?
              merge_reply = requests.post(url=url, data=params, headers=headers, cookies=login_obj.get_edit_cookie())
              merge_reply.raise_for_status()
  
              if 'error' in merge_reply.json():
                  raise MergeError(merge_reply.json())
  
          except requests.HTTPError as e:
              print(e)
              # TODO: should we return this?
              return {'error': 'HTTPError'}
  
          return merge_reply.json()
docs: A static method to merge two Wikidata items
          :param from_id: The QID which should be merged into another item
          :type from_id: string with 'Q' prefix
          :param to_id: The QID into which another item should be merged
          :type to_id: string with 'Q' prefix
          :param login_obj: The object containing the login credentials and cookies
          :type login_obj: instance of PBB_login.WDLogin
          :param mediawiki_api_url: The MediaWiki url which should be used
          :type mediawiki_api_url: str
          :param ignore_conflicts: A string with the values 'description', 'statement' or 'sitelink', separated
                  by a pipe ('|') if using more than one of those.
          :type ignore_conflicts: str