Pike13 For Developers
Get Started
Authentication
Core API
Reporting API
Announcements

Announcements

November 29, 2018

Contents

  • New APIs available

New APIs available

Pike13 has made a number of new APIs available to developers, including the Form of Payment API, Invoice API, and Payment Configuration.

Form of Payment API

Provides access to information about a client's available forms of payment, including viewing a client's credit card or ACH account information, or storing new credit card in the payment gateway.

Invoice API

Provides access to information about invoices, which consist of an order's details.

Payment Configuration API

Provides access to information about the business's available forms of payment.

See our developer docs to learn more.

January 26, 2018

Contents

  • TLSv1.1 will no longer be supported after January 31st, 2018

TLSv1.1 is going away

In order to ensure we maintain PCI compliance, pike13.com will stop supporting TLSv1.1 on February 1st, 2018. TLS is a protocol used to secure the communication between your browser and Pike13. TLSv1.1 has been replaced by newer more secure versions. All new browsers support the newer versions of TLS.

TLS also secures the communication between your apps and Pike13. If you have used our API to write your own custom integrations then you may need to update your integration to ensure that it supports the newer versions of TLS. This probably means that you will need to update your SSL libraries, for example OpenSSL v1.0.1 or later supports the latest versions of TLS.

May 19, 2017 (Updated)

Contents

  • Change your apps to use pike13.com
  • TLSv1.0 will no longer be supported after June 14th, 2017
  • Custom Fields in the Front Person API and Account People API is being fixed June 14th, 2017 (Updated)

API endpoints available on pike13.com

On June 1st, 2017, our name is changing to Pike13.

To help make the transition easier, all APIs will continue to work using frontdeskhq.com for the remainder of the year. We will be turning off frontdeskhq.com at the end of the year so please plan for a migration of your API usage to pike13.com.

TLSv1.0 is going away

In order to ensure we maintain PCI compliance, frontdeskhq.com will stop supporting TLSv1.0 on June 14, 2017. TLS is a protocol used to secure the communication between your browser and Pike13. TLSv1.0 has been replaced by newer more secure versions. All new browsers support the newer versions of TLS.

TLS also secures the communication between your apps and Pike13. If you have used our API to write your own custom integrations then you may need to update your integration to ensure that it supports the newer versions of TLS. This probably means that you will need to update your SSL libraries, for example OpenSSL v1.0.1 or later supports the latest versions of TLS.

Note: pike13.com will not support TLSv1.0. To test that your application supports TLSv1.1 or higher you can test that your application works against pike13.com.

Custom Fields being updated in Front people/:id, Front people/me, and account/people

On June 14, 2017, we’re removing duplicate custom fields entries and adding an entry to make the APIs resemble the Desk versions. Update: On October 1st, 2017 we'll remove person_custom_fields.

Which APIs?

Custom Fields in the Front Person API
  • Front GET /api/v2/front/people/:id
  • Front GET /api/v2/front/people/me
Custom Fields in the Account People API
  • GET /api/v2/account/people

What do I need to do?

Check your application to see if you’re using one of the APIs listed above. If so, check to see if you’re using the person_custom_fields attribute. If not, then you do need to do anything and can ignore this notice.

If you are using the custom_fields, keep reading.

person_custom_fields is an array of custom_fields. It currently contains numerous duplicate custom_fields. We'll be removing the duplicates on June 14th 2017 while leaving the first element in the array. We're also adding in custom_fields. On October 1st, 2017 we'll remove the person_custom_fields. Before then, you'll need to change to just use custom_fields before then.

Phew, I'm getting confused just writing this. Hopefully the example below will make this very clear.

Why is it changing?

We value backwards compatibility of our API, so we try to change it as little as possible. In this case we found a bug in the Front Person API that was sending over way too many custom fields entries. If a person had 10 custom fields, we’d include all 10 custom fields, 10 times. For a total of 100 custom fields. Additionally, the format of the JSON was different between the Front and Desk endpoints. In Front, they were person_custom_fields, in Desk, they were custom_fields.

Example of the API as it works prior to June 14th 2017

Notice how we've erroneously included the custom_fields 3 extra times under person_custom_fields. To facilitate the switch we've added the custom_fields at the same level as person_custom_fields which mimics the Desk version of this API. You should be using custom_fields instead of person_custom_fields[0].custom_fields

REQUEST
$ curl https://pike13.com/api/v2/account/people \
  -H "Authorization: Bearer XXXXXXXXXXXXXXX"

RESPONSE
{
  "people": [
    {
      "id": 1000,
      "custom_fields": [
        { "id": 100, "value": "ABC", "name": "Custom Field 100" },
        { "id": 101, "value": "DEF", "name": "Custom Field 101" },
        { "id": 102, "value": "GHI", "name": "Custom Field 102" },
        { "id": 103, "value": "JKL", "name": "Custom Field 103" }
      ]
      "name": "Jane Superfit",
      "email": "jane.superfit@pike13.com",
      "person_custom_fields": [
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        },
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        },
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        },
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        }
      ]
    }
  ]
}

Example of the API as it will work on June 14th 2017

The extra custom_fields entries in person_custom_fields are gone. There's now just one entry.

REQUEST
$ curl https://pike13.com/api/v2/account/people \
  -H "Authorization: Bearer XXXXXXXXXXXXXXX"

RESPONSE
{
  "people": [
    {
      "id": 1000,
      "custom_fields": [
        { "id": 100, "value": "ABC", "name": "Custom Field 100" },
        { "id": 101, "value": "DEF", "name": "Custom Field 101" },
        { "id": 102, "value": "GHI", "name": "Custom Field 102" },
        { "id": 103, "value": "JKL", "name": "Custom Field 103" }
      ]
      "name": "Jane Superfit",
      "email": "jane.superfit@pike13.com",
      "person_custom_fields": [
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        }
      ]
    }
  ]
}

Example of the API as it works on October 1st 2017

The extra person_custom_fields are gone.

REQUEST
$ curl https://pike13.com/api/v2/account/people \
  -H "Authorization: Bearer XXXXXXXXXXXXXXX"

RESPONSE
{
  "people": [
    {
      "id": 1000,
      "name": "Jane Superfit",
      "email": "jane.superfit@pike13.com",
      "custom_fields": [
        { "id": 100, "value": "ABC", "name": "Custom Field 100" },
        { "id": 101, "value": "DEF", "name": "Custom Field 101" },
        { "id": 102, "value": "GHI", "name": "Custom Field 102" },
        { "id": 103, "value": "JKL", "name": "Custom Field 103" }
      ]
    }
  ]
}