def patch(campaign_id, opts = {})
      campaign = get(campaign_id: campaign_id).first
      opts = NO_CHANGE_VALUES
        .merge(
          affiliate_id: campaign.fetch(:affiliate).fetch(:affiliate_id),
          media_type_id: campaign.fetch(:media_type).fetch(:media_type_id),
          offer_contract_id: campaign.fetch(:offer_contract).fetch(:offer_contract_id),
          offer_id: campaign.fetch(:offer).fetch(:offer_id),
          payout: campaign.fetch(:payout).fetch(:amount),
          payout_update_option: 'do_not_change',
          pixel_html: campaign.dig(:pixel_info, :pixel_html) || '',
          postback_url: campaign.dig(:pixel_info, :postback_url) || '',
          redirect_domain: campaign.fetch(:redirect_domain, ''),
          test_link: campaign[:test_link] || '',
          unique_key_hash: campaign.dig(:pixel_info, :hash_type, :hash_type_id) || 'none',
          third_party_name: campaign.fetch(:third_party_name, '')
        )
        .merge(opts)
      update(campaign_id, opts)
      nil
    end
def patch(campaign_id, opts = {})
      campaign = get(campaign_id: campaign_id).first
      opts = NO_CHANGE_VALUES
        .merge(
          affiliate_id: campaign.fetch(:affiliate).fetch(:affiliate_id),
          media_type_id: campaign.fetch(:media_type).fetch(:media_type_id),
          offer_contract_id: campaign.fetch(:offer_contract).fetch(:offer_contract_id),
          offer_id: campaign.fetch(:offer).fetch(:offer_id),
          payout: campaign.fetch(:payout).fetch(:amount),
          payout_update_option: 'do_not_change',
          pixel_html: campaign.dig(:pixel_info, :pixel_html) || '',
          postback_url: campaign.dig(:pixel_info, :postback_url) || '',
          redirect_domain: campaign.fetch(:redirect_domain, ''),
          test_link: campaign[:test_link] || '',
          unique_key_hash: campaign.dig(:pixel_info, :hash_type, :hash_type_id) || 'none',
          third_party_name: campaign.fetch(:third_party_name, '')
        )
        .merge(opts)
      update(campaign_id, opts)
      nil
    end
The default for `display_link_type_id` is "Fallback" in Cake, which
 doesn't have an ID and, hence, cannot be set via the API. In order to not
 change it, it has to be absent from the request.