talon_one

TalonOne - the Ruby gem for the Talon.One API

Use the Talon.One API to integrate with your application and to manage applications and campaigns:

Determining the base URL of the endpoints

The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at https://yourbaseurl.talon.one/, the URL for the updateCustomerSessionV2 endpoint is https://yourbaseurl.talon.one/v2/customer_sessions/{Id}

This SDK is automatically generated by the OpenAPI Generator project:

  • API version:
  • Package version: 3.0.2
  • Build package: org.openapitools.codegen.languages.RubyClientCodegen

Installation

Build a gem

To build the Ruby code into a gem:

gem build talon_one.gemspec

Then either install the gem locally:

gem install ./talon_one-3.0.2.gem

(for development, run gem install --dev ./talon_one-3.0.2.gem to install the development dependencies)

or publish the gem to a gem hosting service, e.g. RubyGems.

Finally add this to the Gemfile:

gem 'talon_one', '~> 3.0.2'

Install from Git

If the Ruby gem is hosted at a git repository: https://github.com/talon-one/talon_one.rb, then add the following in the Gemfile:

gem 'talon_one', :git => 'https://github.com/talon-one/talon_one.rb.git'

Include the Ruby code directly

Include the Ruby code directly using -I as follows:

ruby -Ilib script.rb

Getting Started

Please follow the installation procedure and then run the following code:

Integration API

# Load the gem
require 'talon_one'

# Setup authorization
TalonOne.configure do |config|
  # Configure the API host destination while explicitly using HTTPS as the default is HTTP.
  config.scheme = 'https'
  config.host = 'yourbaseurl.talon.one'

  # Configure API key authorization: api_key_v1
  config.api_key['Authorization'] = 'ca1890f0ec3bfa8ed4be04e2aec0c606c0df8ad464f17d3ea8b51df12ba60e5d'
  config.api_key_prefix['Authorization'] = 'ApiKey-v1'
end

# Integration API example to send a session update
integration_api = TalonOne::IntegrationApi.new

session_integration_id = '8fb7129e-68e6-4464-9631-09b588391619' # String | The integration identifier of the session

# NewCustomerSessionV2 object
customer_session_v2 = TalonOne::NewCustomerSessionV2.new(
  profile_id: 'Some_1',
  state: 'open',
  cart_items: [
    TalonOne::CartItem.new(
      name: 'Nigiri Sake',
      sku: 'sush1',
      quantity: 2,
      price: 3.7,
      category: 'Sushi'
    ),
    TalonOne::CartItem.new(
      name: 'Rainbow Roll I/O',
      sku: 'sush2',
      quantity: 1,
      price: 6.5,
      category: 'Sushi'
    ),
    TalonOne::CartItem.new(
      name: 'Kirin',
      sku: 'k1r',
      quantity: 2,
      price: 2.2,
      category: 'Beverages'
    ),
  ],
  coupon_codes: [
    'Cool-Stuff!'
  ]
)

# Instantiating a new IntegrationRequest object
integration_request = TalonOne::IntegrationRequest.new(
  customer_session: customer_session_v2,
  # Optional list of requested information to be present on the response.
  # See docs/IntegrationRequest.md for full list
  # response_content: [
  #  'customerSession'
  # ]
)

begin
  # Create/update a customer session using `update_customer_session_v2` function
  result = integration_api.update_customer_session_v2(session_integration_id, integration_request)

  # Prints response to the console
  puts result

  # Parsing the returned effects list, please consult https://developers.talon.one/Integration-API/handling-effects-v2 for the full list of effects and their corresponding properties
  result.effects.each do |effect|
    if effect.effect_type == 'setDiscount'
      # Initiating right props instance according to the effect type
      props = TalonOne::SetDiscountEffectProps.build_from_hash(effect.props)

      # Access the specific effect's properties
      puts "Set a discount '#{props.name}' of #{props.value}"
    elsif effect.effect_type == 'rejectCoupon'
      # Initiating right props instance according to the effect type
      props = TalonOne::RejectCouponEffectProps.build_from_hash(effect.props)

      # Work with AcceptCouponEffectProps' properties
      # ...
    end
  end
