Talkable Rewards API

The Rewards API from Talkable — 3 operation(s) for rewards.

OpenAPI Specification

talkable-rewards-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Talkable Advocate Offers Rewards API
  version: '2.0'
  contact:
    name: API Reference
    url: https://docs.talkable.com/api_v2/
servers:
- url: https://www.talkable.com
security:
- api_key: []
tags:
- name: Rewards
paths:
  /api/v2/offer_claims:
    post:
      summary: Share and claim an offer
      tags:
      - Rewards
      parameters:
      - $ref: '#/components/parameters/site_slug_in_query_required'
      - name: advocate_email
        in: query
        schema:
          type: string
          format: email
          example: advocate@example.com
        required: true
      - name: friend_email
        in: query
        schema:
          type: string
          format: email
          example: friend@example.com
        required: true
      operationId: shareAndClaimOffer
      responses:
        '200':
          description: null
          content:
            application/json:
              examples:
                friend rewarded:
                  value:
                    ok: true
                    result:
                      friend_reward:
                        amount: 10.0
                        id: 1
                        reason: click
                        status: Paid
                        coupon:
                          amount: 10.0
                          description: $10
                          code: COUPON_CODE_29
                          expires_at: null
                          id: 1
                          percentage_discount: false
                          single_use: true
                          used: false
                          active: true
                          usages: 0
                          valid_until: null
                        coupon_code: COUPON_CODE_29
                        incentive_type: discount_coupon
                        incentive_description: single use coupon for $10 off
                        incentive_custom_description: null
                      friend_unredeem_reason: null
                      friend_human_unredeem_reason: null
                friend not rewarded:
                  value:
                    ok: true
                    result:
                      friend_reward: null
                      friend_unredeem_reason: SELF_REFERRAL
                      friend_human_unredeem_reason: Self Referral
        '400':
          description: null
          content:
            application/json:
              examples:
                invalid email for Advocate:
                  value:
                    ok: false
                    error_message: Invalid `advocate_email`.
                invalid email for Friend:
                  value:
                    ok: false
                    error_message: Invalid `friend_email`.
                no campaign found:
                  value:
                    ok: false
                    error_message: No campaign found.
  /api/v2/people/{person_slug}/rewards:
    parameters:
    - name: person_slug
      in: path
      schema:
        $ref: '#/components/schemas/person_slug'
      required: true
    get:
      summary: Get rewards received by person
      description: Returns rewards that person has earned in referral program.
      tags:
      - Rewards
      parameters:
      - $ref: '#/components/parameters/site_slug_in_query_required'
      operationId: getRewardsReceivedByPerson
      responses:
        '200':
          description: person found
          content:
            application/json:
              example:
                ok: true
                result:
                  rewards:
                  - amount: 10.0
                    id: 1
                    reason: referrer
                    status: Unpaid
                    coupon: null
                    coupon_code: null
                    incentive_type: discount_coupon
                    incentive_description: single use coupon for $10 off
                    incentive_custom_description: null
                  - amount: 10.0
                    id: 2
                    reason: click
                    status: Paid
                    coupon:
                      amount: 10.0
                      description: $10
                      code: C1383-8321
                      expires_at: null
                      id: 3
                      percentage_discount: null
                      single_use: false
                      used: false
                      active: true
                      usages: null
                      valid_until: null
                    coupon_code: C1383-8321
                    incentive_type: discount_coupon
                    incentive_description: shared coupon "C1383-8321" for $10 off
                    incentive_custom_description: null
        '400':
          description: person not found
          content:
            application/json:
              example:
                ok: false
                error_message: No person found by `person_slug`.
  /api/v2/rewards:
    get:
      summary: List rewards
      tags:
      - Rewards
      parameters:
      - $ref: '#/components/parameters/site_slug_in_query_required'
      - name: visitor_uuid
        in: query
        schema:
          $ref: '#/components/schemas/visitor_uuid'
        required: true
      operationId: listRewards
      responses:
        '200':
          description: returns the list of rewards
          content:
            application/json:
              example:
                ok: true
                result:
                  rewards:
                  - amount: 10.0
                    id: 1
                    reason: referrer
                    status: Paid
                    coupon: null
                    coupon_code: null
                    incentive_type: rebate
                    incentive_description: $10 back
                    incentive_custom_description: null
components:
  schemas:
    person_slug:
      type: string
      example: customer@example.com
      description: Person’s email, phone number, customer ID or username
    visitor_uuid:
      type: string
      format: uuid
      example: 123e4567-e89b-32d1-a456-426614174000
  parameters:
    site_slug_in_query_required:
      name: site_slug
      in: query
      required: true
      schema:
        type: string
      description: Your Talkable Site ID. You can get this from your Talkable dashboard after you log in and create a site.
      example: my-store
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      description: Please provide here your API key, you can find it in Site Settings -> API Integration -> API Key