You can have up to 5 URLs for each Product/Podcast/RSS Feed/Membership be notified whenever a subscriber event happens. You can enter these URLs by clicking on "Edit Notifications/Custom Fields" for a particular item. The system will then POST the following variables to the URLs you've entered. You can also include any of the variables below as a "tags" in your URL and the system will replace the tag with the actual value. This way you can post the values to an existing script that expects a variable name to be different than the ones listed below. For example, your notification URL could be: http://example.com/your_script.php?email_address={u_email}&firstname={u_firstname} . The system would then post all the variables below to: http://example.com/your_script.php?email_address=joe@example.com&firstname=Joe

mode add|modify|payment|product|reactivate|decline|suspend|delete
  • add: Sent when a new client is added. Any time any type of new order is placed, a notification with the mode "add" gets sent, whether it is free, one-time or subscription.
  • modify: Sent when a client's record is modified.
  • payment: Sent when a recurring payment is made for the client by the system. The amount charged is the "u_recurring_price" variable.
  • product: Sent when an automatic or broadcasted physical product is triggered for the client.
  • reactivate: Sent when a client has made a successful payment after being suspended, which means their account is now in good standing and should be reactivated. Also, the mode will be "reactivate" whenever a client has previously been set to a "negative" status ("unsubscribed", "declined", or "pending") and then changed to a "positive" status ("not yet loaded","subscribed","paused") from within the admin area when editing clients
  • decline: Sent when an automatic subscription payment attempt has failed, but the client hasn't been cancelled yet. Subscription payments are attempted on the expiration date, then 2 days later, then 4 days later, and then for the last time 6 days after the expiration date. The first 3 attempts will send a "decline" status, but on the 4th try (6 days after the expiration date), a "suspend" notification is sent (see "suspend" below).
  • suspend: Sent when the subscription payment attempts have failed too many times and the client is cancelled as a result. Also sent when a client manually cancels their subscription (if they have a subscription). Account should be suspended but not deleted in case they reactivate later. Also, the mode will always be "suspend" whenever the client's status is saved as "unsubscribed", "declined", or "pending" within the admin area when editing clients (regardless of what their status was previously).
  • delete: Sent when a client is deleted from within the admin area when editing clients.
id: This is the client's ID in our database.