rescue TalonOne::ApiError => e
  puts "Exception when calling IntegrationApi->update_customer_session_v2: #{e}"
end

Management API

# Load the gem
require 'talon_one'

# Setup authorization
TalonOne.configure do |config|
  # Configure the API host destination and set scheme to HTTPS
  config.scheme = 'https'
  config.host = 'yourbaseurl.talon.one'

  # Configure API key authorization: management_key
  config.api_key['Authorization'] = '2f0dce055da01ae595005d7d79154bae7448d319d5fc7c5b2951fadd6ba1ea07'
  config.api_key_prefix['Authorization'] = 'ManagementKey-v1'
end

# Management API example to load application with id 7
management_api = TalonOne::ManagementApi.new

begin
  # Calling get_application function with the desired id (7)
  result = management_api.get_application(7)
  # Print result to the console
  puts result

rescue TalonOne::ApiError => e
  puts "Exception when calling ManagementApi: #{e}"
end

Documentation for API Endpoints

All URIs are relative to https://yourbaseurl.talon.one

Class Method HTTP request Description
TalonOne::IntegrationApi create_audience_v2 POST /v2/audiences Create audience
TalonOne::IntegrationApi create_coupon_reservation POST /v1/coupon_reservations/couponValue Create coupon reservation
TalonOne::IntegrationApi create_referral POST /v1/referrals Create referral code for an advocate
TalonOne::IntegrationApi create_referrals_for_multiple_advocates POST /v1/referrals_for_multiple_advocates Create referral codes for multiple advocates
TalonOne::IntegrationApi delete_audience_memberships_v2 DELETE /v2/audiences/audienceId/memberships Delete audience memberships
TalonOne::IntegrationApi delete_audience_v2 DELETE /v2/audiences/audienceId Delete audience
TalonOne::IntegrationApi delete_coupon_reservation DELETE /v1/coupon_reservations/couponValue Delete coupon reservations
TalonOne::IntegrationApi delete_customer_data DELETE /v1/customer_data/integrationId Delete customer's personal data
TalonOne::IntegrationApi get_customer_inventory GET /v1/customer_profiles/integrationId/inventory List customer data
TalonOne::IntegrationApi get_customer_session GET /v2/customer_sessions/customerSessionId Get customer session
TalonOne::IntegrationApi get_loyalty_balances GET /v1/loyalty_programs/loyaltyProgramId/profile/integrationId/balances Get customer's loyalty points
TalonOne::IntegrationApi get_loyalty_card_balances GET /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/balances Get loyalty balances for a loyalty card
TalonOne::IntegrationApi get_loyalty_card_transactions GET /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/transactions Get loyalty card transaction logs
TalonOne::IntegrationApi get_loyalty_program_profile_transactions GET /v1/loyalty_programs/loyaltyProgramId/profile/integrationId/transactions List customer's loyalty transactions
TalonOne::IntegrationApi get_reserved_customers GET /v1/coupon_reservations/customerprofiles/couponValue List customers that have this coupon reserved
TalonOne::IntegrationApi link_loyalty_card_to_profile POST /v2/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/link_profile Link customer profile to loyalty card
TalonOne::IntegrationApi reopen_customer_session PUT /v2/customer_sessions/customerSessionId/reopen Reopen customer session
TalonOne::IntegrationApi return_cart_items POST /v2/customer_sessions/customerSessionId/returns Return cart items
TalonOne::IntegrationApi sync_catalog PUT /v1/catalogs/catalogId/sync Sync cart item catalog
TalonOne::IntegrationApi track_event POST /v1/events Track event
TalonOne::IntegrationApi track_event_v2 POST /v2/events Track event V2
TalonOne::IntegrationApi update_audience_customers_attributes PUT /v2/audience_customers/audienceId/attributes Update profile attributes for all customers in audience
TalonOne::IntegrationApi update_audience_v2 PUT /v2/audiences/audienceId Update audience name
TalonOne::IntegrationApi update_customer_profile_audiences POST /v2/customer_audiences Update multiple customer profiles' audiences
TalonOne::IntegrationApi update_customer_profile_v2 PUT /v2/customer_profiles/integrationId Update customer profile
TalonOne::IntegrationApi update_customer_profiles_v2 PUT /v2/customer_profiles Update multiple customer profiles
TalonOne::IntegrationApi update_customer_session_v2 PUT /v2/customer_sessions/customerSessionId Update customer session
TalonOne::ManagementApi add_loyalty_card_points PUT /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/add_points Add points to card in a given loyalty program
TalonOne::ManagementApi add_loyalty_points PUT /v1/loyalty_programs/loyaltyProgramId/profile/integrationId/add_points Add points to customer profile
TalonOne::ManagementApi copy_campaign_to_applications POST /v1/applications/applicationId/campaigns/campaignId/copy Copy the campaign into the specified Application
TalonOne::ManagementApi create_account_collection POST /v1/collections Create account-level collection
TalonOne::ManagementApi create_additional_cost POST /v1/additional_costs Create additional cost
TalonOne::ManagementApi create_attribute POST /v1/attributes Create custom attribute
TalonOne::ManagementApi create_campaign_from_template POST /v1/applications/applicationId/create_campaign_from_template Create campaign from campaign template
TalonOne::ManagementApi create_collection POST /v1/applications/applicationId/campaigns/campaignId/collections Create collection
TalonOne::ManagementApi create_coupons POST /v1/applications/applicationId/campaigns/campaignId/coupons Create coupons
TalonOne::ManagementApi create_coupons_async POST /v1/applications/applicationId/campaigns/campaignId/coupons_async Create coupons asynchronously
TalonOne::ManagementApi create_coupons_for_multiple_recipients POST /v1/applications/applicationId/campaigns/campaignId/coupons_with_recipients Create coupons for multiple recipients
TalonOne::ManagementApi create_notification_webhook POST /v1/applications/applicationId/notification_webhooks Create notification about campaign-related changes
TalonOne::ManagementApi create_password_recovery_email POST /v1/password_recovery_emails Request a password reset
TalonOne::ManagementApi create_session POST /v1/sessions Create session
TalonOne::ManagementApi deduct_loyalty_card_points PUT /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/deduct_points Deduct points from card in a given loyalty program.
TalonOne::ManagementApi delete_account_collection DELETE /v1/collections/collectionId Delete account-level collection
TalonOne::ManagementApi delete_campaign DELETE /v1/applications/applicationId/campaigns/campaignId Delete campaign
TalonOne::ManagementApi delete_collection DELETE /v1/applications/applicationId/campaigns/campaignId/collections/collectionId Delete collection
TalonOne::ManagementApi delete_coupon DELETE /v1/applications/applicationId/campaigns/campaignId/coupons/couponId Delete coupon
TalonOne::ManagementApi delete_coupons DELETE /v1/applications/applicationId/campaigns/campaignId/coupons Delete coupons
TalonOne::ManagementApi delete_loyalty_card DELETE /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier Delete loyalty card
TalonOne::ManagementApi delete_notification_webhook DELETE /v1/applications/applicationId/notification_webhooks/notificationWebhookId Delete notification about campaign-related changes
TalonOne::ManagementApi delete_referral DELETE /v1/applications/applicationId/campaigns/campaignId/referrals/referralId Delete referral
TalonOne::ManagementApi destroy_session DELETE /v1/sessions Destroy session
TalonOne::ManagementApi export_account_collection_items GET /v1/collections/collectionId/export Export account-level collection's items
TalonOne::ManagementApi export_collection_items GET /v1/applications/applicationId/campaigns/campaignId/collections/collectionId/export Export a collection's items
TalonOne::ManagementApi export_coupons GET /v1/applications/applicationId/export_coupons Export coupons
TalonOne::ManagementApi export_customer_sessions GET /v1/applications/applicationId/export_customer_sessions Export customer sessions
TalonOne::ManagementApi export_effects GET /v1/applications/applicationId/export_effects Export triggered effects
TalonOne::ManagementApi export_loyalty_balance GET /v1/loyalty_programs/loyaltyProgramId/export_customer_balance Export customer loyalty balance to CSV
TalonOne::ManagementApi export_loyalty_balances GET /v1/loyalty_programs/loyaltyProgramId/export_customer_balances Export customer loyalty balances
TalonOne::ManagementApi export_loyalty_card_balances GET /v1/loyalty_programs/loyaltyProgramId/export_card_balances Export loyalty card transaction logs to CSV
TalonOne::ManagementApi export_loyalty_card_ledger GET /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/export_log Export a loyalty card ledger log
TalonOne::ManagementApi export_loyalty_ledger GET /v1/loyalty_programs/loyaltyProgramId/profile/integrationId/export_log Export customer's transaction logs
TalonOne::ManagementApi export_referrals GET /v1/applications/applicationId/export_referrals Export referrals
TalonOne::ManagementApi get_access_logs_without_total_count GET /v1/applications/applicationId/access_logs/no_total Get access logs for Application
TalonOne::ManagementApi get_account GET /v1/accounts/accountId Get account details
TalonOne::ManagementApi get_account_analytics GET /v1/accounts/accountId/analytics Get account analytics
TalonOne::ManagementApi get_account_collection GET /v1/collections/collectionId Get account-level collection
TalonOne::ManagementApi get_additional_cost GET /v1/additional_costs/additionalCostId Get additional cost
TalonOne::ManagementApi get_additional_costs GET /v1/additional_costs List additional costs
TalonOne::ManagementApi get_all_access_logs GET /v1/access_logs List access logs
TalonOne::ManagementApi get_all_roles GET /v1/roles List roles
TalonOne::ManagementApi get_application GET /v1/applications/applicationId Get Application
TalonOne::ManagementApi get_application_api_health GET /v1/applications/applicationId/health_report Get Application health
TalonOne::ManagementApi get_application_customer GET /v1/applications/applicationId/customers/customerId Get application's customer
TalonOne::ManagementApi get_application_customer_friends GET /v1/applications/applicationId/profile/integrationId/friends List friends referred by customer profile
TalonOne::ManagementApi get_application_customers GET /v1/applications/applicationId/customers List application's customers
TalonOne::ManagementApi get_application_customers_by_attributes POST /v1/applications/applicationId/customer_search List application customers matching the given attributes
TalonOne::ManagementApi get_application_event_types GET /v1/applications/applicationId/event_types List Applications event types
TalonOne::ManagementApi get_application_events_without_total_count GET /v1/applications/applicationId/events/no_total List Applications events
TalonOne::ManagementApi get_application_session GET /v1/applications/applicationId/sessions/sessionId Get Application session
TalonOne::ManagementApi get_application_sessions GET /v1/applications/applicationId/sessions List Application sessions
TalonOne::ManagementApi get_applications GET /v1/applications List Applications
TalonOne::ManagementApi get_attribute GET /v1/attributes/attributeId Get custom attribute
TalonOne::ManagementApi get_attributes GET /v1/attributes List custom attributes
TalonOne::ManagementApi get_audiences GET /v1/audiences List audiences
TalonOne::ManagementApi get_campaign GET /v1/applications/applicationId/campaigns/campaignId Get campaign
TalonOne::ManagementApi get_campaign_analytics GET /v1/applications/applicationId/campaigns/campaignId/analytics Get analytics of campaigns
TalonOne::ManagementApi get_campaign_by_attributes POST /v1/applications/applicationId/campaigns_search List campaigns that match the given attributes
TalonOne::ManagementApi get_campaign_templates GET /v1/campaign_templates List campaign templates
TalonOne::ManagementApi get_campaigns GET /v1/applications/applicationId/campaigns List campaigns
TalonOne::ManagementApi get_changes GET /v1/changes Get audit logs for an account
TalonOne::ManagementApi get_collection GET /v1/applications/applicationId/campaigns/campaignId/collections/collectionId Get collection
TalonOne::ManagementApi get_collection_items GET /v1/collections/collectionId/items Get collection items
TalonOne::ManagementApi get_coupons_without_total_count GET /v1/applications/applicationId/campaigns/campaignId/coupons/no_total List coupons
TalonOne::ManagementApi get_customer_activity_report GET /v1/applications/applicationId/customer_activity_reports/customerId Get customer's activity report
TalonOne::ManagementApi get_customer_activity_reports_without_total_count GET /v1/applications/applicationId/customer_activity_reports/no_total Get Activity Reports for Application Customers
TalonOne::ManagementApi get_customer_analytics GET /v1/applications/applicationId/customers/customerId/analytics Get customer's analytics report
TalonOne::ManagementApi get_customer_profile GET /v1/customers/customerId Get customer profile
TalonOne::ManagementApi get_customer_profiles GET /v1/customers/no_total List customer profiles
TalonOne::ManagementApi get_customers_by_attributes POST /v1/customer_search/no_total List customer profiles matching the given attributes
TalonOne::ManagementApi get_event_types GET /v1/event_types List event types
TalonOne::ManagementApi get_exports GET /v1/exports Get exports
TalonOne::ManagementApi get_loyalty_card GET /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier Get loyalty card
TalonOne::ManagementApi get_loyalty_card_transaction_logs GET /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/logs Get loyalty card transaction logs
TalonOne::ManagementApi get_loyalty_cards GET /v1/loyalty_programs/loyaltyProgramId/cards List loyalty cards
TalonOne::ManagementApi get_loyalty_points GET /v1/loyalty_programs/loyaltyProgramId/profile/integrationId Get customer's full loyalty ledger
TalonOne::ManagementApi get_loyalty_program GET /v1/loyalty_programs/loyaltyProgramId Get loyalty program
TalonOne::ManagementApi get_loyalty_program_transactions GET /v1/loyalty_programs/loyaltyProgramId/transactions List loyalty program transactions
TalonOne::ManagementApi get_loyalty_programs GET /v1/loyalty_programs List loyalty programs
TalonOne::ManagementApi get_loyalty_statistics GET /v1/loyalty_programs/loyaltyProgramId/statistics Get loyalty program statistics
TalonOne::ManagementApi get_notification_webhook GET /v1/applications/applicationId/notification_webhooks/notificationWebhookId Get notification about campaign-related changes
TalonOne::ManagementApi get_notification_webhooks GET /v1/applications/applicationId/notification_webhooks List notifications about campaign-related changes
TalonOne::ManagementApi get_referrals_without_total_count GET /v1/applications/applicationId/campaigns/campaignId/referrals/no_total List referrals
TalonOne::ManagementApi get_role GET /v1/roles/roleId Get role
TalonOne::ManagementApi get_ruleset GET /v1/applications/applicationId/campaigns/campaignId/rulesets/rulesetId Get ruleset
TalonOne::ManagementApi get_rulesets GET /v1/applications/applicationId/campaigns/campaignId/rulesets List campaign rulesets
TalonOne::ManagementApi get_user GET /v1/users/userId Get user
TalonOne::ManagementApi get_users GET /v1/users List users in account
TalonOne::ManagementApi get_webhook GET /v1/webhooks/webhookId Get webhook
TalonOne::ManagementApi get_webhook_activation_logs GET /v1/webhook_activation_logs List webhook activation log entries
TalonOne::ManagementApi get_webhook_logs GET /v1/webhook_logs List webhook log entries
TalonOne::ManagementApi get_webhooks GET /v1/webhooks List webhooks
TalonOne::ManagementApi import_account_collection POST /v1/collections/collectionId/import Import data in existing account-level collection
TalonOne::ManagementApi import_allowed_list POST /v1/attributes/attributeId/allowed_list/import Import allowed values for attribute
TalonOne::ManagementApi import_collection POST /v1/applications/applicationId/campaigns/campaignId/collections/collectionId/import Import data in existing collection
TalonOne::ManagementApi import_coupons POST /v1/applications/applicationId/campaigns/campaignId/import_coupons Import coupons
TalonOne::ManagementApi import_loyalty_cards POST /v1/loyalty_programs/loyaltyProgramId/import_cards Import loyalty cards
TalonOne::ManagementApi import_loyalty_points POST /v1/loyalty_programs/loyaltyProgramId/import_points Import loyalty points
TalonOne::ManagementApi import_pool_giveaways POST /v1/giveaways/pools/poolId/import Import giveaway codes into a giveaway pool
TalonOne::ManagementApi import_referrals POST /v1/applications/applicationId/campaigns/campaignId/import_referrals Import referrals
TalonOne::ManagementApi list_account_collections GET /v1/collections List collections in account
TalonOne::ManagementApi list_collections GET /v1/applications/applicationId/campaigns/campaignId/collections List collections
TalonOne::ManagementApi list_collections_in_application GET /v1/applications/applicationId/collections List collections in application
TalonOne::ManagementApi post_added_deducted_points_notification POST /v1/loyalty_programs/loyaltyProgramId/notifications/added_deducted_points Create notification about added or deducted loyalty points
TalonOne::ManagementApi post_catalogs_strikethrough_notification POST /v1/catalogs/applicationId/notifications/strikethrough Create strikethrough notification
TalonOne::ManagementApi remove_loyalty_points PUT /v1/loyalty_programs/loyaltyProgramId/profile/integrationId/deduct_points Deduct points from customer profile
TalonOne::ManagementApi reset_password POST /v1/reset_password Reset password
TalonOne::ManagementApi search_coupons_advanced_application_wide_without_total_count POST /v1/applications/applicationId/coupons_search_advanced/no_total List coupons that match the given attributes (without total count)
TalonOne::ManagementApi search_coupons_advanced_without_total_count POST /v1/applications/applicationId/campaigns/campaignId/coupons_search_advanced/no_total List coupons that match the given attributes in campaign (without total count)
TalonOne::ManagementApi transfer_loyalty_card PUT /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier/transfer Transfer loyalty card data
TalonOne::ManagementApi update_account_collection PUT /v1/collections/collectionId Update account-level collection
TalonOne::ManagementApi update_additional_cost PUT /v1/additional_costs/additionalCostId Update additional cost
TalonOne::ManagementApi update_attribute PUT /v1/attributes/attributeId Update custom attribute
TalonOne::ManagementApi update_campaign PUT /v1/applications/applicationId/campaigns/campaignId Update campaign
TalonOne::ManagementApi update_collection PUT /v1/applications/applicationId/campaigns/campaignId/collections/collectionId Update collection description
TalonOne::ManagementApi update_coupon PUT /v1/applications/applicationId/campaigns/campaignId/coupons/couponId Update coupon
TalonOne::ManagementApi update_coupon_batch PUT /v1/applications/applicationId/campaigns/campaignId/coupons Update coupons
TalonOne::ManagementApi update_loyalty_card PUT /v1/loyalty_programs/loyaltyProgramId/cards/loyaltyCardIdentifier Update loyalty card status
TalonOne::ManagementApi update_notification_webhook PUT /v1/applications/applicationId/notification_webhooks/notificationWebhookId Update notification about campaign-related changes
TalonOne::ManagementApi update_referral PUT /v1/applications/applicationId/campaigns/campaignId/referrals/referralId Update referral

Documentation for Models

Documentation for Authorization

api_key_v1

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

management_key

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

manager_auth

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header