Setup instructions:

  1. Visit Mercury and log in to your account
  2. Go to Settings > Developer > API Tokens
  3. Create a new API token with "Read Only" access
  4. Important: Add your server's IP address to the token's whitelist
  5. Copy the full token (including the secret-token: prefix) and paste it below
  6. After a successful connection, go to the Accounts tab to set up new accounts

Field descriptions:

Note: For sandbox testing, use https://api-sandbox.mercury.com/api/v1 as the Base URL. Mercury requires IP whitelisting - make sure to add your IP in the Mercury dashboard.

<% error_msg = local_assigns[:error_message] || @error_message %> <% if error_msg.present? %>

<%= error_msg %>

<% end %> <% # Get or initialize a mercury_item for this family # - If family has an item WITH credentials, use it (for updates) # - If family has an item WITHOUT credentials, use it (to add credentials) # - If family has no items at all, create a new one mercury_item = Current.family.mercury_items.first_or_initialize(name: "Mercury Connection") is_new_record = mercury_item.new_record? %> <%= styled_form_with model: mercury_item, url: is_new_record ? mercury_items_path : mercury_item_path(mercury_item), scope: :mercury_item, method: is_new_record ? :post : :patch, data: { turbo: true }, class: "space-y-3" do |form| %> <%= form.text_field :token, label: "Token", placeholder: is_new_record ? "Paste token here" : "Enter new token to update", type: :password %> <%= form.text_field :base_url, label: "Base Url (Optional)", placeholder: "https://api.mercury.com/api/v1 (default)", value: mercury_item.base_url %>
<%= form.submit is_new_record ? "Save Configuration" : "Update Configuration", class: "inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium text-white bg-gray-900 hover:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-gray-900 focus:ring-offset-2 transition-colors" %>
<% end %> <% items = local_assigns[:mercury_items] || @mercury_items || Current.family.mercury_items.where.not(token: [nil, ""]) %>
<% if items&.any? %>

Configured and ready to use. Visit the Accounts tab to manage and set up accounts.

<% else %>

Not configured

<% end %>