u_access_code This is the client's unique 12-character code that is used to make up their RSS Feed or Podcast URL
(Ex: http://nanacast.com/ac/123456789).

u_list_id (Your Product/Podcast/RSS Feed/Membership ID)

You can find this ID next to the title of your Product/Podcast/RSS Feed/Membership listed as "Advanced API ID". This is how you can identify exactly which item the client belongs to. You can also find it from the "Edit Listing" for your particular Product/Podcast/RSS Feed/Membership, at the top where there is a field that says "ID used for Advanced API".

item_name (Your Product/Podcast/RSS Feed/Membership Name)

u_subscribe_referer This is the referring URL that the client was visiting when they joined.
(Ex: http://example.com/my-sales-page.html)

u_subscribe_ip This is the IP address of the client.
(Ex: 192.168.1.100)

u_last_unsubscribe_reason blank|billing_failed|incoming_api_unsubscribe|refund_and_unsubscribe |client_cancelled|admin_unsubscribed|changed_membership_within_group

This indicates the reason why the mode=suspend. This field will be blank until the client is first unsubscribed for some reason (mode=suspend). The field will then be set to one of the above values, and will be populated for the remaining life of the client. For example, if the client has a billing failure, the API call will be mode=suspend and this field will be 'billing_failed'. If they reactivate later and an API call is sent with mode=reactivate, the value will still be set to 'billing_failed'. Then later let's say they ask for a refund. Another API call would be sent at that time with mode=suspend and this field would then be 'refund_and_unsubscribe'. Note that you can safely ignore this field for all intents and purposes when the mode is something other than 'suspend'.

u_date_added This is the date/time that the client joined.
(Ex: 2009-10-29 23:45:25)

u_start_date This is the effective start date used for the content delievery. (The date that determines when "Day 0, Day 1, Day 2" content should be shown.) It is always the date that the client joined, but it could be changed in the admin panel.
(Ex: 2009-10-29)

u_last_contact This is the date/time that the client has last made contact with the server, either by logging into a membership and viewing the episodes or by hitting their Podcast/RSS Feed.
(Ex: 2009-10-29 23:45:25)

u_ip_country This is the country that the client's IP address is registered to.
(Ex: UNITED STATES)

u_coupon_id This is the numeric internal coupon ID that the client used (not the coupon code you made up).
(Ex: 12345)

coupon_code This is the coupon code the client used. This would be the code that you made up when you created the coupon.
(Ex: my-special-offer)

alt_pricing_id This is the numeric Alternate Pricing ID that was used to set the pricing and commission terms of the offer.
(Ex: 12345)

u_affiliate_id This is the numeric internal account ID of the affiliate that referred the client.
(Ex: 12345)

u_affiliate_campaign_id This is the numeric internal ID of the link campaign affiliate link that the client clicked on
(Ex: 67890)

u_affiliate_custom_1 This is the custom tracking code that was used on the link campaign affiliate link.
(Ex: my-custom-tracking-code-1)

u_affiliate_id_2 This is the numeric internal account ID of the second-tier affiliate that referred the client.
(Ex: 12345)

account_id This is the numeric internal account ID of the client. This is different from the client id field above. If a client has purchased multiple memberships in the system, they will have multiple client IDs but only one account_id. The account_id ties all their memberships together into one account. The account_id is also the client's personal affiliate ID that they can use when promoting your products.
(Ex: 12345)

u_first_price This is the amount they paid at checkout
(Ex: 100.00)

u_quantity This is the quantity they selected. (Defaults to 1 if quantity was not an option)
(Ex: 1)

u_first_aff_comm This is the amount of the affiliate commission for the checkout amount
(Ex: 50.00)

u_first_aff_comm_2 This is the amount of the two-tier affiliate commission for the checkout amount
(Ex: 50.00)

u_recurring_price This is the amount they will be charged on a recurring basis
(Ex: 100.00)

u_recurring_quantity This is the recurring quantity they selected. (Defaults to 1 if recurring quantity was not an option)
(Ex: 1)

u_recurring_aff_comm This is the amount of the affiliate commission for the recurring amount
(Ex: 50.00)

u_recurring_aff_comm_2 This is the amount of the two-tier affiliate commission for the recurring amount
(Ex: 50.00)

u_billing_interval This is the number of days in their billing cycle.
(Ex: 30)

u_installments_needed This is number of times they will be billed on a recurring basis. This will be 0 for unlimited installments.
(Ex: 10)

u_installments_collected This is number of installments collected so far. Trial periods do not count towards installments.
(Ex: 5)

u_expiration If there are any remaining installments then this is the date on which the system will attempt to charge the next installment. If successful, then this date is advanced to the date on which the next installment charge will be attempted. However, if the payment fails, then the charge will be reattempted 2, 4 and finally 6 days after this date (This date is never advanced forward unless a successful payment is made). Once there are no remaining installments then this field can be completely ignored since it carries no meaning at that point.
(Ex: 2009-11-23)

u_external_order_id This is the order ID that we received back from any third-party fulfillment house for any automatically-shipped item. For example, Kunaki.com's internal order ID created for this client.
(Ex: 1A2B3C4D5E)

u_last_transaction_id This is the internal transaction ID for the last credit card payment that processed successfully for the client. This will never be a failed, refunded or credited transaction, or any Paypal or other third-party processor transaction. This should be used as the transaction ID when submitting refunds via the incoming API.
(Ex: 12345)

u_paypal_email This is the client's paypal email address. It may be different from u_email if the client used a different email when paying via PayPal.

u_paypal_payer_id This is client's unique PayPal ID (only set if they paid via PayPal)

u_paypal_trans_id This is PayPal's Transaction ID (only set if they paid via PayPal)

feedurl (url for podcast or feed)

Passwords: The fields "firstname, lastname and email" are automatically added for you during the membership wizard. However, password is not automatically added during the wizard, so if you need a password for integration with a 3rd party script, you will need to add a "Password" field in the Notifications/Custom Fields page. When you add the password field you will see an option to have the system automatically generate passwords so your clients don't have to type one in.
On signup, if subscribers have a current Nanacast account, then the password for the membership will be whatever they enter in the checkout form for your offer, but it will NOT modify their master password for their Nanacast account. Ultimately, if a client ever modifies their password in Nanacast or in your site... one will NEVER update the other. This is for security purposes.

Username: The "Username" field operates much the same as the password field as described above. Username is optional but is recommended as a custom field. This is because the Nanacast.com system makes sure that username is unique, thereby ensuring that your usernames will also be unique in your 3rd Party script.
However, if you don't want to ask your members to enter username the system will just use their email address as their username. This introduces the possibility of having two accounts in your 3rd party script with the same email address. Not very likely, but possible. (someone would have to order your membership twice with the same email)

Once you have set up all your custom fields, you should go back to the "Edit Pricing" page for your membership to modify the email receipt that will be sent out for your membership. Now that you have added your custom fields, you will see the custom variable tags you can use in the email receipt.

The {username} and {password} tags refer to the username and password that your clients can use to login to your 3rd party script AND your membership hosted on Nanacast.com, if desired.
For example, you might craft your email receipt to look like this:

Membership Website: YOUR_INTEGRATED_SITE_URL here
Billing Website: {login_url}
Username: {username}
Password: {password}


Permanent Fields:

u_email
u_title
u_firstname
u_lastname
u_business
u_address
u_address_2
u_city
u_state
u_zip
u_country
u_phone
u_fax
u_timezone
u_website
u_username
u_password
u_paypal_email


Credit Card Fields:

u_cc_first_two
u_cc_last_four
u_cc_exp (YYYY-MM-DD; Day is always 01)
u_cc_firstname
u_cc_lastname
u_cc_address
u_cc_city
u_cc_state
u_cc_zip
u_cc_country
u_cc_phone


Custom Fields:

Any other custom fields that you have set up will be included. The field name naming convention used is "u_custom_1", "u_custom_2", "u_custom_3", etc... You can find the field name to use for a particular custom field by clicking to edit that field. At the top of the edit page you will see "Field Name for Advanced API" which indicates the field name used for that particular custom field. If a custom field is "secret", it will automatically be populated with the default value you have set up for the field. You can use this as an additional security feature. For example, your script could check for this secret field to make sure that the incoming requests are legitimate.



Auto-Join to affiliate program: There is an option when creating a membership to have your clients automatically joined to the membership's affiliate program. If you have this option checkmarked, then an additional variable will be passed:

affiliate_url This is the affiliate URL that the client can use to promote the membership they just joined.
(Ex: http://nanacast.com/vp/12345/67890/) where 12345 is the product ID and 67890 is the affiliate ID.