Program Meta

Provides complete information about a business, including locations, redeemables, program type, related gift cards, etc.

Any update made to the configuration in the Punchh platform will be reflected in the response after 15 minutes, instead of in real time, in order to improve the response time.

Headers
  • x-pch-digest
    Type: string
    required

    The signature for the API call

  • Content-Type
    Type: string
    required

    Set this header to application/json.

  • Accept
    Type: string
    required

    Advertises which content types the client is able to understand

  • User-Agent
    Type: string
    required

    Used to identify the software, device, and application initiating the request, providing information about the client to the server. For details, see User Agent.

Body
application/json
  • client
    Type: string
    required

    OAuth client ID provided by the business

  • exclude_locations
    Type: boolean

    Include this parameter in the API call to exclude locations from the API response. Currently, if the exclude_locations parameter is present in the request body, the API will send the locations array as an empty array in the response body regardless of whether the value is true or false. For the API to return the locations for the business in the response body, the exclude_locations parameter must be omitted from the request body.

Responses
  • application/json
  • application/json
Request Example for get/api2/mobile/meta.json
curl https://SERVER_NAME_GOES_HERE.punchh.com/api2/mobile/meta.json \
  --header 'x-pch-digest: {{$$.env.signature}}' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'User-Agent: AppName/AppVersion/BuildNumber (OS; Model; MANUFACTURER; MODEL; OS Version)' \
  --data '{
  "client": "CLIENT_KEY_GOES_HERE"
}'
{
  "android_ga_code": "CODE_GOES_HERE",
  "android_geocode_api_key": null,
  "program_type": "points_unlock_redeemables",
  "points_conversion_type": "staged",
  "guest_lookup_type": "short_code",
  "beacon_uuid": "UUID_GOES_HERE",
  "content_language": "en",
  "earning_description": "Receive a $10 credit every 100 points.",
  "facebook_sharing": true,
  "email_verification_enabled": false,
  "ios_ga_code": "CODE_GOES_HERE",
  "ios_geocode_api_key": null,
  "marketing_image_url": "IMAGE_URL_GOES_HERE",
  "marketing_info": "Business Blurb to be posted on Facebook",
  "marketing_message": "I'm earning rewards!",
  "marketing_title": "Punchh Coffee Roasters",
  "uber_client_id": "UBER_CLIENT_ID",
  "promotional_coupons_enabled": false,
  "gift_cards_enabled": false,
  "enable_gift_card_auto_reload": true,
  "gift_card_auto_reload_threshold": 50,
  "gift_card_auto_reload_default": 50,
  "gift_card_auto_reload_disclaimer": "Gift Card Auto-reload disclaimer",
  "social_cause_campaigns_enabled": true,
  "default_map_search_radius": 100,
  "facebook_signup_incentive_text": "Earn 5 Free points",
  "gift_card_minimum_transaction_amount": 10,
  "max_gift_card_balance": 350,
  "require_passcode_for_gift_card": false,
  "support_email_address": "test@example.com",
  "faq_url": "",
  "instagram_page_url": "INSTAGRAM",
  "order_now_url": "URL_GOES_HERE",
  "order_url_for_sso": "URL_GOES_HERE",
  "menus_url": "MENU_URL",
  "privacy_url": "",
  "terms_and_conditions_url": "",
  "nutrition_url": "",
  "catering_url": "",
  "careers_url": "",
  "facebook_page": "FACEBOOK_PAGE_URL",
  "twitter_handle": "",
  "share_invite_code_message": "Use my code {{referral_code}} or click on {{referral_url}} to earn extra points.",
  "share_invite_code_title": "Use my Invitation Code!",
  "share_invite_code_description": null,
  "app_disclaimer": "Disclaimer about the app and its usage",
  "game_disclaimer": "Disclaimer about the gaming module available in the app",
  "upgrade_disclaimer": "Disclaimer about account upgrade in the app",
  "challenges_disclaimer": "Disclaimer about the challenges module available in app",
  "earning_disclaimer": "Earn one point for every $1 spent.",
  "olo_base_url": "URL_GOES_HERE",
  "olo_api_key_ios": "1234567890",
  "olo_api_key_android": "1234567890",
  "olo_provider_key": "1234567890",
  "olo_group_order_invite_url": "URL_GOES_HERE",
  "business_id": 123,
  "business_name": "BUSINESS_NAME_GOES_HERE",
  "checkin_evidenced_by": "barcode",
  "guest_identity_code_type": "qrcode",
  "visits_per_card": 5,
  "card_redemption_value": null,
  "migration_allowed": true,
  "minimum_visit_amount": 1,
  "minimum_visit_hours": 4,
  "minimum_age_to_signup": 13,
  "misc1": "Something useful",
  "misc2": "100",
  "misc3": null,
  "misc4": "120.90",
  "earning_unit": "point",
  "currency_earned": 0,
  "points_conversion_threshold": 0,
  "redemption_expiry_minutes": 120,
  "allow_rating_in_feedback": true,
  "maximum_rating_in_feedback": 5,
  "checkins_earn": "points",
  "gift_card_designs": [
    {
      "backgroud_image_url": "IMAGE_URL_GOES_HERE",
      "card_type": "virtual_gift_card",
      "name": "Design One",
      "design_id": 11
    },
    {
      "backgroud_image_url": "IMAGE_URL_GOES_HERE",
      "card_type": "physical_gift_card",
      "name": "Design Two",
      "design_id": 12
    }
  ],
  "locations": [
    {
      "address": "ADDRESS_GOES_HERE",
      "brand": "nil",
      "city": "Ann Arbor",
      "country": "United States",
      "external_store_id": "",
      "latitude": "41.707145",
      "location_id": 310956,
      "loc_email": "",
      "longitude": "-93.582188",
      "name": "Ann Arbor",
      "online_order_url": "",
      "phone_number": "",
      "post_code": " 48104",
      "state": "Michigan",
      "store_number": " 4",
      "store_tags": "Ordering",
      "store_times": [
        {
          "day": "Mon",
          "start_time": "nil",
          "end_time": "nil"
        },
        {
          "day": "Tue",
          "start_time": "nil",
          "end_time": "nil"
        },
        {
          "day": "Wed",
          "start_time": "nil",
          "end_time": "nil"
        },
        {
          "day": "Thu",
          "start_time": "nil",
          "end_time": "nil"
        },
        {
          "day": "Fri",
          "start_time": "nil",
          "end_time": "nil"
        },
        {
          "day": "Sat",
          "start_time": "nil",
          "end_time": "nil"
        },
        {
          "day": "Sun",
          "start_time": "nil",
          "end_time": "nil"
        }
      ],
      "time_zone": "America/New_York",
      "updated_at": "2019-10-21T06:19:42-04:00",
      "status": "approved",
      "franchisee_id": 570,
      "ncr_store_id": "",
      "enable_weekly_redemption_report": false,
      "checkin_evidenced_by": "image",
      "guest_identity_code_type": "qrcode",
      "alternate_store_number": "UK@8907",
      "additional_url": [
        {
          "label": "reservation"
        },
        {
          "url": "URL_GOES_HERE"
        }
      ],
      "single_scan_type": "single_scan_code",
      "hide_in_store_tipping": true,
      "hide_in_store_cc_payment": true,
      "hide_ssf_gift_card": true,
      "multiple_redemption_on_location": true,
      "guest_identification_type": "restrict_pay_allow_lookup"
    }
  ],
  "membership_levels": [
    {
      "background_image_url": "",
      "points_multiplier": 1,
      "membership_level_id": 34,
      "name": "Level 1",
      "description": "· Free Gift 1 (or any entrée of equal or lesser value)",
      "maximum_points": 1000,
      "minimum_points": 0,
      "currency_earned": 10,
      "points_conversion_threshold": 1000
    },
    {
      "background_image_url": "",
      "points_multiplier": 1,
      "membership_level_id": 35,
      "name": "Level 2",
      "description": "· Receive $10 credit for every 1000 points earned\r\n· Unlock birthday offer\r\n· Unlock local offers",
      "maximum_points": 3500,
      "minimum_points": 1000,
      "currency_earned": 10,
      "points_conversion_threshold": 1000
    },
    {
      "background_image_url": "",
      "points_multiplier": 1,
      "membership_level_id": 36,
      "name": "Level 3",
      "description": "· Receive $10 credit for every 1000 points earned\r\n· Unlock local premium offers",
      "maximum_points": 6000,
      "minimum_points": 3500,
      "currency_earned": 10,
      "points_conversion_threshold": 1000
    },
    {
      "background_image_url": "",
      "points_multiplier": 1,
      "membership_level_id": 38,
      "name": "Level 4",
      "description": "· Receive $10 credit for every 1000 points earned.\r\n· Receive $50 catering credit.\r\n· Each 1000 points earned enters you into a sweepstakes.",
      "maximum_points": 999999,
      "minimum_points": 6000,
      "currency_earned": 10,
      "points_conversion_threshold": 1000
    }
  ],
  "redeemables": [
    {
      "redeemable_image_url": "IMAGE_URL_GOES_HERE",
      "redeemable_properties": null,
      "redeemable_id": 744,
      "name": "Unlock Redeemable at 100 Points",
      "description": "This offer is to be given when user completes 100 points. In order to display this on the app, 'Should be available as loyalty points based redemption?' should be set. If this is not set for an offer, it will not be used on the reward screen.",
      "points_required_to_redeem": 100,
      "meta_data": "Tag1, Tag2, Tag3, Tag4, Tag5"
    },
    {
      "redeemable_image_url": "IMAGE_URL_GOES_HERE",
      "redeemable_properties": null,
      "redeemable_id": 745,
      "name": "Unlock Redeemable at 200 Points",
      "description": "This is the redeemable that gets unlocked at 200 points. When the redeemable is redeemed, it is actually the redemption of the reward balance itself.",
      "points_required_to_redeem": 200,
      "meta_data": "Tag1, Tag3, Tag4"
    }
  ],
  "games": [
    {
      "game_viral_message": "",
      "name": "Scratch N' Match",
      "images_on_card": 8,
      "scratch_valid_codes": "",
      "game_type": "Scratch n Match",
      "requires_code_validation": false,
      "game_id": 5,
      "gaming_levels": [
        {
          "extra_punchhs": 10,
          "redeemable_id": null,
          "level": "10 Points"
        },
        {
          "extra_punchhs": 20,
          "redeemable_id": null,
          "level": "20 Points"
        },
        {
          "extra_punchhs": 25,
          "redeemable_id": null,
          "level": "25 Points"
        },
        {
          "extra_punchhs": 30,
          "redeemable_id": null,
          "level": "30 Points"
        },
        {
          "extra_punchhs": 35,
          "redeemable_id": null,
          "level": "35 Points"
        },
        {
          "extra_punchhs": 40,
          "redeemable_id": null,
          "level": "40 Points"
        },
        {
          "extra_punchhs": 45,
          "redeemable_id": null,
          "level": "45 Points"
        },
        {
          "extra_punchhs": 50,
          "redeemable_id": null,
          "level": "50 Points"
        }
      ]
    }
  ],
  "profile_field_questions": [
    {
      "answer_options": "Coffee|Tea|Lemonade",
      "data_type": "MCMA",
      "hint": "The Menu Items that a guest likes.",
      "mandatory": true,
      "question": "Beverages I like",
      "size": 3,
      "upf": "upf0",
      "updatable": true
    },
    {
      "answer_options": "",
      "data_type": "MCMA",
      "hint": "",
      "mandatory": false,
      "question": "Movies I like",
      "size": 2,
      "upf": "upf1",
      "updatable": true
    }
  ],
  "banking_rules": [
    {
      "banked_redeemable_id": "1474",
      "banking_slab": 3000,
      "points_conversion_threshold": 1000,
      "currency_earned": ""
    },
    {
      "banked_redeemable_id": "1475",
      "banking_slab": 8000,
      "points_conversion_threshold": 2000,
      "currency_earned": ""
    },
    {
      "banked_redeemable_id": "1476",
      "banking_slab": 16000,
      "points_conversion_threshold": 4000,
      "currency_earned": ""
    },
    {
      "banked_redeemable_id": "1477",
      "banking_slab": 30000,
      "points_conversion_threshold": 5000,
      "currency_earned": ""
    }
  ],
  "base_redeemable": {
    "name": "Base Redeemable",
    "description": "Descriptive text about the base redeemable",
    "image_url": "IMAGE_URL_GOES_HERE",
    "redeemable_properties": null,
    "meta_data": "Tag1, Tag2, Tag3, Tag4, Tag5"
  },
  "payment_credential": {
    "adapter_code": "par_payment",
    "enable_recurring_payments": true,
    "enable_passcode_for_payment": true
  },
  "subscriptions": {
    "subscription_cancellation_reasons": [
      {
        "component_code": "Price",
        "cancellation_reason_id": 1,
        "cancellation_reason": "It is expensive"
      },
      {
        "component_code": "Cancel ",
        "cancellation_reason_id": 3,
        "cancellation_reason": "Reason"
      },
      {
        "component_code": "code",
        "cancellation_reason_id": 6,
        "cancellation_reason": "reason"
      }
    ],
    "enable_cancellation_feedback": true,
    "cancellation_feedback_placeholder": "Enter Additional Feedback If Any",
    "payment_disclaimer_text": "This is payment disclaimer text.",
    "terms_and_conditions": "These are terms and conditions."
  },
  "subscription_enabled": true,
  "subscriptions_payment_credential": {
    "adapter_code": "heartland",
    "enable_recurring_payments": false
  },
  "auto_select_strategy": "subscription,offer",
  "allow_guest_to_raise_reactivation": true,
  "enable_gift_card_purchase": true,
  "enable_gift_card_reload": true,
  "enable_gift_card_transfer": true,
  "enable_gift_card_gifting": true,
  "enable_gift_card_consolidation": true,
  "enable_gift_card_sharing": true,
  "create_empty_gift_cards": true,
  "show_gift_card_history": true,
  "delete_gift_card_after_consolidation": true,
  "gift_card_default_amounts": {
    "gift_card_purchase_amounts_options": {
      "gift_card_purchase_amount_1": 0,
      "gift_card_purchase_amount_2": 0,
      "gift_card_purchase_amount_3": 20
    },
    "gift_card_purchase_default_option": 20,
    "gift_card_reload_amounts_options": {
      "gift_card_reload_amount_1": 3,
      "gift_card_reload_amount_2": 3,
      "gift_card_reload_amount_3": 3
    },
    "gift_card_reload_default_option": 3,
    "gift_card_auto_reload_amounts_options": {
      "gift_card_auto_reload_amount_1": 100,
      "gift_card_auto_reload_amount_2": 2,
      "gift_card_auto_reload_amount_3": 3
    },
    "gift_card_auto_reload_default_option": 2,
    "balance_threshold_amounts_options": {
      "balance_threshold_amount_1": 123,
      "balance_threshold_amount_2": 1,
      "balance_threshold_amount_3": 1
    },
    "balance_threshold_default_option": 1
  },
  "preferred_gift_cards": [
    "physical_gift_card"
  ],
  "multiple_redemptions": {
    "exclude_interoperability_strategy_between": [
      "offer|loyalty",
      "loyalty|pre_purchased",
      "promo_coupon|offer",
      "pre_purchased|promo_coupon"
    ],
    "auto_unlock_duration": 100,
    "discount_processing_strategy": "date_of_expiry",
    "processing_priority_by_discount_type": [
      "reward"
    ],
    "allow_multiple_redemption_on_item": true,
    "allow_qualifying_items_reused": true,
    "auto_redemption": true,
    "auto_redemption_discounts": [
      "offer",
      "subscription"
    ],
    "enable_auto_unlock": true,
    "enable_discount_locking": true,
    "max_redemptions_in_transaction": 20,
    "processing_priority_by_acquisition_type": [
      {
        "code": "offer",
        "priority": 1,
        "multiplication_factor": 20
      },
      {
        "code": "loyalty",
        "priority": 2,
        "multiplication_factor": 10
      },
      {
        "code": "promo_coupon",
        "priority": 3,
        "multiplication_factor": 5
      },
      {
        "code": "pre_purchased",
        "priority": 4,
        "multiplication_factor": 4
      }
    ]
  },
  "multiple_redemptions_enabled": true,
  "cancel_redemption": true,
  "ios_guest_account_deactivation": true,
  "android_guest_account_deactivation": true,
  "ios_guest_account_deletion": "direct",
  "android_guest_account_deletion": "email",
  "guest_account_deletion_request_email": [
    {
      "to": "test@example.com"
    },
    {
      "subject": "{{{program_name}}} - Account Deletion"
    },
    {
      "body": "Please delete the account for {{{email}}} in the {{{program_name}}} program."
    }
  ],
  "app_feedback_url": "URL_GOES_HERE",
  "accessibility_url": "URL_GOES_HERE",
  "enable_advance_auth": true,
  "enable_guest_challenge_opt_in": true,
  "enable_guest_challenge_opt_out": true,
  "enable_loyalty_identification_at_drive_thru": true,
  "drive_thru_location_level_strategy": true,
  "enable_drive_thru_pay": true,
  "enable_subscription_taxation_support": true,
  "p2p_authentication_type": "email_password_authentication",
  "enable_points_transfer": true,
  "enable_currency_transfer": false,
  "enable_rewards_transfer": false
}