API ShoWare Brasil

This is the ShoWare Brasil API documentation.
You can use this API to allow users to choose and buy tickets for performances, query placed orders, or create B2B integrations with ShoWare Brasil.

Consumer app authentication

Every call to this API must send a custom HTTP header named X-AuthKey for authentication. The value that must be sent is an authentication key provided by ShoWare Brasil. If you need an authentication key, please contact us at suporte.showare@accesso.com.

Technical considerations

This API works with cookies for session management. The client application must be able to store cookies in order to complete the default sales workflow, as most operations work with context such as the logged-in patron and the current order being created.

As some operations can return data in different formats, it may be needed to add an Accept header with the value application/json to get responses in the JSON format.

Some operations may return fields that are not present in this documentation. Those fields should not be relied upon, as they may be removed without warning.

Key concepts

Patron

A patron is a user, and is required for placing orders. This means the API consumer will have to log in with a valid patron to proceed with the reservation workflow at some point.

Event

An event is a group of performances. It also has information like images, which can be rendered on displays, seasons descriptions and headline.

Performance

A performance represents a specific concert, theater play etc. It is the entity that tickets belong to. It has information like start and end time, gate opening time, status (on sale, sold out etc.), venue address and sections available for reservation.

Sections

Sections are the physical spaces where patrons will attend performances. Sections can be of two types:

  • Numbered: The patron selects exact seats to reserve (e.g. seats on a theater);

  • General admission (GA): Free areas, where the patron can buy access to but have no guarantee of what physical spaces will be available (e.g. the floor in a concert).

Under sections there are data like seat maps, seat map images and available price categories.

Price categories

Price categories define ticket prices, and can be shared among sections. Price categories have full prices and discounts.

Discounts

Discounts enconpass both promotional prices and mandatory-by-law prices, like students and senior citizens discounts.

Order

The final product of the workflows are placed orders. Orders aggregate the reserved tickets, tickets’ holder info, delivery and payment info etc. After an order is placed, the workflow is completed. From that point, API consumers are able to query orders and generate print-at-home versions of the purchased tickets, among other operations.

Support

If you have any issue, please contact us as suporte.showare@accesso.com.

Changelog

Version number Value
0.1 Initial document version

Events

Operations for listing events, getting a single event by id and all the prices (simplified) of an event.

Events operations

GET https://api-qa.showare.com.br/api/lite/events
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 232,
  "name": "Shakira World Tour",
  "subtitle": "Best hits album",
  "promoterId": 1,
  "promoterName": "'Som livre produções'",
  "images": [
    {
      "name": "linkin_park_banner",
      "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
      "imageType": "ShoWare - Anúncio",
      "imageTypeCode": "SHOWARE_AD",
      "width": 293,
      "height": 400
    }
  ],
  "categories": [
    {
      "id": 82,
      "name": "Skate",
      "parentId": 12,
      "parent": "Sports"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "subtitle": {
      "type": "string"
    },
    "promoterId": {
      "type": "number"
    },
    "promoterName": {
      "type": "string"
    },
    "images": {
      "type": "array"
    },
    "categories": {
      "type": "array",
      "description": "Event categories/tags"
    }
  }
}

List all events
GET/lite/events

Lists all enabled events with images. We recommend to use this ligthweight operation instead of the above.

URI Parameters
HideShow
startDate
string (optional) Example: 2021-08-03T00:00:00

The starting date of a timeframe where the events’ performances are happening. Must be supplied alongside the endDate parameter;

endDate
string (optional) Example: 2021-08-05T23:59:59

The ending date of a timeframe where the events’ performances are happening. Must be supplied alongside the startDate parameter;

promoterId
int (optional) Example: 10

Filters performances by their event’s promoter;

ignoreStatus
boolean (optional) Example: false

By default, only events with performances with statuses that allows them to be shown to patrons are returned. If this parameter is true, events with performances with any status are returned.


GET https://api-qa.showare.com.br/api/lite/events/
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "description": "Best hits album",
  "deliveryMethodOptIn": true,
  "adImageLink `https://showare-cdn.s3.amazonaws.com/demo-qa/images/site/logo-menu.png`": "Hello, world!",
  "id": 232,
  "name": "Shakira World Tour",
  "subtitle": "Best hits album",
  "promoterId": 1,
  "promoterName": "'Som livre produções'",
  "images": [
    {
      "name": "linkin_park_banner",
      "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
      "imageType": "ShoWare - Anúncio",
      "imageTypeCode": "SHOWARE_AD",
      "width": 293,
      "height": 400
    }
  ],
  "categories": [
    {
      "id": 82,
      "name": "Skate",
      "parentId": 12,
      "parent": "Sports"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "description": {
      "type": "string"
    },
    "deliveryMethodOptIn": {
      "type": "boolean"
    },
    "adImageLink `https://showare-cdn.s3.amazonaws.com/demo-qa/images/site/logo-menu.png`": {
      "type": "string"
    },
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "subtitle": {
      "type": "string"
    },
    "promoterId": {
      "type": "number"
    },
    "promoterName": {
      "type": "string"
    },
    "images": {
      "type": "array"
    },
    "categories": {
      "type": "array",
      "description": "Event categories/tags"
    }
  }
}

Get an event by ID
GET/lite/events/

Returns event’s details when the customer has its ID. We recommend to use this ligthweight operation instead of the above.

URI Parameters
HideShow
ignoreStatus
boolean (optional) Example: false

By default, only events with performances with statuses that allows them to be shown to patrons are returned. If this parameter is true, events with performances with any status are returned.


Performances

You can use the following operations to get data about performances, including available promotions, prices, discounts and sections.

Performances operations

These are operations to get performances info.

GET https://api-qa.showare.com.br/api/lite/events/id/performances
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1234,
  "name": "John Mayer [São Paulo]",
  "startDate": "2018-08-27T12:00:00.0000000",
  "endDate": "2018-08-27T00:00:00.0000000",
  "status": "OnSale",
  "statusName": "À venda",
  "venue": {
    "id": 1,
    "name": "Arena Anhembi",
    "address": "Av. Olavo Fontoura, 1209 - Santana",
    "phone": "(11) 2226-0500",
    "city": "São Paulo",
    "uf": "SP",
    "locationId": 2,
    "locationName": "'Parque de exposições'"
  },
  "isPassport": true,
  "PassportParent": {
    "id": 1234,
    "name": "John Mayer [São Paulo]"
  },
  "PassportChildren": [
    {
      "id": 1234,
      "name": "John Mayer [São Paulo]",
      "startDate": "2018-08-27T12:00:00.0000000",
      "endDate": "2018-08-27T23:59:00.0000000"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "startDate": {
      "type": "string",
      "description": "Local date time"
    },
    "endDate": {
      "type": "string",
      "description": "Local date time"
    },
    "status": {
      "type": "string",
      "description": "Refer to PerformanceStatus enum"
    },
    "statusName": {
      "type": "string",
      "description": "Status' friendly name"
    },
    "venue": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "uf": {
          "type": "string"
        },
        "locationId": {
          "type": "number"
        },
        "locationName": {
          "type": "string"
        }
      }
    },
    "isPassport": {
      "type": "boolean",
      "description": "When 'true', indicates that the performance is a component of a passport context"
    },
    "PassportParent": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        }
      },
      "description": "When the performance is a passport child, this property is filled with basic data about its parent"
    },
    "PassportChildren": {
      "type": "array",
      "description": "When the performance is a passport parent, this property is filled with its children's basic data"
    }
  }
}

List all performances by event
GET/lite/events/{id}/performances

Lists all enabled performances when you have the event’s ID.

URI Parameters
HideShow
id
string (required) 

Event’s ID

startDate
string (optional) Example: 2021-08-03T00:00:00

The starting date of a timeframe where the events’ performances are happening. Must be supplied alongside the endDate parameter;

endDate
string (optional) Example: 2021-08-05T23:59:59

The ending date of a timeframe where the events’ performances are happening. Must be supplied alongside the startDate parameter;

ignoreStatus
boolean (optional) Example: false

By default, only performances with statuses that allows them to be shown to patrons are returned. If this parameter is true, performances with any status are returned.


GET https://api-qa.showare.com.br/api/lite/performances
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1234,
  "name": "John Mayer [São Paulo]",
  "startDate": "2018-08-27T12:00:00.0000000",
  "endDate": "2018-08-27T00:00:00.0000000",
  "status": "OnSale",
  "statusName": "À venda",
  "venue": {
    "id": 1,
    "name": "Arena Anhembi",
    "address": "Av. Olavo Fontoura, 1209 - Santana",
    "phone": "(11) 2226-0500",
    "city": "São Paulo",
    "uf": "SP",
    "locationId": 2,
    "locationName": "'Parque de exposições'"
  },
  "isPassport": true,
  "PassportParent": {
    "id": 1234,
    "name": "John Mayer [São Paulo]"
  },
  "PassportChildren": [
    {
      "id": 1234,
      "name": "John Mayer [São Paulo]",
      "startDate": "2018-08-27T12:00:00.0000000",
      "endDate": "2018-08-27T23:59:00.0000000"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "startDate": {
      "type": "string",
      "description": "Local date time"
    },
    "endDate": {
      "type": "string",
      "description": "Local date time"
    },
    "status": {
      "type": "string",
      "description": "Refer to PerformanceStatus enum"
    },
    "statusName": {
      "type": "string",
      "description": "Status' friendly name"
    },
    "venue": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "uf": {
          "type": "string"
        },
        "locationId": {
          "type": "number"
        },
        "locationName": {
          "type": "string"
        }
      }
    },
    "isPassport": {
      "type": "boolean",
      "description": "When 'true', indicates that the performance is a component of a passport context"
    },
    "PassportParent": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        }
      },
      "description": "When the performance is a passport child, this property is filled with basic data about its parent"
    },
    "PassportChildren": {
      "type": "array",
      "description": "When the performance is a passport parent, this property is filled with its children's basic data"
    }
  }
}

List all performances by period
GET/lite/performances

Lists all enabled performances when by period. This operation is used when you don’t have the event id or if you want to get performances from multiple events.

URI Parameters
HideShow
EventId
number (optional) 

The event identifier;

startDate
string (optional) Example: 2021-08-03T00:00:00

The starting date of a timeframe where the events’ performances are happening. Must be supplied alongside the endDate parameter;

endDate
string (optional) Example: 2021-08-05T23:59:59

The ending date of a timeframe where the events’ performances are happening. Must be supplied alongside the startDate parameter;

ignoreStatus
boolean (optional) Example: false

By default, only performances with statuses that allows them to be shown to patrons are returned. If this parameter is true, performances with any status are returned.


GET https://api-qa.showare.com.br/api/lite/performances/
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "eventId": 123,
  "eventName": "John Mayer",
  "seatMapImageUrl": "https://bucket.s3.amazonaws.com/demo/images/SeatMap/seatmap01.jpg",
  "areaMap": "<area shape=\"rect\" coords=\"1.335,3.3375,264.9975,198.58124999999998\" data-section=\"S01\">",
  "showAllSectionsExpanded": true,
  "showSectionDirectly": false,
  "documentTypes": [
    {
      "id": 2,
      "name": "Documento Nacional do Estudante",
      "abbreviation": "DNE"
    }
  ],
  "id": 1234,
  "name": "John Mayer [São Paulo]",
  "startDate": "2018-08-27T12:00:00.0000000",
  "endDate": "2018-08-27T23:00:00.0000000",
  "status": "OnSale",
  "statusName": "À venda",
  "venue": {
    "id": 1,
    "name": "Arena Anhembi",
    "address": "Av. Olavo Fontoura, 1209 - Santana",
    "phone": "(11) 2226-0500",
    "city": "São Paulo",
    "uf": "SP",
    "locationId": 2,
    "locationName": "'Parque de exposições'"
  },
  "isPassport": true,
  "passportParent": {
    "id": 1234,
    "name": "John Mayer [São Paulo]"
  },
  "passportChildren": [
    {
      "id": 1234,
      "name": "John Mayer [São Paulo]",
      "startDate": "2018-08-27T12:00:00.0000000",
      "endDate": "2018-08-27T23:59:00.0000000"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "eventId": {
      "type": "number"
    },
    "eventName": {
      "type": "string"
    },
    "seatMapImageUrl": {
      "type": "string"
    },
    "areaMap": {
      "type": "string",
      "description": "Used for image mapping purposes"
    },
    "showAllSectionsExpanded": {
      "type": "boolean",
      "description": "Informs when to show all sections expanded when on best pick mode"
    },
    "showSectionDirectly": {
      "type": "boolean",
      "description": "Informs when to show section directly"
    },
    "documentTypes": {
      "type": "array"
    },
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "startDate": {
      "type": "string",
      "description": "Local date time"
    },
    "endDate": {
      "type": "string",
      "description": "Local date time"
    },
    "status": {
      "type": "string",
      "description": "Refer to PerformanceStatus enum"
    },
    "statusName": {
      "type": "string",
      "description": "Status' friendly name"
    },
    "venue": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "uf": {
          "type": "string"
        },
        "locationId": {
          "type": "number"
        },
        "locationName": {
          "type": "string"
        }
      }
    },
    "isPassport": {
      "type": "boolean",
      "description": "When 'true', indicates that the performance is a component of a passport context"
    },
    "passportParent": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        }
      },
      "description": "When the performance is a passport child, this property is filled with basic data about its parent"
    },
    "passportChildren": {
      "type": "array",
      "description": "When the performance is a passport parent, this property is filled with its children's basic data"
    }
  }
}

Get a performance by ID
GET/lite/performances/

Returns a performance’s details.

URI Parameters
HideShow
ignoreStatus
boolean (optional) Example: false

By default, only performances with statuses that allows them to be shown to patrons are returned. If this parameter is true, performances with any status are returned.


GET https://api-qa.showare.com.br/api/lite/performances/sections
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 123,
    "name": "Setor A",
    "type": "GeneralAdmission",
    "priceCategories": [
      {
        "id": 123,
        "name": "Pista Premium",
        "isAvailable": true,
        "prices": [
          {
            "id": 123,
            "name": "Inteira",
            "value": 100
          }
        ]
      }
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Lists all available sections and price categories of a performance.
GET/lite/performances/sections

Returns all available sections/price categorys of a specific performance.

To understand the diferences between sections and price categories, please, refer to the Key Concepts section in the beginning of this document.

URI Parameters
HideShow
ignorePerformanceStatus
boolean (optional) Example: false

By default, only sections of performances with statuses that allows them to be shown to patrons are returned. If this parameter is true, sections of performances with any status are returned.


Two-steps sales

Summary of operations
When selling tickets, the following sequence of operations must be executed to ensure the correct flow of seat selection, reservation, and order placement:

  1. List all events
    Begin by retrieving all available events. List all events

  2. List all performances by event
    Once an event has been selected, request the list of available performances. List all performances by event

  3. List sections and price categories
    After choosing a performance, retrieve all available sections and price categories for the chosen performance. List all available sections and price categories of a performance

  4. Get a section’s seat map (optional)
    Once the section is chosen, request its seat map. This returns the grid of seats with coordinates, labels, and their current status (available, reserved, sold, etc.).
    If the section is of the type general admission, this step can be skipped. This step can also be skipped if the intention is to use the best-pick feature of the system (where ShoWare itself selects the best available seats for the patron). Get section seat map

  5. Reserve tickets
    This creates a temporary basket with a unique ID. At this stage, the tickets are blocked from being reserved by others. Reserve tickets

  6. List available payment methods (optional) Retrieve the payment methods available for the order (identified by orderId or externalOrderId). The selected payment method will be used in the next step, when placing the order. List available payment methods

  7. Place an order
    To confirm the sale, place the order based on the reservation. This step registers the tickets as sold in ShoWare. Place an order

  8. Clear the basket (optional)
    If the customer decides not to proceed, clear the basket. This makes the places available for reservation again. Clear the basket

Get section seat map

GET https://api-qa.showare.com.br/api/sales/performance/2578/section/123/seat-map
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200400
Headers
Content-Type: application/json
Body
{
  "data": {
    "columnsCount": 42,
    "rowsCount": 28,
    "seats": [
      {
        "id": 10001,
        "coordinateX": 5,
        "coordinateY": 12,
        "color": "#2e7d32",
        "imageUrl": "https://.../seat.png",
        "rowLabel": "F",
        "seatLabel": "06",
        "isBookable": true,
        "state": {
          "status": 1,
          "isAvailable": true
        },
        "priceCategoryId": 2072,
        "groupId": 1
      }
    ],
    "groups": [
      {
        "id": 1,
        "name": "Plateia A"
      }
    ],
    "socialDistancingRule": {
      "horizontalGap": 0,
      "verticalGap": 0,
      "diagonalGap": 0
    }
  },
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "columnsCount": {
          "type": "number",
          "description": "Total number of columns in the grid."
        },
        "rowsCount": {
          "type": "number",
          "description": "Total number of rows in the grid."
        },
        "seats": {
          "type": "array",
          "description": "List of seats."
        },
        "groups": {
          "type": "array",
          "description": "List of seat groups."
        },
        "socialDistancingRule": {
          "type": "object",
          "properties": {
            "horizontalGap": {
              "type": "number"
            },
            "verticalGap": {
              "type": "number"
            },
            "diagonalGap": {
              "type": "number"
            }
          },
          "description": "Social distancing rule configuration."
        }
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  },
  "required": [
    "data"
  ]
}
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "BadRequest",
    "message": "A apresentação (ID 2578) não está disponível para reserva.",
  }
}

Get section seat map
GET/sales/performance/{performanceId}/section/{sectionId}/seat-map

Returns the seat map (grid) for a given performance section, including seat coordinates, labels and statuses.

URI Parameters
HideShow
performanceId
number (required) Example: 2578

The performance ID.

sectionId
number (required) Example: 123

The section ID.


Reserve tickets

POST https://api-qa.showare.com.br/api/sales/reservation
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "performanceId": 10,
  "externalOrderId": "123",
  "patronIdentification": {
    "fullName": "Fulano da Silva",
    "phone": "51999884455",
    "email": "teste@fulano.com.br",
    "cpf": "01234567890"
  },
  "tickets": [
    {
      "sectionId": 10,
      "priceCategoryId": 11,
      "discountId": 12,
      "quantity": 1,
      "seatId": 34567
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "performanceId": {
      "type": "number",
      "description": "The performance's ID."
    },
    "externalOrderId": {
      "type": "string",
      "description": "The order's identification on your system. You can use this identification to place the reservation or release the tickets later."
    },
    "patronIdentification": {
      "type": "object",
      "properties": {
        "fullName": {
          "type": "string",
          "description": "Patron's full name."
        },
        "phone": {
          "type": "string",
          "description": "Patron's phone with DDD, but no country code."
        },
        "email": {
          "type": "string",
          "description": "Patron's e-mail."
        },
        "cpf": {
          "type": "string",
          "description": "Patron's CPF."
        }
      },
      "required": [
        "fullName",
        "phone",
        "email",
        "cpf"
      ],
      "description": "The minimum data needed to identify the order's patron.."
    },
    "tickets": {
      "type": "array",
      "description": "The description of the desired tickets."
    }
  }
}
Responses200400
Headers
Content-Type: application/json
Body
{
  "data": {
    "performanceId": 10,
    "externalOrderId": "123",
    "patronIdentification": {
      "fullName": "Fulano da Silva",
      "phone": "51999884455",
      "email": "teste@fulano.com.br",
      "cpf": "01234567890"
    },
    "tickets": [
      {
        "sectionId": 10,
        "priceCategoryId": 11,
        "discountId": 12,
        "quantity": 1,
        "seatId": 34567
      }
    ]
  },
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "performanceId": {
          "type": "number",
          "description": "The performance's ID."
        },
        "externalOrderId": {
          "type": "string",
          "description": "The order's identification on your system. You can use this identification to place the reservation or release the tickets later."
        },
        "patronIdentification": {
          "type": "object",
          "properties": {
            "fullName": {
              "type": "string",
              "description": "Patron's full name."
            },
            "phone": {
              "type": "string",
              "description": "Patron's phone with DDD, but no country code."
            },
            "email": {
              "type": "string",
              "description": "Patron's e-mail."
            },
            "cpf": {
              "type": "string",
              "description": "Patron's CPF."
            }
          },
          "required": [
            "fullName",
            "phone",
            "email",
            "cpf"
          ],
          "description": "The minimum data needed to identify the order's patron.."
        },
        "tickets": {
          "type": "array",
          "description": "The description of the desired tickets."
        }
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  },
  "required": [
    "data"
  ]
}
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "ValidationException",
    "message": "Já existe um pedido associado ao ID externo '321'",
  }
}

Reserve tickets
POST/sales/reservation

The tickets will be temporarily reserved and a basket with an ID will be created to hold them. An order must be placed to confirm the reservation, otherwise ShoWare will automatically delete the basket and make the tickets available for reservation again.


List available payment methods

GET https://api-qa.showare.com.br/api/sales/payment-methods
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200400
Headers
Content-Type: application/json
Body
{
  "data": {
    "paymentMethods": [
      {
        "id": 1113,
        "name": "Amex 3x (Off-line)",
        "typeName": "American Express",
        "installments": 3
      }
    ]
  },
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "paymentMethods": {
          "type": "array",
          "description": "The list of available payment methods."
        }
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  },
  "required": [
    "data"
  ]
}
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "BadRequest",
    "message": "O externalOrderId ou o orderId deve ser informado.",
  }
}

List available payment methods
GET/sales/payment-methods

Returns the payment methods available for the specified order. One of orderId or externalOrderId must be provided to filter the payment methods.

The ID of one of the returned payment methods may later be specified when placing the order.

On ShoWare, the payment method has two functions:

  • The order will be marked as paid with the informed payment method, and many reports take that into consideration;

  • The system will try to process the payment according with the payment method specified when placing the order.

Some payment methods are classified as “on-line”. When those methods are specified, ShoWare will try to fulfill the payment using external payment gateways and credit card acquirer systems. Examples of such methods are “Visa 2X”, “Mastercard 3X” and “Pix”.

Other payment methods are classified as “off-line”. When those methods are specified, ShoWare will just alter the order’s status, without communication with external payment systems. Off-line methods are varied in their behavior: the “Cash” payment method just marks the order as paid, while the Deposit method marks the order as waiting for payment (so that, later, the payment by bank deposit can be manually confirmed).

Off-line payments that only mark the order as paid are classified as “off-line immediate” payment methods. Exaples of such methods are “Cash” and “Visa (off-line) 2X”.

To help integrations where the objetive is to just specify the payment method for informational purposes, this operation has the offlineImmediatePaymentMethodsOnly query parameter. If this flag is not set in the query, the API will behave as if the sale is happening on a system used by patrons, thus returning only payment methods that are fit for sales on the ticketing company’s e-commerce.

Note that, regardless of the specified parameters, the API will only return payment methods that are made available to the API key’s associated sales channel, as configured using ShoWare’s back-office system (Admin).

URI Parameters
HideShow
orderId
number (optional) Example: 1234

The order’s ID. Either this or the external (your system’s) identifier must be provided.

externalOrderId
string (optional) Example: 10A7F

The order’s external (your system’s) identifier. Either this or the ShoWare order ID must be provided.

offlineImmediatePaymentMethodsOnly
boolean (optional) Example: true

If true, only methods that just mark the order as paid will be returned. Otherwise, only payment methods fit for online sales will be returned, like online credit cards, Pix, boleto, deposit, etc.


Place an order

POST https://api-qa.showare.com.br/api/sales/place
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "orderId": 1,
  "externalOrderId": "10",
  "paymentMethodId": 1003
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "number",
      "description": "The order's ID. Either this or the external (your system's) identifier must be provided."
    },
    "externalOrderId": {
      "type": "string",
      "description": "The order's external (your system's) identifier. Either this or the ShoWare order ID must be provided."
    },
    "paymentMethodId": {
      "type": "number",
      "description": "ID of the payment method to be used for the order placement. Note that the specified payment method will determine how ShoWare will handle the payment, so, for exaple, on-line payment methods will make ShoWare communicate with payment gateways. Since the API is not yet ready to handle all payment methods, care must be taken when specified this ID. Please refer to the documentation of the `GET /sales/payment-methods` operation for more information."
    }
  }
}
Responses200400
Headers
Content-Type: application/json
Body
{
  "data": {
    "success": true,
    "message": "",
    "orderId": 1010
  },
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "`true` if the tickets were reserved."
        },
        "message": {
          "type": "string",
          "description": "The error message in case the tickets could not be reserved."
        },
        "orderId": {
          "type": "number",
          "description": "The basket/order ID created to hold the tickets."
        }
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  },
  "required": [
    "data"
  ]
}
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "BadRequest",
    "message": "A cesta está vazia.",
  }
}

Place an order
POST/sales/place

The reservation only keeps the tickets from being reserved by someone else. After the reservation, you need to place the order so that ShoWare knows the tickets were sold. All ShoWare orders need payment and delivery methods. For this operation, ShoWare will automatically choose the methods configured for the order’s context. If you receive a validation error message referencing the payment or delivery method, please contact the person responsible for configuring the event.


Clear the basket

DELETE https://api-qa.showare.com.br/api/sales/basket
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "orderId": 1,
  "externalOrderId": "10"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "number",
      "description": "The order's ID. Either this or the external (your system's) identifier must be provided."
    },
    "externalOrderId": {
      "type": "string",
      "description": "The order's external (your system's) identifier. Either this or the ShoWare order ID must be provided."
    }
  }
}
Responses204400
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "BadRequest",
    "message": "A cesta está vazia.",
  }
}

Clear the basket
DELETE/sales/basket

This operation will clear the basket and make the tickets available for reservation again.


Media

Media Content

Returns json data containing media content information.

GET https://api-qa.showare.com.br/api/media/content
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "code": "sumfest",
    "name": "Summer Festival",
    "status": "draft",
    "templateCode": "draft",
    "templateName": "draft",
    "fields": [
      {
        "code": "agerat",
        "name": "Age Rating",
        "type": "HTML",
        "value": "<p>My Event Name</p>",
        "data": {},
        "link": "http://mylink.com",
        "groupName": "Information",
        "groupCode": "PERFORMANCE.Info"
      }
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Get
GET/media/content

URI Parameters
HideShow
templateCode
string (optional) Example: HOME

Template identification code

groupCode
string (optional) Example: PERFORMANCE.Info

Group identification code

performanceId
number (optional) Example: 2675

Presentation id

status
string (optional) Example: 1

1 (draft), 2 (published) or 3 (archived)


GET https://api-qa.showare.com.br/api/media/content/sumfest
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "code": "sumfest",
  "name": "Summer Festival",
  "status": "draft",
  "templateCode": "draft",
  "templateName": "draft",
  "fields": [
    {
      "code": "agerat",
      "name": "Age Rating",
      "type": "HTML",
      "value": "<p>My Event Name</p>",
      "data": {},
      "link": "http://mylink.com",
      "groupName": "Information",
      "groupCode": "PERFORMANCE.Info"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Media content identification code."
    },
    "name": {
      "type": "string",
      "description": "Media content name."
    },
    "status": {
      "type": "string",
      "description": "Media content status (draft, published, archived)."
    },
    "templateCode": {
      "type": "string",
      "description": "Media content Code."
    },
    "templateName": {
      "type": "string",
      "description": "Media content template name description"
    },
    "fields": {
      "type": "array"
    }
  }
}

Get by contentCode
GET/media/content/{contentCode}

URI Parameters
HideShow
contentCode
string (required) Example: sumfest

Media content identification code

fetchChildrenLevel
number (optional) Example: 2

If the media content references other media contents, their data is also returned. This logic is repeated for the referenced media contents, up to the level specified (1 level will return the requested media content plus its children; 2 levels will return the requested media content, its children and their children, and so on).


Webhooks

Webhooks are used to provide your application with real-time information on media content updates. That means that every time a media content is created or updated, we will immediately send you a POST request with updated data.

To start receiving the notifications, you need to set up a public URL in your application to accept the POST requests and register a webhook with it.

The URL You will receive a POST request with the updated media content data in JSON format. The data is in the as in the Get by contentCode operation.

Referenced media contents

Media contents can reference one another, creating a tree-like structure. When a media content is created or updated, the registered URL will receive notifications for:

  • The created/updated media content;

  • All media contents that reference the first one;

  • All media contents that reference the followin ones, up to the root of the tree.

For example, say we have a media content that is reference by another one, forming the tree A -> B -> C -> D (-> meaning “references”). When the media content D is updated, the URL will receive notifications for D, C, B, and A. If media content C is updated, you will receive notifications for C, B, and A.

You can limit the notifications by providing the media content code of the last media content in the tree you want to be notified about. This can be achieved by setting the mediaContentCode property to the media content code when creating the webhook.

For example, if the webhook’s mediaContentCode is set to C and we have the tree A -> B -> C -> D, when D is modified, the URL will receive notifications for D and C (but not for B and A). This can be useful when creating separate sites that are generated by the media contents; each site can have its own webhook, and be notified only of changes in the relevant media contents.

Requests’ security

To ensure the POST request is legitimate, a header named x-showare-signature is sent with the request containing a signed hash of the content in base-64 format. To authenticate the request, you need to hash the posted request body with the HMACSHA1 algorithm, with your API key as the secret, and convert the result into a base-64 string. After that, compare the resulting hash to the x-showare-signature header and check if it matches.

Following are the operations to add, update and get webhook information.

GET https://api-qa.showare.com.br/api/media/webhooks
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "My Splash Page",
    "url": "http://myapi.com/showare-content",
    "isEnabled": true,
    "action": {
      "id": 1,
      "name": "Media content updated"
    }
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Get
GET/media/webhooks


GET https://api-qa.showare.com.br/api/media/webhooks/1
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "My Splash Page",
  "url": "http://myapi.com/showare-content",
  "isEnabled": true,
  "action": {
    "id": 1,
    "name": "Media content updated"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Webhook identification."
    },
    "name": {
      "type": "string",
      "description": "Webhook name."
    },
    "url": {
      "type": "string",
      "description": "Url listenning to posts."
    },
    "isEnabled": {
      "type": "boolean"
    },
    "action": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Webhook action identification."
        },
        "name": {
          "type": "string",
          "description": "Webhook action name."
        }
      }
    }
  }
}

Get by id
GET/media/webhooks/{id}

URI Parameters
HideShow
id
number (required) Example: 1

Webhook identification


POST https://api-qa.showare.com.br/api/media/webhooks/
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "name": "My Splash Page",
  "mediaContentCode": "HOME_PAGE",
  "apiAuthKey": "My_KEY",
  "url": "http://myapi.com/showare-content",
  "isEnabled": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "mediaContentCode": {
      "type": "string",
      "description": "The root media content for the hierarchical structure you want to be notified. If empty, all updates will be notified."
    },
    "apiAuthKey": {
      "type": "string",
      "description": "Your API Key. It will be used as the secret for the header 'x-showare-signature' hash."
    },
    "name": {
      "type": "string",
      "description": "Webhook name."
    },
    "url": {
      "type": "string",
      "description": "Url listenning to posts."
    },
    "isEnabled": {
      "type": "boolean"
    }
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "My Splash Page",
  "url": "http://myapi.com/showare-content",
  "isEnabled": true,
  "action": {
    "id": 1,
    "name": "Media content updated"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Webhook identification."
    },
    "name": {
      "type": "string",
      "description": "Webhook name."
    },
    "url": {
      "type": "string",
      "description": "Url listenning to posts."
    },
    "isEnabled": {
      "type": "boolean"
    },
    "action": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Webhook action identification."
        },
        "name": {
          "type": "string",
          "description": "Webhook action name."
        }
      }
    }
  }
}

Post
POST/media/webhooks/


PUT https://api-qa.showare.com.br/api/media/webhooks/1
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "name": "My Splash Page",
  "mediaContentCode": "HOME_PAGE",
  "apiAuthKey": "My_KEY",
  "url": "http://myapi.com/showare-content",
  "isEnabled": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "mediaContentCode": {
      "type": "string",
      "description": "The root media content for the hierarchical structure you want to be notified. If empty, all updates will be notified."
    },
    "apiAuthKey": {
      "type": "string",
      "description": "Your API Key. It will be used as the secret for the header 'x-showare-signature' hash."
    },
    "name": {
      "type": "string",
      "description": "Webhook name."
    },
    "url": {
      "type": "string",
      "description": "Url listenning to posts."
    },
    "isEnabled": {
      "type": "boolean"
    }
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "My Splash Page",
  "url": "http://myapi.com/showare-content",
  "isEnabled": true,
  "action": {
    "id": 1,
    "name": "Media content updated"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Webhook identification."
    },
    "name": {
      "type": "string",
      "description": "Webhook name."
    },
    "url": {
      "type": "string",
      "description": "Url listenning to posts."
    },
    "isEnabled": {
      "type": "boolean"
    },
    "action": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Webhook action identification."
        },
        "name": {
          "type": "string",
          "description": "Webhook action name."
        }
      }
    }
  }
}

Put
PUT/media/webhooks/{id}

URI Parameters
HideShow
id
number (required) Example: 1

Webhook identification


Patron auto-login

Generate an authentication URL

POST https://api-qa.showare.com.br/api/patrons/auto-login
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "patron": {
    "code": "M123",
    "email": "gandalf.thegray@middleearth.com",
    "password": "S3cUR3!p@5S",
    "firstName": "Gandalf",
    "lastName": "Gray",
    "cpf": "12345678910",
    "birthDate": "1975-05-23",
    "addressLine1": "Rua do Condado, 853",
    "addressLine2": "ap. 73, fundos",
    "district": "Vila Mordor",
    "city": "São Paulo",
    "state": "SP",
    "zipCode": "04534003",
    "phone": "11955554444",
    "gender": "M",
    "newsletterOptIn": true,
    "externalId": "A7200"
  },
  "skipPatronUpdate": false,
  "keepExistingTags": true,
  "tags": [
    "Hello, world!"
  ],
  "isDependent": false,
  "destinationUrlAfterLogin": "/Patron/PatronOrderHistory.aspx"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "patron": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "Optional code that can relate the patron with data in an external system, if patron's dependent module is enabled, this can use to identify multiple patrons that use the same code (one will be the main one, the others, all dependents). Usually, this field is called \"matrícula\" or \"título\"."
        },
        "email": {
          "type": "string"
        },
        "password": {
          "type": "string",
          "description": "Optional. If not specified and the patron is not found, the system will generate a random password, which the patron can change later."
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "cpf": {
          "type": "string",
          "description": "Must be a valid CPF"
        },
        "birthDate": {
          "type": "string",
          "description": "YYYY-MM-DD format"
        },
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "district": {
          "type": "string",
          "description": "Must be specified if `addressLine1` is specified"
        },
        "city": {
          "type": "string",
          "description": "Must be specified if `addressLine1` is specified"
        },
        "state": {
          "type": "string",
          "description": "Must be in UF format (e.g. SP, RJ, AM, GO). Must be specified if `addressLine1` is specified"
        },
        "zipCode": {
          "type": "string",
          "description": "Eight-digits CEP. Must be specified if `addressLine1` is specified"
        },
        "phone": {
          "type": "string",
          "description": "Must contain a 2 digits DDD and a 8 or 9 digits number"
        },
        "gender": {
          "type": "string",
          "description": "'M' for male, 'F' for female or N for 'prefer not to inform'"
        },
        "newsletterOptIn": {
          "type": "boolean"
        },
        "externalId": {
          "type": "string",
          "description": "If you have any patron unique identifier in your system, you can fill this field with it so you can use it for later searchs inside ShoWare platform. Just remember this should be unique between all your patrons."
        }
      },
      "required": [
        "email",
        "firstName"
      ],
      "description": "Patron information"
    },
    "skipPatronUpdate": {
      "type": "boolean",
      "description": "When true, the operation will not overwrite an existing patron's data with the request's data."
    },
    "keepExistingTags": {
      "type": "boolean",
      "description": "When false, this option removes existing tags for the patron."
    },
    "tags": {
      "type": "array",
      "description": "The list of tags to be added to the patron."
    },
    "isDependent": {
      "type": "boolean",
      "description": "When `true`, the `code` field refers to the main patron, indicating that this patron is dependent on that main patron. Please note that this field can only be used when the main/dependent patron functionality is enabled. Contact support for assistance in activating this feature in the ShoWare system."
    },
    "destinationUrlAfterLogin": {
      "type": "string",
      "description": "The URL the patron will be redirect to after a successful login. Must be a relative URL, which will be applied to the Front-End's root URL."
    }
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "redirectUrl": "https://mycompany.showare.com.br/Account/Login.aspx?t=154591d378f1452595caee0ce264dcaa"
}

Generate an authentication URL
POST/patrons/auto-login

This operation generate an URL which allows a patron to have access the sales system.

This URL contains a token that tells the sales system that the patron is already authenticated. The token lasts 30 seconds.


Administrative operations

Administrative operations are operations not bound to the sales context, that is, they are not bound to the context of a patron reserving tickets and placing orders.

Order

GET https://api-qa.showare.com.br/api/admin/orders/
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "id": 1276540,
      "statusId": 2,
      "status": "ProcessingPayment",
      "statusDetails": {
        "id": 4,
        "key": "Paid",
        "description": "Pago"
      },
      "statusDescription": "Pagamento em Análise",
      "orderDate": "2018-07-17T15:35:50.4630000-03:00",
      "Patron": {
        "id": 1,
        "fullName": "John Doe",
        "cpf": "01234567890",
        "email": "johndoe@email.com",
        "code": "57264902",
        "externalReferenceCode": "EXT-12345"
      },
      "expireAt": "2018-07-17T15:55:50.5100000-03:00",
      "total": 800,
      "interestValue": 100,
      "acquirerInstallmentFeeValue": 10.55,
      "promotion": {
        "name": "Fan club early access",
        "description": "Fan club early access",
        "promotionType": "MultiPromoCode",
        "maxTicketsPerOrder": 8,
        "promotionStart": "2018-07-17T15:55:50.5100000-03:00",
        "promotionEnd": "2018-07-27T15:55:50.5100000-03:00",
        "images": [
          {
            "name": "linkin_park_banner",
            "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
            "imageType": "ShoWare - Anúncio",
            "imageTypeCode": "SHOWARE_AD",
            "width": 293,
            "height": 400
          }
        ],
        "id": 97
      },
      "deliveryInfo": {
        "deliveryMethod": {
          "name": "Entrega em SP",
          "description": "Imprimir em casa",
          "deliveryMethodType": "**Deprecated.** Use `deliveryMethodTypeData.name` instead",
          "fee": 20,
          "deliveryMethodTypeData": {
            "name": "Receber em domicílio ou outro endereço",
            "needAddress": true,
            "needLogistic": true,
            "needPatron": true,
            "hasAddress": false,
            "isPrintAtHome": true,
            "isBoxOfficeSell": false,
            "isMobile": false,
            "allowRecipientIdentification": true,
            "documentTypes": [
              {
                "id": 2,
                "name": "Documento Nacional do Estudante",
                "abbreviation": "DNE"
              }
            ]
          }
        },
        "deliveryRecipient": {
          "documentType": {
            "id": 2,
            "name": "Documento Nacional do Estudante",
            "abbreviation": "DNE"
          },
          "documentNumber": "AJ987-23Z",
          "name": "Jhon Doe"
        }
      },
      "deliveryMethod": {
        "name": "Entrega em SP",
        "description": "Imprimir em casa",
        "deliveryMethodType": "**Deprecated.** Use `deliveryMethodTypeData.name` instead",
        "fee": 20,
        "deliveryMethodTypeData": {
          "name": "Receber em domicílio ou outro endereço",
          "needAddress": true,
          "needLogistic": true,
          "needPatron": true,
          "hasAddress": false,
          "isPrintAtHome": true,
          "isBoxOfficeSell": false,
          "isMobile": false,
          "allowRecipientIdentification": true,
          "documentTypes": [
            {
              "id": 2,
              "name": "Documento Nacional do Estudante",
              "abbreviation": "DNE"
            }
          ]
        }
      },
      "deliveryRecipient": {
        "documentType": {
          "id": 2,
          "name": "Documento Nacional do Estudante",
          "abbreviation": "DNE"
        },
        "documentNumber": "AJ987-23Z",
        "name": "Jhon Doe"
      },
      "billingAddress": {
        "addressType": "1",
        "addressTypeName": "Shipping",
        "patronId": 1,
        "email": "hetfield@gmail.com",
        "firstName": "James",
        "lastName": "Hetfield",
        "cpf": "12345678912",
        "addressLine1": "Avenida Nove de Julho, 123",
        "addressLine2": "Apto 71",
        "city": "Sao Paulo",
        "stateId": 1,
        "state": "SP",
        "zipCode": "12345",
        "phone": "(34) 534534534",
        "district": "Baixo Augusta",
        "enabled": true,
        "streetName": "Rua Nove de Julho",
        "number": "123"
      },
      "shippingAddress": {
        "addressType": "1",
        "addressTypeName": "Shipping",
        "patronId": 1,
        "email": "hetfield@gmail.com",
        "firstName": "James",
        "lastName": "Hetfield",
        "cpf": "12345678912",
        "addressLine1": "Avenida Nove de Julho, 123",
        "addressLine2": "Apto 71",
        "city": "Sao Paulo",
        "stateId": 1,
        "state": "SP",
        "zipCode": "12345",
        "phone": "(34) 534534534",
        "district": "Baixo Augusta",
        "enabled": true,
        "streetName": "Rua Nove de Julho",
        "number": "123"
      },
      "paymentInfo": {
        "paymentMethod": {
          "id": 1001,
          "name": "American Express 3x",
          "paymentMethodTypeName": "American Express",
          "installments": 3
        },
        "paidAmount": 122.5,
        "cancelledAmount": 22.5,
        "totalAmount": 100,
        "handlerName": "ShoWare - showarePay",
        "tid": "ABC123456",
        "acquirerTid": "ABC123456-789",
        "acquirerName": "Cielo",
        "nsu": "NSU00001",
        "authorizationCode": "A123",
        "creditCardNumber": "000000******1234",
        "creditCardHolderName": "Fulano de Tal",
        "externalUrl": "https://showarepay.com/boleto/123",
        "boletoBarcode": "00000 111112222233333 55554444",
        "expirationDate": "2020-12-31T23:59:59",
        "paymentDate": "2020-12-31T23:59:59",
        "transactions": [
          {
            "date": "2020-12-31T23:59:59",
            "totalAmount": 122.5,
            "ticketsAmount": 100,
            "productsAmount": 20,
            "ticketsFeeAmount": 1,
            "deliveryFeeAmount": 1,
            "interestAmount": 0.5,
            "acquirerInstallmentFeeAmount": 0.5,
            "ticketsCount": 2,
            "productsCount": 1
          }
        ]
      },
      "orderItems": [
        {
          "id": 5985691,
          "placeId": 2835640,
          "seatId": 2835640,
          "status": "Open",
          "statusDetails": {
            "id": 4,
            "key": "Paid",
            "description": "Pago"
          },
          "statusDescription": "Open",
          "price": 250,
          "priceWithDiscount": 125,
          "fee": 25,
          "itemTotal": 150,
          "seatDescription": "Row 2, Seat 5",
          "seatRowIdentifier": "B",
          "seatIdentifier": "05",
          "seatTypeName": "FILA",
          "barcode": "7834673409254",
          "barcodeReadDate": "2018-08-27T21:15:00.0000000",
          "priceCategoryId": 1000,
          "priceCategoryName": "Section A",
          "eventId": 232,
          "eventName": "Shakira World Tour",
          "performanceId": 1234,
          "performanceName": "Shakira [Sao Paulo]",
          "performanceDate": "2018-08-27T12:00:00.0000000",
          "performanceCity": "Sao Paulo",
          "sectionId": 567,
          "sectionName": "Blue bleachers",
          "sectionTypeId": 3,
          "sectionGateInfo": "Gate 2",
          "sectionTicketDescription": "Ticket info",
          "venueId": 1,
          "venueName": "Allianz Park",
          "venueAddress": "Av. Paulista, 1000 - Bela Vista, São Paulo - SP",
          "location": {
            "id": 2,
            "name": "Arena Vip",
            "street": "Av. Paulista",
            "number": "1000",
            "complement": "Apto 10",
            "district": "Bela Vista",
            "city": "São Paulo",
            "state": "SP",
            "zipCode": "01310-100"
          },
          "ticketName": "Full price",
          "discount": {
            "name": "Meia entrada",
            "discountedPrice": 150,
            "value": 0,
            "ticketHolderRequired": false,
            "id": 45
          },
          "ticketHolder": {
            "orderItemId": 10,
            "name": "Kurt Cobain",
            "documentNumber": "SP92659",
            "documentTypeName": "RG",
            "documentTypeId": 2
          },
          "cancellationDate": "2018-08-27T21:15:00.0000000",
          "feeCancellationDate": "2018-08-27T21:15:00.0000000",
          "documentTypes": [
            {
              "id": 2,
              "name": "Documento Nacional do Estudante",
              "abbreviation": "DNE"
            }
          ],
          "images": [
            {
              "name": "linkin_park_banner",
              "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
              "imageType": "ShoWare - Anúncio",
              "imageTypeCode": "SHOWARE_AD",
              "width": 293,
              "height": 400
            }
          ]
        }
      ],
      "logs": [
        {
          "text": "O pedido foi reativado com base nas informações do cookie do usuário. IP:172.22.44.12,Browser:Chrome56,Version:56.0,System:WinNT",
          "date": "2017-04-04 16:52:57.453",
          "login": "novo-usuario"
        }
      ],
      "orderProductItems": [
        {
          "price": 90,
          "name": "Vallet service",
          "description": "A brief description of the product/service provided",
          "id": 14
        }
      ],
      "salesChannel": {
        "id": 8,
        "name": "Internet"
      },
      "fee": 20,
      "orderValidationStatus": {
        "isValid": false,
        "errors": [
          {
            "propertyName": "ShippingAddress",
            "errorMessage": "O pedido precisa ter um endereço de entrega.",
            "errorCode": "NotNull"
          }
        ]
      },
      "eventId": 232,
      "promoterId": 1,
      "promoterName": "Som Livre Produções",
      "externalReferenceCode": "92751801",
      "printAtHomeUrl": "https://showare.com.br/Basket/QuickPrintAtHome.aspx?k=MHzR%2fo6qnzk%3d&u=Un7i7zDp7XN%3d",
      "login": "adm-user"
    }
  ],
  "totalResults": 0,
  "skip": 0,
  "take": 0
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "results": {
      "type": "array"
    },
    "totalResults": {
      "type": "number",
      "description": "Total number of orders that match the search parameters"
    },
    "skip": {
      "type": "number",
      "description": "The `skip` parameter sent on the request"
    },
    "take": {
      "type": "number",
      "description": "The `take` parameter sent on the request"
    }
  }
}

Search orders by multiple filters
GET/admin/orders/

The results are always paginated, with a maximum page size of 50.

URI Parameters
HideShow
orderId
int (optional) Example: 1234
status
int (optional) Example: 1

See the OrderStatus table on the enums section.

externalOrderId
string (optional) Example: A1234
eventId
int (optional) Example: 3456
performanceId
int (optional) Example: 23
salesChannelId
int (optional) Example: 15
patronCPF
string (optional) Example: 01234567890
patronEmail
string (optional) Example: teste@fulano.com.br
patronCode
string (optional) Example: 8ujeri

The patron’s custom code (e.g. the club’s enrollment number)

paymentDateFrom
string (optional) Example: 2018-01-01T13:45:57

The starting date for the order’s payment or ticket cancellation. Uses COALESCE(cancellationDate, paymentDate, orderCreationDate) logic.

paymentDateTo
string (optional) Example: 2018-02-01T18:47:32

The ending date for the order’s payment or ticket cancellation. Uses COALESCE(cancellationDate, paymentDate, orderCreationDate) logic.

performanceDateFrom
string (optional) Example: 2018-01-01T13:45:57

Filters orders by the performance start date (from). If the order has tickets for multiple performances, the order will be returned if any of the performances is within the specified range.

performanceDateTo
string (optional) Example: 2018-02-01T18:47:32

Filters orders by the performance start date (to). If the order has tickets for multiple performances, the order will be returned if any of the performances is within the specified range.

ticketCancellationDateFrom
string (optional) Example: 2018-01-01T13:45:57

Filters orders by the ticket cancellation date (from). If the order has tickets canceled in different dates, the order will be returned if any of the tickets was canceled within the specified range.

ticketCancellationDateTo
string (optional) Example: 2018-02-01T18:47:32

Filters orders by the ticket cancellation date (to). If the order has tickets canceled in different dates, the order will be returned if any of the tickets was canceled within the specified range.

orderPaymentDateFrom
string (optional) Example: 2018-01-01T13:45:57

Filters orders by the payment date (from).

orderPaymentDateTo
string (optional) Example: 2018-02-01T18:47:32

Filters orders by the payment date (to).

orderCreationDateFrom
string (optional) Example: 2018-01-01T13:45:57

Filters orders by the order creation date (from). This is the date when the order’s first tickets were reserved.

orderCreationDateTo
string (optional) Example: 2018-02-01T18:47:32

Filters orders by the order creation date (to). This is the date when the order’s first tickets were reserved.

deliveryFeeCancellationDateFrom
string (optional) Example: 2018-01-01T13:45:57

Filters orders by the delivery fee cancellation date (from).

deliveryFeeCancellationDateTo
string (optional) Example: 2018-02-01T18:47:32

Filters orders by the delivery fee cancellation date (to).

includeItems
boolean (optional) Example: false

Include the orders’ items in the result. (default false)

includePaymentInfo
boolean (optional) Example: false

Includes the orders’ payment info in the result. (default false)

includeLog
boolean (optional) Example: false

Includes the orders’ log entries in the result. (default false)

skip
int (optional) Example: 0

Number of orders to be skiped. Used to paginate the results.

take
int (optional) Example: 10

Number of orders to be retrieved. (The maximum value is 50, the default is 10)


GET https://api-qa.showare.com.br/api/admin/order
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1276540,
  "statusId": 2,
  "status": "ProcessingPayment",
  "statusDetails": {
    "id": 4,
    "key": "Paid",
    "description": "Pago"
  },
  "statusDescription": "Pagamento em Análise",
  "orderDate": "2018-07-17T15:35:50.4630000-03:00",
  "Patron": {
    "id": 1,
    "fullName": "John Doe",
    "cpf": "01234567890",
    "email": "johndoe@email.com",
    "code": "57264902",
    "externalReferenceCode": "EXT-12345"
  },
  "expireAt": "2018-07-17T15:55:50.5100000-03:00",
  "total": 800,
  "interestValue": 100,
  "acquirerInstallmentFeeValue": 10.55,
  "promotion": {
    "name": "Fan club early access",
    "description": "Fan club early access",
    "promotionType": "MultiPromoCode",
    "maxTicketsPerOrder": 8,
    "promotionStart": "2018-07-17T15:55:50.5100000-03:00",
    "promotionEnd": "2018-07-27T15:55:50.5100000-03:00",
    "images": [
      {
        "name": "linkin_park_banner",
        "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
        "imageType": "ShoWare - Anúncio",
        "imageTypeCode": "SHOWARE_AD",
        "width": 293,
        "height": 400
      }
    ],
    "id": 97
  },
  "deliveryInfo": {
    "deliveryMethod": {
      "name": "Entrega em SP",
      "description": "Imprimir em casa",
      "deliveryMethodType": "**Deprecated.** Use `deliveryMethodTypeData.name` instead",
      "fee": 20,
      "deliveryMethodTypeData": {
        "name": "Receber em domicílio ou outro endereço",
        "needAddress": true,
        "needLogistic": true,
        "needPatron": true,
        "hasAddress": false,
        "isPrintAtHome": true,
        "isBoxOfficeSell": false,
        "isMobile": false,
        "allowRecipientIdentification": true,
        "documentTypes": [
          {
            "id": 2,
            "name": "Documento Nacional do Estudante",
            "abbreviation": "DNE"
          }
        ]
      }
    },
    "deliveryRecipient": {
      "documentType": {
        "id": 2,
        "name": "Documento Nacional do Estudante",
        "abbreviation": "DNE"
      },
      "documentNumber": "AJ987-23Z",
      "name": "Jhon Doe"
    }
  },
  "deliveryMethod": {
    "name": "Entrega em SP",
    "description": "Imprimir em casa",
    "deliveryMethodType": "**Deprecated.** Use `deliveryMethodTypeData.name` instead",
    "fee": 20,
    "deliveryMethodTypeData": {
      "name": "Receber em domicílio ou outro endereço",
      "needAddress": true,
      "needLogistic": true,
      "needPatron": true,
      "hasAddress": false,
      "isPrintAtHome": true,
      "isBoxOfficeSell": false,
      "isMobile": false,
      "allowRecipientIdentification": true,
      "documentTypes": [
        {
          "id": 2,
          "name": "Documento Nacional do Estudante",
          "abbreviation": "DNE"
        }
      ]
    }
  },
  "deliveryRecipient": {
    "documentType": {
      "id": 2,
      "name": "Documento Nacional do Estudante",
      "abbreviation": "DNE"
    },
    "documentNumber": "AJ987-23Z",
    "name": "Jhon Doe"
  },
  "billingAddress": {
    "addressType": "1",
    "addressTypeName": "Shipping",
    "patronId": 1,
    "email": "hetfield@gmail.com",
    "firstName": "James",
    "lastName": "Hetfield",
    "cpf": "12345678912",
    "addressLine1": "Avenida Nove de Julho, 123",
    "addressLine2": "Apto 71",
    "city": "Sao Paulo",
    "stateId": 1,
    "state": "SP",
    "zipCode": "12345",
    "phone": "(34) 534534534",
    "district": "Baixo Augusta",
    "enabled": true,
    "streetName": "Rua Nove de Julho",
    "number": "123"
  },
  "shippingAddress": {
    "addressType": "1",
    "addressTypeName": "Shipping",
    "patronId": 1,
    "email": "hetfield@gmail.com",
    "firstName": "James",
    "lastName": "Hetfield",
    "cpf": "12345678912",
    "addressLine1": "Avenida Nove de Julho, 123",
    "addressLine2": "Apto 71",
    "city": "Sao Paulo",
    "stateId": 1,
    "state": "SP",
    "zipCode": "12345",
    "phone": "(34) 534534534",
    "district": "Baixo Augusta",
    "enabled": true,
    "streetName": "Rua Nove de Julho",
    "number": "123"
  },
  "paymentInfo": {
    "paymentMethod": {
      "id": 1001,
      "name": "American Express 3x",
      "paymentMethodTypeName": "American Express",
      "installments": 3
    },
    "paidAmount": 122.5,
    "cancelledAmount": 22.5,
    "totalAmount": 100,
    "handlerName": "ShoWare - showarePay",
    "tid": "ABC123456",
    "acquirerTid": "ABC123456-789",
    "acquirerName": "Cielo",
    "nsu": "NSU00001",
    "authorizationCode": "A123",
    "creditCardNumber": "000000******1234",
    "creditCardHolderName": "Fulano de Tal",
    "externalUrl": "https://showarepay.com/boleto/123",
    "boletoBarcode": "00000 111112222233333 55554444",
    "expirationDate": "2020-12-31T23:59:59",
    "paymentDate": "2020-12-31T23:59:59",
    "transactions": [
      {
        "date": "2020-12-31T23:59:59",
        "totalAmount": 122.5,
        "ticketsAmount": 100,
        "productsAmount": 20,
        "ticketsFeeAmount": 1,
        "deliveryFeeAmount": 1,
        "interestAmount": 0.5,
        "acquirerInstallmentFeeAmount": 0.5,
        "ticketsCount": 2,
        "productsCount": 1
      }
    ]
  },
  "orderItems": [
    {
      "id": 5985691,
      "placeId": 2835640,
      "seatId": 2835640,
      "status": "Open",
      "statusDetails": {
        "id": 4,
        "key": "Paid",
        "description": "Pago"
      },
      "statusDescription": "Open",
      "price": 250,
      "priceWithDiscount": 125,
      "fee": 25,
      "itemTotal": 150,
      "seatDescription": "Row 2, Seat 5",
      "seatRowIdentifier": "B",
      "seatIdentifier": "05",
      "seatTypeName": "FILA",
      "barcode": "7834673409254",
      "barcodeReadDate": "2018-08-27T21:15:00.0000000",
      "priceCategoryId": 1000,
      "priceCategoryName": "Section A",
      "eventId": 232,
      "eventName": "Shakira World Tour",
      "performanceId": 1234,
      "performanceName": "Shakira [Sao Paulo]",
      "performanceDate": "2018-08-27T12:00:00.0000000",
      "performanceCity": "Sao Paulo",
      "sectionId": 567,
      "sectionName": "Blue bleachers",
      "sectionTypeId": 3,
      "sectionGateInfo": "Gate 2",
      "sectionTicketDescription": "Ticket info",
      "venueId": 1,
      "venueName": "Allianz Park",
      "venueAddress": "Av. Paulista, 1000 - Bela Vista, São Paulo - SP",
      "location": {
        "id": 2,
        "name": "Arena Vip",
        "street": "Av. Paulista",
        "number": "1000",
        "complement": "Apto 10",
        "district": "Bela Vista",
        "city": "São Paulo",
        "state": "SP",
        "zipCode": "01310-100"
      },
      "ticketName": "Full price",
      "discount": {
        "name": "Meia entrada",
        "discountedPrice": 150,
        "value": 0,
        "ticketHolderRequired": false,
        "id": 45
      },
      "ticketHolder": {
        "orderItemId": 10,
        "name": "Kurt Cobain",
        "documentNumber": "SP92659",
        "documentTypeName": "RG",
        "documentTypeId": 2
      },
      "cancellationDate": "2018-08-27T21:15:00.0000000",
      "feeCancellationDate": "2018-08-27T21:15:00.0000000",
      "documentTypes": [
        {
          "id": 2,
          "name": "Documento Nacional do Estudante",
          "abbreviation": "DNE"
        }
      ],
      "images": [
        {
          "name": "linkin_park_banner",
          "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
          "imageType": "ShoWare - Anúncio",
          "imageTypeCode": "SHOWARE_AD",
          "width": 293,
          "height": 400
        }
      ]
    }
  ],
  "logs": [
    {
      "text": "O pedido foi reativado com base nas informações do cookie do usuário. IP:172.22.44.12,Browser:Chrome56,Version:56.0,System:WinNT",
      "date": "2017-04-04 16:52:57.453",
      "login": "novo-usuario"
    }
  ],
  "orderProductItems": [
    {
      "price": 90,
      "name": "Vallet service",
      "description": "A brief description of the product/service provided",
      "id": 14
    }
  ],
  "salesChannel": {
    "id": 8,
    "name": "Internet"
  },
  "fee": 20,
  "orderValidationStatus": {
    "isValid": false,
    "errors": [
      {
        "propertyName": "ShippingAddress",
        "errorMessage": "O pedido precisa ter um endereço de entrega.",
        "errorCode": "NotNull"
      }
    ]
  },
  "eventId": 232,
  "promoterId": 1,
  "promoterName": "Som Livre Produções",
  "externalReferenceCode": "92751801",
  "printAtHomeUrl": "https://showare.com.br/Basket/QuickPrintAtHome.aspx?k=MHzR%2fo6qnzk%3d&u=Un7i7zDp7XN%3d",
  "login": "adm-user"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "statusId": {
      "type": "number",
      "description": "**Deprecated.** Use `statusDetails.id` instead."
    },
    "status": {
      "type": "string",
      "description": "Refer to OrderStatus enum"
    },
    "statusDetails": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "The status identifier as an integer. Refer to the OrderStatus enum."
        },
        "key": {
          "type": "string",
          "description": "The status identifier as a string. Refer to the OrderStatus enum."
        },
        "description": {
          "type": "string",
          "description": "The status' friendly description."
        }
      },
      "description": "Object with the order's status details. Prefer this over `statusDescription`."
    },
    "statusDescription": {
      "type": "string",
      "description": "**Deprecated.** Use `statusDetails.description` instead."
    },
    "orderDate": {
      "type": "string",
      "description": "`GMT -3:00`"
    },
    "Patron": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "fullName": {
          "type": "string"
        },
        "cpf": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "externalReferenceCode": {
          "type": "string",
          "description": "External ID from the integrating system, if configured."
        }
      }
    },
    "expireAt": {
      "type": "string",
      "description": "`Order expiration time, GMT-3:00`"
    },
    "total": {
      "type": "number",
      "description": "Order total amount, with fees and interest"
    },
    "interestValue": {
      "type": "number",
      "description": "Interest amount."
    },
    "acquirerInstallmentFeeValue": {
      "type": "number",
      "description": "Acquirer installment fee value paid on POS when buyer pays fee."
    },
    "promotion": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "promotionType": {
          "type": "string",
          "description": "Refer to PromotionType enum"
        },
        "maxTicketsPerOrder": {
          "type": "number",
          "description": "Maximum tickets allowed per order for this promotion"
        },
        "promotionStart": {
          "type": "string",
          "description": "`Time when promotion becomes enabled, GMT-3:00`"
        },
        "promotionEnd": {
          "type": "string",
          "description": "`Time when promotion becomes disabled, GMT-3:00` (string, optional)"
        },
        "images": {
          "type": "array"
        },
        "id": {
          "type": "number"
        }
      }
    },
    "deliveryInfo": {
      "type": "object",
      "properties": {
        "deliveryMethod": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string",
              "description": "A brief description of the method"
            },
            "deliveryMethodType": {
              "type": "string"
            },
            "fee": {
              "type": "number",
              "description": "Delivery method fee"
            },
            "deliveryMethodTypeData": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "needAddress": {
                  "type": "boolean",
                  "description": "This method requires address"
                },
                "needLogistic": {
                  "type": "boolean",
                  "description": "Some methods are dependent on zipcode for fee calculation. If it's the case, this property is true"
                },
                "needPatron": {
                  "type": "boolean",
                  "description": "This method requires patron identification"
                },
                "hasAddress": {
                  "type": "boolean",
                  "description": "Some methods have an address associated to them. E.g. 'Will call' tickets"
                },
                "isPrintAtHome": {
                  "type": "boolean",
                  "description": "This method allows home printing"
                },
                "isBoxOfficeSell": {
                  "type": "boolean",
                  "description": "`This method can be selected in box office (admin) orders`"
                },
                "isMobile": {
                  "type": "boolean",
                  "description": "This method allows displaying the ticket on mobile devices"
                },
                "allowRecipientIdentification": {
                  "type": "boolean",
                  "description": "Indicates that this method accepts the identification of a person that can withdraw or receive the purchased items for the patron"
                },
                "documentTypes": {
                  "type": "array",
                  "description": "The list of acceptable document types for the identification of the recipient. Only present when `allowRecipientIdentification` is `true`"
                }
              }
            },
            "id": {
              "type": "number"
            }
          },
          "description": "The order's delivery method."
        },
        "deliveryRecipient": {
          "type": "object",
          "properties": {
            "documentType": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "abbreviation": {
                  "type": "string"
                }
              }
            },
            "documentNumber": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "The identification of someone who can withdraw or receive the purchased items for the patron."
        }
      },
      "description": "Object with the order's delivery information. Prefer this over `deliveryMethod` and `deliveryRecipient`."
    },
    "deliveryMethod": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "A brief description of the method"
        },
        "deliveryMethodType": {
          "type": "string"
        },
        "fee": {
          "type": "number",
          "description": "Delivery method fee"
        },
        "deliveryMethodTypeData": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "needAddress": {
              "type": "boolean",
              "description": "This method requires address"
            },
            "needLogistic": {
              "type": "boolean",
              "description": "Some methods are dependent on zipcode for fee calculation. If it's the case, this property is true"
            },
            "needPatron": {
              "type": "boolean",
              "description": "This method requires patron identification"
            },
            "hasAddress": {
              "type": "boolean",
              "description": "Some methods have an address associated to them. E.g. 'Will call' tickets"
            },
            "isPrintAtHome": {
              "type": "boolean",
              "description": "This method allows home printing"
            },
            "isBoxOfficeSell": {
              "type": "boolean",
              "description": "`This method can be selected in box office (admin) orders`"
            },
            "isMobile": {
              "type": "boolean",
              "description": "This method allows displaying the ticket on mobile devices"
            },
            "allowRecipientIdentification": {
              "type": "boolean",
              "description": "Indicates that this method accepts the identification of a person that can withdraw or receive the purchased items for the patron"
            },
            "documentTypes": {
              "type": "array",
              "description": "The list of acceptable document types for the identification of the recipient. Only present when `allowRecipientIdentification` is `true`"
            }
          }
        },
        "id": {
          "type": "number"
        }
      },
      "description": "**Deprecated.** Use `deliveryInfo.deliveryMethod` instead."
    },
    "deliveryRecipient": {
      "type": "object",
      "properties": {
        "documentType": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number"
            },
            "name": {
              "type": "string"
            },
            "abbreviation": {
              "type": "string"
            }
          }
        },
        "documentNumber": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "description": "**Deprecated.** Use `deliveryInfo.deliveryRecipient` instead."
    },
    "billingAddress": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "addressType": {
          "type": "string",
          "description": "AddressType enum"
        },
        "addressTypeName": {
          "type": "string"
        },
        "patronId": {
          "type": "number"
        },
        "email": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "cpf": {
          "type": "string",
          "description": "Numbers only, 11 character long"
        },
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "stateId": {
          "type": "number"
        },
        "state": {
          "type": "string"
        },
        "zipCode": {
          "type": "string",
          "description": "000 (string, optional) - Format: 99999-999"
        },
        "phone": {
          "type": "string",
          "description": "`Format: (99) 999999999`"
        },
        "district": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "extraData": {
          "type": "string"
        },
        "streetName": {
          "type": "string",
          "description": "Splitted street name and number"
        },
        "number": {
          "type": "string",
          "description": "Splitted street name and number"
        }
      }
    },
    "shippingAddress": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "addressType": {
          "type": "string",
          "description": "AddressType enum"
        },
        "addressTypeName": {
          "type": "string"
        },
        "patronId": {
          "type": "number"
        },
        "email": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "cpf": {
          "type": "string",
          "description": "Numbers only, 11 character long"
        },
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "stateId": {
          "type": "number"
        },
        "state": {
          "type": "string"
        },
        "zipCode": {
          "type": "string",
          "description": "000 (string, optional) - Format: 99999-999"
        },
        "phone": {
          "type": "string",
          "description": "`Format: (99) 999999999`"
        },
        "district": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "extraData": {
          "type": "string"
        },
        "streetName": {
          "type": "string",
          "description": "Splitted street name and number"
        },
        "number": {
          "type": "string",
          "description": "Splitted street name and number"
        }
      }
    },
    "paymentInfo": {
      "type": "object",
      "properties": {
        "paymentMethod": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number"
            },
            "name": {
              "type": "string"
            },
            "paymentMethodTypeName": {
              "type": "string"
            },
            "installments": {
              "type": "number"
            }
          }
        },
        "paidAmount": {
          "type": "number"
        },
        "cancelledAmount": {
          "type": "number"
        },
        "totalAmount": {
          "type": "number"
        },
        "handlerName": {
          "type": "string"
        },
        "tid": {
          "type": "string"
        },
        "acquirerTid": {
          "type": "string"
        },
        "acquirerName": {
          "type": "string"
        },
        "nsu": {
          "type": "string"
        },
        "authorizationCode": {
          "type": "string"
        },
        "creditCardNumber": {
          "type": "string"
        },
        "creditCardHolderName": {
          "type": "string"
        },
        "externalUrl": {
          "type": "string",
          "description": "Used for boleto payments"
        },
        "boletoBarcode": {
          "type": "string"
        },
        "expirationDate": {
          "type": "string"
        },
        "paymentDate": {
          "type": "string"
        },
        "transactions": {
          "type": "array"
        }
      }
    },
    "orderItems": {
      "type": "array"
    },
    "logs": {
      "type": "array"
    },
    "orderProductItems": {
      "type": "array"
    },
    "salesChannel": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "fee": {
      "type": "number",
      "description": "Order fee, not to be mistaken with order item fee"
    },
    "orderValidationStatus": {
      "type": "object",
      "properties": {
        "isValid": {
          "type": "boolean"
        },
        "errors": {
          "type": "array",
          "description": "Pending validations"
        }
      }
    },
    "eventId": {
      "type": "number"
    },
    "promoterId": {
      "type": "number",
      "description": "The event's promoter ID."
    },
    "promoterName": {
      "type": "string",
      "description": "The event's promoter name."
    },
    "externalReferenceCode": {
      "type": "string",
      "description": "Orders can be provided a external code"
    },
    "printAtHomeUrl": {
      "type": "string"
    },
    "login": {
      "type": "string",
      "description": "Administrative sales channel user"
    }
  }
}

Get an order by it's external code
GET/admin/order

Gets an order by the reference code that can be assigned by the consumer app in the one-step order operation using the property externalOrderId.

This operation’s route has changed over time. The previous route should not be used, as it will be removed in the future. The previous route was:

  • GET /order/external/{externalReferenceCode}
URI Parameters
HideShow
externalOrderId
string (required) Example: A1234

Reference code for finding the order later (usually the ID generated by the consumer software)


POST https://api-qa.showare.com.br/api/order/external-reference
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "externalOrderId": "A1234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "externalOrderId": {
      "type": "string",
      "description": "The external order id that will be attributed to the order."
    }
  }
}
Responses204
Headers
Content-Type: application/json

Set an order's external ID
POST/order/external-reference

An external identifier can be attributed to an order, so that the order can later be retrieved using the attributed ID. The ID can be the consuming system’s order ID, so that the two registers can be corelated. ShoWare will not accept two orders using the same external ID.


POST https://api-qa.showare.com.br/api/admin/order/cancel
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "orderId": 1,
  "externalOrderId": "10",
  "cancelDeliveryFee": false,
  "skipPaymentCancellation": false,
  "isFullCancellation": false,
  "itemsToCancel": [
    {
      "itemId": 123,
      "cancelValue": false,
      "cancelFee": false
    }
  ],
  "cancellationReasonId": 1,
  "comment": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "number",
      "description": "The order's ID. Either this or the external (your system's) identifier must be provided."
    },
    "externalOrderId": {
      "type": "string",
      "description": "The order's external (your system's) identifier. Either this or the ShoWare order ID must be provided."
    },
    "cancelDeliveryFee": {
      "type": "boolean",
      "description": "When true, the delivery fee will be canceled."
    },
    "skipPaymentCancellation": {
      "type": "boolean",
      "description": "When true, the payment will not be refunded."
    },
    "isFullCancellation": {
      "type": "boolean",
      "description": "When true, the order will be completely canceled. In this case, the `ItemsToCancel` must not be set."
    },
    "itemsToCancel": {
      "type": "array",
      "description": "When `isFullCancellation` is false, you need to set this property."
    },
    "cancellationReasonId": {
      "type": "number",
      "description": "See the documentation for the `GET POST /admin/order/cancellation-reasons` operation."
    },
    "comment": {
      "type": "string",
      "description": "The comment about cancellation."
    }
  }
}
Responses204400
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "BadRequest",
    "message": "Pedido não encontrado.",
  }
}

Cancel an order
POST/admin/order/cancel

The order can be canceled either in full or partially, consequently allowing a granular cancellation of each ticket’s value and/or fee, the order’s delivery fee, etc.; or any combination.


GET https://api-qa.showare.com.br/api/admin/order/cancellation-reasons
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "'Solicitação do Cliente'"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Get cancellation reasons for the order
GET/admin/order/cancellation-reasons

This operation retrieves all cancellation reasons for the order.


GET https://api-qa.showare.com.br/api/admin/order/123456/printAtHome
Requestsexample 1
Headers
X-AuthKey: demo-internet-fixed
Responses200
Headers
Content-Type: application/pdf

Generate a print-at-home PDF
GET/admin/order/{orderId}/printAtHome

Gets print-at-home tickets in the PDF format.

This operation’s route has changed over time. The previous route should not be used, as it will be removed in the future. The previous route was:

  • GET /order/{orderId}/printathome
URI Parameters
HideShow
orderId
number (required) Example: 123456

Order Id


Patron

GET https://api-qa.showare.com.br/api/admin/patrons
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "firstName": "Robert",
      "lastName": "Patrick",
      "cpf": "29553965083",
      "email": "rb_ext@example.com",
      "birthDate": "1983-05-03T00:00:00.0000000",
      "newsletterOptIn": true,
      "partnersNewsletterOptIn": false,
      "gender": "M",
      "code": "T-1000",
      "externalId": "A7200",
      "isDependent": false,
      "insertDate": "2018-01-12T13:26:54.0015876",
      "updateDate": "2018-07-03T04:50:00.0089732"
    }
  ],
  "totalResults": 1,
  "skip": 0,
  "take": 10
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "description": "List of Patrons"
    },
    "totalResults": {
      "type": "number",
      "description": "Total number of patrons that matched the search criterias."
    },
    "skip": {
      "type": "number",
      "description": "The skip parameter used on the request"
    },
    "take": {
      "type": "number",
      "description": "The take parameter used on the request"
    }
  }
}

Search Patrons
GET/admin/patrons

Search patrons by multiple filters. Result can be paginated. This operation will return at most 50 patrons in one call.

URI Parameters
HideShow
email
string (optional) Example: fulano@example.com

Patron’s email

cpf
string (optional) Example: 426.727.160-72

Patron’s CPF

code
string (optional) Example: C34234

Patron’s Code

registrationDateFrom
string (optional) Example: 2019-01-01T00:00:00

Start Patron’s registration date

registrationDateTo
string (optional) Example: 2019-05-01T00:00:00

End Patron’s registration date

updatedSince
string (optional) Example: 2019-01-01T00:00:00

Patron’s last update date

skip
int (optional) Example: 0

Number of patrons to be skiped. Used to paginate the results using parameter take.

take
int (optional) Example: 10

Number of patrons to be retrieved. (max value 50)


POST https://api-qa.showare.com.br/api/admin/patron
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "firstName": "Robert",
  "lastName": "Patrick",
  "cpf": "29553965083",
  "email": "rb_ext@example.com",
  "password": "TEST - DO NOT USE",
  "birthDate": "1983-05-03",
  "gender": "M",
  "code": "T-1000",
  "address": {
    "addressLine1": "Rua das Araucárias, 231",
    "addressLine2": "apto. 87",
    "city": "São Paulo",
    "state": "SP",
    "zipCode": "04658000",
    "phone": "1155556666",
    "district": "Vila das Araucárias"
  },
  "isEnabled": true,
  "keepExistingTags": true,
  "tags": [
    "Hello, world!"
  ],
  "isDependent": false,
  "externalId": "A7200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    },
    "cpf": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "birthDate": {
      "type": "string"
    },
    "gender": {
      "type": "string",
      "description": "M - Male, F - Female, N - Not informed"
    },
    "code": {
      "type": "string",
      "description": "Optional code that can relate the patron with data in an external system, if patron's dependent module is enabled, this can use to identify multiple patrons that use the same code (one will be the main one, the others, all dependents). Usually, this field is called \"matrícula\" or \"título\"."
    },
    "address": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "Must be informed in UF form (ex. SP, RJ, TO etc)"
        },
        "zipCode": {
          "type": "string",
          "description": "Must be an 8 digits code"
        },
        "phone": {
          "type": "string",
          "description": "Must be a 2-digit DDD code plus an 8 or 9-digit number"
        },
        "district": {
          "type": "string"
        }
      }
    },
    "isEnabled": {
      "type": "boolean"
    },
    "keepExistingTags": {
      "type": "boolean",
      "description": "When false, this option removes existing tags for the patron."
    },
    "tags": {
      "type": "array",
      "description": "The list of tags to be added to the patron."
    },
    "isDependent": {
      "type": "boolean",
      "description": "When `true`, the `code` field refers to the main patron, indicating that this patron is dependent on that main patron. Please note that this field can only be used when the main/dependent patron functionality is enabled. Contact support for assistance to activate this feature in the ShoWare system."
    },
    "externalId": {
      "type": "string",
      "description": "If you have any patron unique identifier in your system, you can fill this field with it so you can use it for later searchs inside ShoWare platform. Just remember this should be unique between all your patrons."
    }
  }
}
Responses204400409
This response has no content.
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "NotEmpty",
    "message": "O sobrenome deve ser informado.",
    "errors": [
      {
        "errorCode": "NotEmpty",
        "fieldName": "LastName",
        "message": "O sobrenome deve ser informado."
      }
    ]
  }
}
Headers
Content-Type: application/json
Body
{
  "errorCode": "patron.email_already_exists",
  "message": "Email já existente."
}

Create or update a patron
POST/admin/patron

Creates a patron if it does not exists, and updates if it already exists.

ShoWare will try to find an existing patron using the request data. Existing patrons will be searched for in the following order:

  1. By the externalId field;
  2. By the cpf field;
  3. By the email field.

If a patron is found, ShoWare will update its data with the request data. If no patron is found, ShoWare assumes a new patron is being created.

The cpf, email and externalId values must be unique among all patrons. Trying to create or update a patron with one of these fields matching another patron’s will make ShoWare return an error response.

The patron’s code must also be unique among all patrons, but the system handles conflicts automatically instead of returning an error response. How the system handles the code depends on wether the main/dependent patrons feature is enabled and wether the request’s patron is a dependent or not.

If the main/dependent feature is not enabled, ShoWare will look for another patron with the same code as the request’s. If a patron is found, this second patron will have its code updated to a system-generated value and will be disabled. The request’s patron becomes the new “owner” of the provided code.

If the main/dependent feature is enabled, there are two possibilities:

  • If the request’s patron is a main patron (isDependent: false), then the same procedure as above occurs, and the same procedure is applied to all of its dependents, if any exist;

  • If the request’s patron is a dependent (isDependent: true), then it is set as a dependent of the main patron with the same code.


Events and performances

GET https://api-qa.showare.com.br/api/admin/events
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200400
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 232,
      "name": "Shakira World Tour",
      "promoterId": 1,
      "promoterName": "'Som livre produções'"
    }
  ],
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
O valor do campo 'Take' não pode ser maior do que 50.

List events
GET/admin/events

List all events.

For an event to be listed, it must have been made available using the back-office system (Admin).

Unlike the “lite” operations, no validation of availability is applied besides the event association with the API key’s sales channel.

URI Parameters
HideShow
startDate
string (optional) Example: 2025-08-03T00:00:00

The starting date of a timeframe where the events’ performances are happening.

endDate
string (optional) Example: 2025-08-05T23:59:59

The ending date of a timeframe where the events’ performances are happening.

promoterId
int (optional) Example: 10

Filters performances by their event’s promoter;

skip
int (optional) Example: 0

Number of events to be skiped. Used to paginate the results. (The default is 0)

take
int (optional) Example: 20

Number of events to be retrieved. (The maximum value is 50, the default is 50)


GET https://api-qa.showare.com.br/api/admin/events/1234
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "description": "Best hits album",
  "deliveryMethodOptIn": true,
  "adImageLink `https://showare-cdn.s3.amazonaws.com/demo-qa/images/site/logo-menu.png`": "Hello, world!",
  "id": 232,
  "name": "Shakira World Tour",
  "subtitle": "Best hits album",
  "promoterId": 1,
  "promoterName": "'Som livre produções'",
  "images": [
    {
      "name": "linkin_park_banner",
      "url": "https://dev.showare.com.br/images/linkinparkbanner.jpg",
      "imageType": "ShoWare - Anúncio",
      "imageTypeCode": "SHOWARE_AD",
      "width": 293,
      "height": 400
    }
  ],
  "categories": [
    {
      "id": 82,
      "name": "Skate",
      "parentId": 12,
      "parent": "Sports"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "description": {
      "type": "string"
    },
    "deliveryMethodOptIn": {
      "type": "boolean"
    },
    "adImageLink `https://showare-cdn.s3.amazonaws.com/demo-qa/images/site/logo-menu.png`": {
      "type": "string"
    },
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "subtitle": {
      "type": "string"
    },
    "promoterId": {
      "type": "number"
    },
    "promoterName": {
      "type": "string"
    },
    "images": {
      "type": "array"
    },
    "categories": {
      "type": "array",
      "description": "Event categories/tags"
    }
  }
}

Get an event by ID
GET/admin/events/{id}

Get detailed information about an event.

For an event to be retrieved, it must have been made available using the back-office system (Admin).

Unlike the “lite” operations, no validation of availability is applied besides the event association with the API key’s sales channel.

(Note: To maintain backwards compatibility, the response’s JSON format of this operation is different from the other events- and performances-related operations in this section.)

URI Parameters
HideShow
id
number (required) Example: 1234

The event’s ID


GET https://api-qa.showare.com.br/api/admin/events/1234/performances
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200400
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1234,
      "name": "John Mayer [São Paulo]",
      "startDate": "2018-08-27T12:00:00.0000000",
      "endDate": "2018-08-27T00:00:00.0000000",
      "status": "OnSale",
      "statusName": "À venda",
      "venue": {
        "id": 1,
        "name": "Arena Anhembi",
        "address": "Av. Olavo Fontoura, 1209 - Santana",
        "phone": "(11) 2226-0500",
        "city": "São Paulo",
        "uf": "SP",
        "locationId": 2,
        "locationName": "'Parque de exposições'"
      },
      "isPassport": true,
      "PassportParent": {
        "id": 1234,
        "name": "John Mayer [São Paulo]"
      },
      "PassportChildren": [
        {
          "id": 1234,
          "name": "John Mayer [São Paulo]",
          "startDate": "2018-08-27T12:00:00.0000000",
          "endDate": "2018-08-27T23:59:00.0000000"
        }
      ]
    }
  ],
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
O valor do campo 'Take' não pode ser maior do que 50.

List performances
GET/admin/events/{eventId}/performances

List all performances of an event.

For a performance to be listed, it or its event must have been made available using the back-office system (Admin).

Unlike the “lite” operations, no validation of availability is applied besides the event or performance association with the API key’s sales channel.

URI Parameters
HideShow
eventId
number (required) Example: 1234

ID of the event that contains the performances to be listed.

startDate
string (optional) Example: 2025-08-03T00:00:00

The starting date of a timeframe where the performances are happening.

endDate
string (optional) Example: 2025-08-05T23:59:59

The ending date of a timeframe where the performances are happening.

skip
int (optional) Example: 0

Number of performances to be skiped. Used to paginate the results. (The default is 0)

take
int (optional) Example: 20

Number of performances to be retrieved. (The maximum value is 50, the default is 50)


GET https://api-qa.showare.com.br/api/admin/events/1234/performances/2345
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "data": {
    "eventId": 123,
    "eventName": "John Mayer",
    "seatMapImageUrl": "https://bucket.s3.amazonaws.com/demo/images/SeatMap/seatmap01.jpg",
    "areaMap": "<area shape=\"rect\" coords=\"1.335,3.3375,264.9975,198.58124999999998\" data-section=\"S01\">",
    "showAllSectionsExpanded": true,
    "showSectionDirectly": false,
    "documentTypes": [
      {
        "id": 2,
        "name": "Documento Nacional do Estudante",
        "abbreviation": "DNE"
      }
    ],
    "id": 1234,
    "name": "John Mayer [São Paulo]",
    "startDate": "2018-08-27T12:00:00.0000000",
    "endDate": "2018-08-27T23:00:00.0000000",
    "status": "OnSale",
    "statusName": "À venda",
    "venue": {
      "id": 1,
      "name": "Arena Anhembi",
      "address": "Av. Olavo Fontoura, 1209 - Santana",
      "phone": "(11) 2226-0500",
      "city": "São Paulo",
      "uf": "SP",
      "locationId": 2,
      "locationName": "'Parque de exposições'"
    },
    "isPassport": true,
    "passportParent": {
      "id": 1234,
      "name": "John Mayer [São Paulo]"
    },
    "passportChildren": [
      {
        "id": 1234,
        "name": "John Mayer [São Paulo]",
        "startDate": "2018-08-27T12:00:00.0000000",
        "endDate": "2018-08-27T23:59:00.0000000"
      }
    ]
  },
  "pagination": {
    "totalCount": 100,
    "skip": 0,
    "take": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "eventId": {
          "type": "number"
        },
        "eventName": {
          "type": "string"
        },
        "seatMapImageUrl": {
          "type": "string"
        },
        "areaMap": {
          "type": "string",
          "description": "Used for image mapping purposes"
        },
        "showAllSectionsExpanded": {
          "type": "boolean",
          "description": "Informs when to show all sections expanded when on best pick mode"
        },
        "showSectionDirectly": {
          "type": "boolean",
          "description": "Informs when to show section directly"
        },
        "documentTypes": {
          "type": "array"
        },
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "startDate": {
          "type": "string",
          "description": "Local date time"
        },
        "endDate": {
          "type": "string",
          "description": "Local date time"
        },
        "status": {
          "type": "string",
          "description": "Refer to PerformanceStatus enum"
        },
        "statusName": {
          "type": "string",
          "description": "Status' friendly name"
        },
        "venue": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number"
            },
            "name": {
              "type": "string"
            },
            "address": {
              "type": "string"
            },
            "phone": {
              "type": "string"
            },
            "city": {
              "type": "string"
            },
            "uf": {
              "type": "string"
            },
            "locationId": {
              "type": "number"
            },
            "locationName": {
              "type": "string"
            }
          }
        },
        "isPassport": {
          "type": "boolean",
          "description": "When 'true', indicates that the performance is a component of a passport context"
        },
        "passportParent": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "When the performance is a passport child, this property is filled with basic data about its parent"
        },
        "passportChildren": {
          "type": "array",
          "description": "When the performance is a passport parent, this property is filled with its children's basic data"
        }
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total number of records that matched the search criteria."
        },
        "skip": {
          "type": "number",
          "description": "Number of records that were skipped. The value of this property is the same as the \"skip\" parameter used in the request."
        },
        "take": {
          "type": "number",
          "description": "Number of records expected to be retrieved. The value of this property is the same as the \"take\" parameter used in the request."
        }
      }
    }
  }
}

Get a performance by ID
GET/admin/events/{eventId}/performances/{performanceId}

Gets detailed information about a performance.

For a performance to be retrieved, it or its event must have been made available using the back-office system (Admin).

Unlike the “lite” operations, no validation of availability is applied besides the event or performance association with the API key’s sales channel.

URI Parameters
HideShow
eventId
number (required) Example: 1234

The performance’s event’s ID

performanceId
number (required) Example: 2345

The performance’s ID


GET https://api-qa.showare.com.br/api/admin/events/1234/performances/2345/sections
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 123,
      "name": "Setor A",
      "type": "GeneralAdmission",
      "priceCategories": [
        {
          "id": 123,
          "name": "Pista Premium",
          "metrics": {
            "capacity": 1,
            "blockedPlacesCount": 1,
            "killsCount": 1,
            "invisiblesCount": 1
          }
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "Refer to the SectionType enum"
          },
          "priceCategories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "metrics": {
                  "type": "object",
                  "properties": {
                    "capacity": {
                      "type": "number",
                      "description": "The total number of places with this price category."
                    },
                    "blockedPlacesCount": {
                      "type": "number",
                      "description": "The number of places that have been put on a contingent with the `Blocked` visibility."
                    },
                    "killsCount": {
                      "type": "number",
                      "description": "The number of places that have been put on a kills contingent with the `Blocked` visibility."
                    },
                    "invisiblesCount": {
                      "type": "number",
                      "description": "The number of places that have been put on a contingent with the `Invisible` visibility."
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Get a performance's sections by ID
GET/admin/events/{eventId}/performances/{performanceId}/sections

Gets a performance’s sections and each section’s price categories, each with their metrics.

For the sections to be retrieved, their performance or its event must have been made available using the back-office system (Admin).

Unlike the “lite” operations, no validation of availability is applied besides the event or performance association with the API key’s sales channel.

URI Parameters
HideShow
eventId
number (required) Example: 1234

The performance’s event’s ID

performanceId
number (required) Example: 2345

The performance’s ID


GET https://api-qa.showare.com.br/api/admin/performances/performanceId/sales-with-discount
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "SalesWithDiscount": {
    "performanceId": 10,
    "performanceName": "Shakira [Sao Paulo]",
    "eventId": 232,
    "eventName": "Shakira World Tour",
    "startDate": "2018-08-27T12:00:00.0000000",
    "endDate": "2018-08-29T12:00:00.0000000",
    "openTime": "2018-08-27T12:00:00.0000000",
    "status": "OnSale",
    "statusName": "On Sale",
    "venueName": "Allianz Park",
    "sections": [
      {
        "sectionId": 567,
        "sectionName": "Blue bleachers",
        "sectionAvailableTicketsQuantity": 3000,
        "discountDiscountType": [
          {
            "discountTypeId": 23,
            "discountTypeName": "Student price",
            "soldTicketsQuantity": 73
          }
        ]
      }
    ]
  },
  "responseStatus": {
    "errorCode": "Hello, world!",
    "message": "Hello, world!",
    "stackTrace": "Hello, world!",
    "errors": [
      {
        "errorCode": "Hello, world!",
        "fieldName": "Hello, world!",
        "message": "Hello, world!"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "SalesWithDiscount": {
      "type": "object",
      "properties": {
        "performanceId": {
          "type": "number"
        },
        "performanceName": {
          "type": "string"
        },
        "eventId": {
          "type": "number"
        },
        "eventName": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "openTime": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "Refer to PerformanceStatus enum"
        },
        "statusName": {
          "type": "string"
        },
        "venueName": {
          "type": "string"
        },
        "sections": {
          "type": "array"
        }
      }
    },
    "responseStatus": {
      "type": "object",
      "properties": {
        "errorCode": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "stackTrace": {
          "type": "string"
        },
        "errors": {
          "type": "array"
        }
      }
    }
  }
}

Sales with discount
GET/admin/performances/{performanceId}/sales-with-discount

Returns performance basic data with information containing sold tickets quantity grouped by discount type in their respective section.

URI Parameters
HideShow
performanceId
number (required) 

Sales reports

An overview of the tickets sold, broken down by date, event and performance*. Each operation further breaks down the sales by additional information.

All sales reports return D-1 data.

*With the exception of delivery fees, which apply to the whole order and, therefore, cannot be broken down by performance.

GET https://api-qa.showare.com.br/api/admin/reports/sales/overview
Responses200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-05-31T00:00:00.000",
        "eventId": 123,
        "eventName": "System Of A Down [São Paulo]",
        "performanceId": 456,
        "performanceName": "System Of A Down [São Paulo]",
        "performanceStartDate": "2021-06-15T22:30:00.000",
        "orderCount": 148,
        "ticketCount": 250,
        "freeTicketCount": 250,
        "ticketPriceRevenue": 5278.97,
        "ticketFeeRevenue": 527.89
      }
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

Overview
GET/admin/reports/sales/overview

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date.


GET https://api-qa.showare.com.br/api/admin/reports/sales/ticket-prices
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-07-06T00:00:00.0000000",
        "eventId": 455,
        "eventName": "Jorge & Mateus",
        "performanceId": 2578,
        "performanceName": "Jorge & Mateus",
        "performanceStartDate": "2020-08-18T21:00:00.0000000",
        "salesChannelTypeId": 1,
        "salesChannelTypeName": "Internet (Web)",
        "salesChannelId": 8,
        "salesChannelName": "Internet",
        "salesChannelUserId": 13,
        "salesChannelUserName": "internet",
        "discountTypeId": 0,
        "discountTypeName": "",
        "ticketPriceId": 8483,
        "ticketPriceName": "Inteira",
        "ticketPriceRevenue": 100,
        "ticketFeeRevenue": 10,
        "priceCategoryGroupId": 1,
        "priceCategoryGroupName": "Grupo 1",
        "priceCategoryId": 2072,
        "priceCategoryName": "Geral",
        "orderCount": 0,
        "ticketCount": 0,
        "freeTicketCount": 0,
        "ticketPriceTotalRevenue": 0,
        "ticketFeeTotalRevenue": 0
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-11T00:00:00.0000000",
        "orderCount": 3,
        "ticketCount": 3,
        "freeTicketCount": 0,
        "ticketPriceTotalRevenue": 300,
        "ticketFeeTotalRevenue": 30
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By ticket price
GET/admin/reports/sales/ticket-prices

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
salesChannelId
int (optional) 
salesChannelTypeId
int (optional) 
priceCategoryId
int (optional) 
priceCategoryGroupId
int (optional) 
ticketPriceId
int (optional) 
discountTypeId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date.


GET https://api-qa.showare.com.br/api/admin/reports/sales/sales-channels
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "eventId": 456,
        "eventName": "System Of A Down [São Paulo]",
        "performanceId": 8438,
        "performanceName": "System Of A Down [São Paulo] - Camarotes",
        "performanceStartDate": "2020-09-17T14:00:00.0000000",
        "salesChannelTypeId": 1,
        "salesChannelTypeName": "Internet (Web)",
        "salesChannelId": 8,
        "salesChannelName": "Internet",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "salesChannelTypeId": 1,
        "salesChannelTypeName": "Internet (Web)",
        "salesChannelId": 8,
        "salesChannelName": "Internet",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By sales channel
GET/admin/reports/sales/sales-channels

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
salesChannelId
int (optional) 
salesChannelTypeId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date and sales channel.


GET https://api-qa.showare.com.br/api/admin/reports/sales/promotions
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "eventId": 456,
        "eventName": "System Of A Down [São Paulo]",
        "performanceId": 8438,
        "performanceName": "System Of A Down [São Paulo] - Camarotes",
        "performanceStartDate": "2020-09-17T14:00:00.0000000",
        "promotionId": 123,
        "promotionInternalName": "Promo fã-clube acesso restrito",
        "salesChannelId": 8,
        "salesChannelName": "Internet",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "promotionId": 123,
        "promotionInternalName": "Promo fã-clube acesso restrito",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By promotion
GET/admin/reports/sales/promotions

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
promotionId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date and promotion.


GET https://api-qa.showare.com.br/api/admin/reports/sales/payment-methods
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "eventId": 456,
        "eventName": "System Of A Down [São Paulo]",
        "performanceId": 8438,
        "performanceName": "System Of A Down [São Paulo] - Camarotes",
        "performanceStartDate": "2020-09-17T14:00:00.0000000",
        "salesChannelTypeId": 1,
        "salesChannelTypeName": "Internet (Web)",
        "salesChannelId": 8,
        "salesChannelName": "Internet",
        "paymentMethodGroupId": 2,
        "paymentMethodGroupName": "Cartão de Crédito On-line",
        "paymentMethodTypeId": 5,
        "paymentMethodTypeName": "Mastercard",
        "paymentMethodId": 1003,
        "paymentMethodName": "MASTERCARD",
        "paymentMethodInstallments": 1,
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "promotionId": 123,
        "promotionInternalName": "Promo fã-clube acesso restrito",
        "paymentMethodGroupId": 2,
        "paymentMethodGroupName": "Cartão de Crédito On-line",
        "paymentMethodTypeId": 5,
        "paymentMethodTypeName": "Mastercard",
        "paymentMethodId": 1003,
        "paymentMethodName": "MASTERCARD",
        "paymentMethodInstallments": 1,
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By payment methods
GET/admin/reports/sales/payment-methods

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
paymentMethodId
int (optional) 
paymentMethodTypeId
int (optional) 
paymentMethodGroupId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date and payment method.


GET https://api-qa.showare.com.br/api/admin/reports/sales/convenience-fees
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2021-02-25T00:00:00.0000000",
        "eventId": 1521,
        "eventName": "System of A Down [São Paulo]",
        "performanceId": 6359,
        "performanceName": "System Of A Down",
        "performanceStartDate": "2020-08-01T01:00:00.0000000",
        "salesChannelTypeId": 1,
        "salesChannelTypeName": "Internet (Web)",
        "salesChannelId": 8,
        "salesChannelName": "Internet",
        "paymentMethodGroupId": 2,
        "paymentMethodGroupName": "Cartão de Crédito On-line",
        "paymentMethodTypeId": 6,
        "paymentMethodTypeName": "Visa",
        "paymentMethodId": 1001,
        "paymentMethodName": "VISA",
        "paymentMethodInstallments": 1,
        "orderCount": -2,
        "ticketCount": -4,
        "freeTicketCount": 0,
        "ticketPriceRevenue": -400,
        "ticketFeeRevenue": -40,
        "paymentFeeRevenue": 0,
        "performanceStatus": "À venda"
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2021-01-18T00:00:00.0000000",
        "eventId": 521,
        "eventName": "System Of A Down [São Paulo]",
        "orderCount": 1,
        "ticketCount": 1,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 100,
        "ticketFeeRevenue": 10,
        "paymentFeeRevenue": 0
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By event, with payment methods and convenience fees
GET/admin/reports/sales/convenience-fees

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY-MM-DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY-MM-DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
paymentMethodId
int (optional) 
paymentMethodTypeId
int (optional) 
paymentMethodGroupId
int (optional) 
performanceStartDateFrom
string (optional) Example: 2019-06-20T22:30:00

BRT timezone.

performanceStartDateTo
string (optional) Example: 2019-06-30T15:00:00

BRT timezone.

performanceStatuses
string (optional) Example: 1,2,5

A comma-separated list of the desired performances’ statuses. See the PerformanceStatus enum for a list of available values.

groupResults
bool (optional) 

If set to true, the results are grouped by date and event.


GET https://api-qa.showare.com.br/api/admin/reports/sales/delivery-methods
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "eventId": 456,
        "eventName": "System Of A Down [São Paulo]",
        "performanceId": 8438,
        "performanceName": "System Of A Down [São Paulo] - Camarotes",
        "performanceStartDate": "2020-09-17T14:00:00.0000000",
        "deliveryMethodTypeId": 5,
        "deliveryMethodTypeName": "Visualizar no meu celular",
        "deliveryMethodId": 9,
        "deliveryMethodName": "Receber no celular",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "deliveryMethodTypeId": 5,
        "deliveryMethodTypeName": "Visualizar no meu celular",
        "deliveryMethodId": 9,
        "deliveryMethodName": "Receber no celular",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By delivery methods
GET/admin/reports/sales/delivery-methods

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
deliveryMethodId
int (optional) 
deliveryMethodTypeId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date and delivery method.


GET https://api-qa.showare.com.br/api/admin/reports/sales/delivery-fees
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-07-01T00:00:00.0000000",
        "eventId": 455,
        "eventName": "Jorge & Mateus",
        "deliveryMethodTypeId": 5,
        "deliveryMethodTypeName": "Visualizar no meu celular",
        "deliveryMethodId": 9,
        "deliveryMethodName": "Receber no celular",
        "orderCount": 6,
        "orderDeliveryFeeRevenue": 0
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-07-01T00:00:00.0000000",
        "deliveryMethodTypeId": 5,
        "deliveryMethodTypeName": "Visualizar no meu celular",
        "deliveryMethodId": 9,
        "deliveryMethodName": "Receber no celular",
        "orderCount": 6,
        "orderDeliveryFeeRevenue": 15.67
      }
    ]
  },
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By delivery methods, with delivery fees
GET/admin/reports/sales/delivery-fees

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
deliveryMethodId
int (optional) 
deliveryMethodTypeId
int (optional) 
groupResults
bool (optional) 

If set to true, the results are grouped by date and delivery method.


GET https://api-qa.showare.com.br/api/admin/reports/sales/patrons
Responses200200403403
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "eventId": 456,
        "eventName": "System Of A Down [São Paulo]",
        "performanceId": 8438,
        "performanceName": "System Of A Down [São Paulo] - Camarotes",
        "performanceStartDate": "2020-09-17T14:00:00.0000000",
        "usesFacebook": true,
        "ageGrade": "Between 30 and 35",
        "countryStateCode": "SP",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
[
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "usesFacebook": true,
        "ageGrade": "Between 30 and 35",
        "countryStateCode": "SP",
        "orderCount": 2,
        "ticketCount": 2,
        "freeTicketCount": 0,
        "ticketPriceRevenue": 200,
        "ticketFeeRevenue": 20
      }
    ]
  },
  {
    "results": [
      {
        "date": "2020-08-18T00:00:00.0000000",
        "usesFacebook": false,
        "ageGrade": "Between 45 and 55",
        "countryStateCode": "RJ",
        "orderCount": 2,
        "ticketCount": 6,
        "freeTicketCount": 3,
        "ticketPriceRevenue": 458.97,
        "ticketFeeRevenue": 27.98
      }
    ]
  }
]
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedEvent",
    "message": "Esta chave não dá acesso ao evento especificado."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "error": {
    "code": "UnauthorizedPerformance",
    "message": "Esta chave não dá acesso à apresentação especificada."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

By patron profile
GET/admin/reports/sales/patrons

URI Parameters
HideShow
startDate
string (optional) Example: 2019-06-20

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of endDate minus 90 days.

endDate
string (optional) Example: 2019-06-25

YYYY/MM/DD format, BRT timezone. The date range cannot exceed a limit of 90 days. If not specified, assumes the value of startDate plus 90 days. If startDate is not specified either, assumes the value of the current date (BRT timezone).

eventId
int (optional) 
performanceId
int (optional) 
usesFacebook
bool (optional) Example: true
ageGrade
string (optional) Example: Between 30 and 35
countryStateCode
string (optional) Example: SP
groupResults
bool (optional) 

If set to true, the results are grouped by date and payment method.


POST https://api-qa.showare.com.br/api/admin/reports/sales/event-summary
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "eventId": 1234,
  "performancesIds": [
    1,
    101,
    102
  ],
  "paymentDateFrom": "2024-01-01",
  "paymentDateTo": "2024-12-31"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "eventId": {
      "type": "number",
      "description": "ID of the event to generate the sales report."
    },
    "performancesIds": {
      "type": "array",
      "description": "Optional list of performance IDs to filter the report."
    },
    "paymentDateFrom": {
      "type": "string",
      "description": "The starting date for the order's payment or ticket cancellation."
    },
    "paymentDateTo": {
      "type": "string",
      "description": "The ending date for the order's payment or ticket cancellation. If specified, the range between `paymentDateFrom` and `paymentDateTo` must not exceed 1 year."
    }
  },
  "required": [
    "eventId",
    "paymentDateFrom"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{
  "summary": {
    "totalTicketsPaid": 15000,
    "totalTicketsFeePaid": 0,
    "totalTicketsCanceled": 250,
    "totalTicketsFeeCanceled": 0,
    "ordersCount": 500,
    "ticketsPaidCount": 480,
    "ticketsCanceledCount": 20,
    "freeTicketsIssuedCount": 10,
    "freeTicketsCanceledCount": 2
  },
  "performances": [
    {
      "performanceId": 101,
      "performanceName": "Opening Night",
      "totalTicketsPaid": 4000,
      "totalTicketsFeePaid": 0,
      "totalTicketsCanceled": 80,
      "totalTicketsFeeCanceled": 0,
      "ordersCount": 125,
      "ticketsPaidCount": 120,
      "ticketsCanceledCount": 5,
      "freeTicketsIssuedCount": 2,
      "freeTicketsCanceledCount": 0
    },
    {
      "performanceId": 102,
      "performanceName": "Evening Jazz",
      "totalTicketsPaid": 3500,
      "totalTicketsFeePaid": 0,
      "totalTicketsCanceled": 60,
      "totalTicketsFeeCanceled": 0,
      "ordersCount": 120,
      "ticketsPaidCount": 115,
      "ticketsCanceledCount": 5,
      "freeTicketsIssuedCount": 3,
      "freeTicketsCanceledCount": 1
    },
    {
      "performanceId": 103,
      "performanceName": "Classic Play",
      "totalTicketsPaid": 4500,
      "totalTicketsFeePaid": 0,
      "totalTicketsCanceled": 70,
      "totalTicketsFeeCanceled": 0,
      "ordersCount": 130,
      "ticketsPaidCount": 125,
      "ticketsCanceledCount": 5,
      "freeTicketsIssuedCount": 2,
      "freeTicketsCanceledCount": 0
    },
    {
      "performanceId": 104,
      "performanceName": "Finale Show",
      "totalTicketsPaid": 3000,
      "totalTicketsFeePaid": 0,
      "totalTicketsCanceled": 40,
      "totalTicketsFeeCanceled": 0,
      "ordersCount": 125,
      "ticketsPaidCount": 120,
      "ticketsCanceledCount": 5,
      "freeTicketsIssuedCount": 3,
      "freeTicketsCanceledCount": 1
    }
  ]
}

Event sales summary
POST/admin/reports/sales/event-summary

Provides both an overview and per-performance details of sales for a given event within the specified date range.


Access control

These actions are related to access control operations, such as validating access at the venue gates or providing a full list of used and spare barcodes for further use.

Validation

POST https://api-qa.showare.com.br/api/access-control/validation
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "eventId": 10,
  "readerName": "John Doe",
  "barcode": "231658151794",
  "showTicketInfo": true,
  "readDate": "2019-01-01 22:45:12"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "eventId": {
      "type": "number",
      "description": "Event Id"
    },
    "readerName": {
      "type": "string",
      "description": "Validator's name"
    },
    "barcode": {
      "type": "string",
      "description": "Barcode to be validated"
    },
    "showTicketInfo": {
      "type": "boolean",
      "description": "Retrieves additional ticket info. If not provided, the default value is false"
    },
    "readDate": {
      "type": "string",
      "description": "Used when readings are made before the request. If not provided, the current date will be stored. YYYY-MM-DD HH:mm:ss format."
    }
  },
  "required": [
    "eventId",
    "barcode"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{
  "found": true,
  "access": {
    "readCount": 1,
    "eventName": "Shakira World Tour 2018",
    "performanceName": "Shakira (Sao Paulo)",
    "priceCategoryName": "Sector A (blue)",
    "ticketPriceName": "Full price",
    "ticketStatus": "Paid",
    "patronName": "Robert Plant",
    "patronDocument": "1754861579",
    "holderName": "Robert Plant",
    "holderDocument": "SP037518",
    "seatType": "Hello, world!",
    "seatInfo": "Row A Seat 7"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "access": {
      "type": "object",
      "properties": {
        "readCount": {
          "type": "number"
        },
        "eventName": {
          "type": "string"
        },
        "performanceName": {
          "type": "string"
        },
        "priceCategoryName": {
          "type": "string"
        },
        "ticketPriceName": {
          "type": "string"
        },
        "ticketStatus": {
          "type": "string",
          "enum": [
            "Paid"
          ],
          "description": "Refer to OrderItemStatus enum for a complete list of TicketStatus"
        },
        "patronName": {
          "type": "string"
        },
        "patronDocument": {
          "type": "string"
        },
        "holderName": {
          "type": "string"
        },
        "holderDocument": {
          "type": "string"
        },
        "seatType": {
          "type": "string"
        },
        "seatInfo": {
          "type": "string"
        }
      }
    }
  }
}

Validate access
POST/access-control/validation

It’s possible to validate and control access to a performance. This is useful for antifraud purposes, checking documents at the venue gates and so on. When the response parameter Found is false, the method doesn’t return an Access object.

This operation’s route has changed over time. The previous route should not be used, as it will be removed in the future. The previous route was:

  • POST /admin/access

Batch Validation

POST https://api-qa.showare.com.br/api/access-control/validation/batch
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Body
{
  "eventId": 10,
  "barcodes": [
    {
      "barcode": "231658151794",
      "readerName": "John Doe",
      "readDate": "2019-01-01 22:45:12"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "eventId": {
      "type": "number",
      "description": "Event Id"
    },
    "barcodes": {
      "type": "array"
    }
  },
  "required": [
    "eventId"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{
  "barcodes": [
    {
      "barcode": "Hello, world!",
      "found": true,
      "ticketStatus": "Paid"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "barcodes": {
      "type": "array"
    }
  }
}

Register read barcodes in batches
POST/access-control/validation/batch

Registers the reading of multiple barcodes at once. This is a more performatic and more convenient way to register read barcodes if your system does not need to validate the access to the event in real time using ShoWare.

The response contains all barcodes sent plus a flag found that indicates if the barcode is valid for the specified event.

Currently, a maximum of 300 barcodes can be sent at once.


Barcodes

GET https://api-qa.showare.com.br/api/access-control/barcodes
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200200400
Headers
Content-Type: application/json
Body
[
  {
    "performanceId": 236,
    "priceCategoryName": "Pista",
    "barcode": "66657266534412",
    "ticketType": "DISPONÍVEL"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}
Headers
Content-Type: application/json
Body
{
  "barcodes": [
    {
      "performanceId": 236,
      "priceCategoryName": "Pista",
      "barcode": "66657266534412",
      "ticketType": "DISPONÍVEL"
    }
  ],
  "totalCount": 100,
  "totalAvailable": 100,
  "totalExtra": 100,
  "totalPaid": 100,
  "totalCanceled": 100
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "barcodes": {
      "type": "array"
    },
    "totalCount": {
      "type": "number",
      "description": "Total number of barcodes that matched the search criterias. This property is only visible when request is paginated (`Skip` and `Take` property has filled)."
    },
    "totalAvailable": {
      "type": "number",
      "description": "Total number of available barcodes that matched the search criterias. This property is only visible when request is paginated (`Skip` and `Take` property has filled)."
    },
    "totalExtra": {
      "type": "number",
      "description": "Total number of extra barcodes that matched the search criterias. This property is only visible when request is paginated (`Skip` and `Take` property has filled)."
    },
    "totalPaid": {
      "type": "number",
      "description": "Total number of paid barcodes that matched the search criterias. This property is only visible when request is paginated (`Skip` and `Take` property has filled)."
    },
    "totalCanceled": {
      "type": "number",
      "description": "Total number of canceled barcodes that matched the search criterias. This property is only visible when request is paginated (`Skip` and `Take` property has filled)."
    }
  }
}
Headers
Content-Type: application/json
Body
{
  "responseStatus": {
    "errorCode": "Predicate",
    "message": "É preciso definir pelo menos um status de código de barras (includeAvailable, includePaid ou includeCanceled)",
    "errors": [
      {
        "errorCode": "Predicate",
        "fieldName": "IncludeAvailable",
        "message": "É preciso definir pelo menos um status de código de barras (includeAvailable, includePaid ou includeCanceled)"
      }
    ]
  }
}

List barcodes of a performance
GET/access-control/barcodes

This action provides a list of barcodes for a given performance.

Note that at least one of the include... parameters must be true, since providing false for all the three options will make the operation ignore all barcodes.

This operation provides the same results that the Barcodes Report offers on the backoffice application.

If the Accept header is set to text/csv, this operation will return the results in the CSV file format (using ; as the separator).

Results may be paginated using the skip and take parameters. For compatibility reasons, specifying pagination parameters changes the layout of the returned JSON: when no pagination is used, an array[BarcodesEntry] will be returned; when pagination is used, a BarcodesResponse will be returned.

Barcodes for performances that happened over 90 days ago cannot be retrived.

URI Parameters
HideShow
performanceId
number (required) Example: 10

The performance’s ID.

priceCategoryIds
array[number] (optional) Example: 123,456,789

A comma-separated list of the desired price categories’ IDs.

includeAvailable
boolean (optional) Example: false

Include available and extra barcodes.

includePaid
boolean (optional) Example: true

Include barcodes associated to paid tickets.

includeCanceled
boolean (optional) Example: true

Include barcodes associated to canceled tickets.

skip
int (optional) Example: 0

Number of orders to be skiped. Used to paginate the results. If this parameter is specified, then take must also be specified.

take
int (optional) Example: 10

Number of orders to be retrieved. The maximum value is 500. If this parameter is specified, then skip must also be specified.


GET https://api-qa.showare.com.br/api/access-control/barcodes-detailed
Requestsexample 1
Headers
Content-Type: application/json
X-AuthKey: demo-internet-fixed
Accept: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "eventOrderBarcodes": [
    {
      "barcode": "66657266534412",
      "status": "Paid",
      "performanceId": 10078,
      "performanceName": "Shakira [Sao Paulo]",
      "performanceStartDate": "2024-12-02T18:00:00",
      "performanceStartEnd": "2024-12-02T23:30:00",
      "priceCategoryId": 97,
      "priceCategoryName": "Section A",
      "order": {
        "orderId": 97,
        "performanceName": "Shakira [Sao Paulo]",
        "sectionId": 97,
        "sectionName": "Blue bleachers",
        "priceCategoryId": 97,
        "priceCategoryName": "Section A",
        "discountTypeName": "MEIA ENTRADA",
        "billing": {
          "name": "Gavin Rossdale",
          "documentNumber": "123.456.789-10"
        },
        "holder": {
          "name": "Gavin Rossdale",
          "documentType": "CPF`",
          "documentNumber": "123.456.789-10"
        },
        "seatInfo": "Section A - Row A Seat 12"
      }
    }
  ],
  "totalCount": 100,
  "totalAvailable": 100,
  "totalExtra": 100,
  "totalPaid": 100,
  "totalCanceled": 100,
  "responseStatus": {
    "errorCode": "Hello, world!",
    "message": "Hello, world!",
    "stackTrace": "Hello, world!",
    "errors": [
      {
        "errorCode": "Hello, world!",
        "fieldName": "Hello, world!",
        "message": "Hello, world!"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "eventOrderBarcodes": {
      "type": "array"
    },
    "totalCount": {
      "type": "number",
      "description": "Total number of barcodes that matched the search criterias."
    },
    "totalAvailable": {
      "type": "number",
      "description": "Total number of available barcodes that matched the search criterias."
    },
    "totalExtra": {
      "type": "number",
      "description": "Total number of extra barcodes that matched the search criterias."
    },
    "totalPaid": {
      "type": "number",
      "description": "Total number of paid barcodes that matched the search criterias."
    },
    "totalCanceled": {
      "type": "number",
      "description": "Total number of canceled barcodes that matched the search criterias."
    },
    "responseStatus": {
      "type": "object",
      "properties": {
        "errorCode": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "stackTrace": {
          "type": "string"
        },
        "errors": {
          "type": "array"
        }
      }
    }
  }
}

Get barcodes with detailed order data
GET/access-control/barcodes-detailed

Gets barcodes for an event or performance. If any given barcode belongs to a sold or canceled ticket, the response will contain the ticket’s order’s information, such as performance name, section ID, seat info, ticket holder information etc.

When filtering barcodes by period, only barcodes associated to sold or canceled tickets will be returned. The payment date is used for paid tickets, and the cancellation date is used for canceled tickets.

The period precision is by minute. Seconds will be ignored. The start date will always have 0 seconds and 0 milliseconds and the final date will always have 59 seconds and 999 milliseconds. Therefore, a period from 12:00 to 13:00 will be treated internally as 12:00:00.000 to 13:00:59.999.

Result can be paginated using the skip and take parameters.

Barcodes for performances that happened over 90 days ago cannot be retrived.

If eventId is specified, but neither performancePeriodStart nor performancePeriodEnd are specified, the API will act as if performancePeriodStart is today at 00:00 and performancePeriodEnd is today at 23:59;

This operation’s route has changed over time. Previous routes should not be used, as they will be removed in the future. The previous routes where:

  • GET /reports/event-barcodes

  • GET /admin/reports/event-barcodes

URI Parameters
HideShow
eventId
number (optional) Example: 10

The event’s ID. This parameter is mutually exclusive with performanceId. An event ID OR a performance ID must always be provided. See the note in the operation’s description regarding performancePeriodStart and performancePeriodEnd.

performanceId
number (optional) Example: 123

The performance’s ID. This parameter is mutually exclusive with eventId. An event ID OR a performance ID must always be provided.

performancePeriodStart
string (optional) Example: 2019-09-10T13:26

Searches for barcodes from performances that start in or after this date.

performancePeriodEnd
string (optional) Example: 2019-09-10T13:26

Searches for barcodes from performances that start in or before this date.

orderPeriodStart
string (optional) Example: 2019-09-10T13:26

Searches for barcodes associated to orders either paid or canceled in or after this date.

orderPeriodEnd
string (optional) Example: 2019-09-10T13:27

Searches for barcodes associated to orders either paid or canceled in or before this date.

orderAssociatedOnly
boolean (optional) Example: false

If true, returns only barcodes associated to orders (sold, reserved or canceled tickets)

skip
int (optional) Example: 0

Number of barcodes to be skiped. Used to paginate the results.

take
int (optional) Example: 10

Number of barcodes to be retrieved. The maximum value is 500.


Webhooks

A webhook is a mechanism where ShoWare will send a notification to an external system when an event occurs. The notification is sent by ShoWare using an HTTP POST to a URL. If you want to add a ShoWare webhook to your system, please contact us.

To ensure the POST request is legitimate, a header named x-showare-signature is sent with the request containing a signed hash of the content in base-64 format. To authenticate the request, you need to hash the posted request body with the HMACSHA1 algorithm, with your API key as the secret, and convert the result into a base-64 string. After that, compare the resulting hash to the x-showare-signature header and check if it matches.

A pseudo-code example of how to validate the signature is as follows:

base64Hash = Base64Encode(HMACSHA1(key: apiKey, content: requestBody))
isValid = (base64Hash == request.Headers["x-showare-signature"])

Your system should respond with an HTTP 2XX response (200, 201, etc). Responses out of the 200-299 range will be treated as a failure. ShoWare will send new notifications (with some time between them) in case a failure occurs. Currently, ShoWare will try to deliver the notifications two other times.

Orders

We can register your system to receive a POST request when certain changes occur in the orders, like an order being paid, canceled, etc. For registering, please contact us.

The request content will be as follows:

{
  //The order's ID.
  "id": 109199,

  //The date and time of the notification.
  //Retries will keep the original date.
  "dateTime": "2026-05-20T18:24:20.6372628-03:00",

  //The order's status as an integer.
  //Refer to the OrderStatus enum on the Enums section.
  "status": 4,

  //The order's status details object.
  "statusDetails": {
    "id": 4,
    "key": "Paid",
    "description": "Pago"
  },

  //The date and time when the order was placed.
  "orderDate": "2026-05-20T18:22:20.34",

  //The order's total value (tickets + fees + interest - discounts).
  "total": 60.0,

  //Interest amount (for installment payments).
  "interestValue": 0,

  //Acquirer installment fee value paid on POS when the buyer pays the fee.
  "acquirerInstallmentFeeValue": 0,

  "promotion": {
    "id": 42,
    "name": "Fã-clube Alok",
    "promotionType": 2, //Refer to the PromotionType enum on the Enums section.
  },

  "deliveryInfo": {
    "deliveryMethod": {
      "id": 9,
      "name": "Receber no celular",
      //Delivery fee for this method.
      "fee": 0,
      "deliveryMethodTypeData": {
        "id": 5,
        "name": "Visualizar no meu celular",
        "isMobile": true, //Indicates if the patron can retrieve the tickets as QR codes on the app or website.
        "isPrintAtHome": false, //Indicates if the patron can retrieve the tickets as a PDF file. 
        "iconUrl": "http://showare-cdn-qa.s3.amazonaws.com/common/images/icons/_phone_android_qr.svg"
      }
    },
    //The identification of who will receive/withdraw the tickets, when applicable.
    "deliveryRecipient": {
      "documentType": {
        "id": 1,
        "name": "RG",
        "abbreviation": "RG"
      },
      "name": "João Branco",
      "documentNumber": "12.345.678-9"
    }
  },

  "billingAddress": {
    "addressLine1": "Av Luiz de Camões, 123",
    "addressLine2": "B Coral",
    "city": "Lages",
    "stateId": 0,
    "state": "SC",
    "zipCode": "88523000",
    "phone": "49999999999",
    "district": "Coral",
    "streetName": "Av Luiz de Camões",
    "number": "123"
  },

  "shippingAddress": {
    "addressLine1": "Av Luiz de Camões, 123",
    "addressLine2": "B Coral",
    "city": "Lages",
    "stateId": 0,
    "state": "SC",
    "zipCode": "88523000",
    "phone": "49999999999",
    "district": "Coral",
    "streetName": "Av Luiz de Camões",
    "number": "123"
  },

  "paymentInfo": {
    "paymentMethod": {
      "id": 1001,
      "name": "VISA",
      //Payment method group (e.g. credit card, debit card, boleto).
      "group": {
        "id": 2,
        "name": "Cartão de Crédito On-line"
      },
      //The custom group for this payment method, which is the grouping configured by the ticketing company.
      "customGroup": {
        "id": 3,
        "name": "Visa Parcelado"
      },
      //Payment method type (e.g. Visa, Mastercard, Boleto).
      "type": {
        "id": 6,
        "name": "Visa"
      },
      //Number of installments.
      "installments": 1
    },
    "paidAmount": 60.0,
    "cancelledAmount": 15.0,
    "totalAmount": 45.0,
    //Name of the payment handler/gateway used.
    "handlerName": "Stub - Success",
    "tid": "TID-ba60c8f5-cbc3-4af2-9a49-8dd6560bde5a",
    "acquirerTid": "ATID-b1f662e4-8be5-4420-8830-84e6c706f960",
    "acquirerName": "Stub Inc.",
    "nsu": "NSU-f7ad4463-a54a-4a6c-9e10-a9d97f5fedfe",
    "authorizationCode": "AC-44a9a9f8-7a8a-4a0a-819b-a628f7f327ad",
    "creditCardNumber": "411111******1111",
    "creditCardHolderName": "thiago c",
    //External payment page URL, used for boleto payments.
    "externalUrl": null,
    //Boleto barcode, when the payment method is boleto.
    "boletoBarcode": null,
    //Expiration date for boleto or Pix payments.
    "expirationDate": null,
    "paymentDate": "2026-05-20T18:22:50.503",
    "transactions": [
      {
        "date": "2026-05-20T18:22:50.507",
        "totalAmount": 60.0,
        "ticketsAmount": 50.0,
        "productsAmount": 0,
        "ticketsFeeAmount": 10.0,
        "deliveryFeeAmount": 0,
        "interestAmount": 0,
        "acquirerInstallmentFeeAmount": 0,
        "ticketsCount": 1,
        "productsCount": 0
      }
    ]
  },

  "orderItems": [
    {
      "id": 144763,
      //When the ticket is grouped, this is the parent ticket's ID.
      "parentId": null,
      "placeId": 185507,

      //The item's status as an integer. Refer to the OrderItemStatus enum.
      "status": 4,

      //The item's status details object.
      "statusDetails": {
        "id": 4,
        "key": "Paid",
        "description": "Pago"
      },

      //Ticket price without the fee and the discount.
      "price": 100.0,

      //Ticket price after applying the discount. Same as price if no discount applies.
      "priceWithDiscount": 50.0,

      //Convenience fee charged for this ticket.
      "fee": 10.0,

      //Total amount for this item: priceWithDiscount + fee.
      "itemTotal": 60.0,

      "seatDescription": "FILA ZA-01",
      "seatRowIdentifier": "ZA",
      "seatIdentifier": "01",
      "seatTypeName": "FILA",
      "barcode": "15569656427208",
      //The date and time the barcode was scanned at the venue, if applicable.
      "barcodeReadDate": null,
      "priceCategoryId": 16639,
      "priceCategoryName": "Mezanino",
      "eventId": 5560,
      "eventName": "Alok",
      "performanceId": 9432,
      "performanceName": "Alok",
      "performanceDate": "2026-10-01T20:00:00",
      "performanceCity": "Sao Paulo",
      "sectionId": 20061,
      "sectionName": "Setor B",
      "sectionTypeId": 3, //Refer to SectionType Enum
      "sectionGateInfo": "Portão 3",
      "sectionTicketDescription": "FILA ZA-01",
      "venueId": 1,
      "venueName": "Allianz Parque - Anfiteatro",
      "venueAddress": "Av. Francisco Matarazzo, 1705 - Água Branca, São Paulo - SP, 05001-200",
      "location": {
        "id": 2,
        "name": "Allianz Parque",
        "street": "Av. Francisco Matarazzo",
        "number": "1705",
        "complement": "Nro 25",
        "district": "Água Branca",
        "city": "Sao Paulo",
        "state": "SP",
        "zipCode": "05001-200"
      },
      "ticketName": "Alteração inteira",

      "discount": {
        "id": 15,
        "name": "Meia-entrada",
        "discountedPrice": 50.0,
        "ticketHolderRequired": true,
        "value": 50.0,
        "extraTickets": 0,
        "isBundle": false
      },

      "ticketHolder": {
        "orderItemId": 144763,
        "name": "João Branco",
        "documentNumber": "123456",
        "documentTypeName": "RG",
        "documentTypeId": 1
      },

      //The date and time the ticket was canceled. Null if not canceled.
      "cancellationDate": null,

      //The date and time the ticket's convenience fee was canceled. Null if not canceled.
      "feeCancellationDate": null,
    }
  ],

  "orderProductItems": [
    {
      "id": 8821,
      "price": 30.0,
      "name": "Camiseta Alok",
      "description": "Camiseta oficial do show - tamanho M"
    }
  ],

  "logs": [
    {
      "text": "Pedido pago via Visa (1x).",
      "date": "2026-05-20T18:22:50.507",
      "login": "joaozinho@gmail.com"
    }
  ],

  "salesChannel": {
    "id": 8,
    "name": "Internet"
  },

  "patron": {
    "id": 7543,
    "fullName": "João Branco",
    "cpf": "94514224564",
    "email": "joaob@gmail.com",
    //Custom patron code, if configured.
    "code": "1313",
    //External ID from the integrating system, if configured.
    "externalReferenceCode": "EXT-12345"
  },

  //The order's convenience fee (not to be confused with order item fee).
  "fee": 0,

  //The event's ID associated with the order.
  "eventId": 5560,

  //The event's promoter ID.
  "promoterId": 6,

  //The event's promoter name.
  "promoterName": "Allianz Parque - Produtor",

  //The order's external reference code, if one was set.
  "externalReferenceCode": "EXT-ORDER-109199",

  //URL for generating the print-at-home PDF.
  "printAtHomeUrl": "https://mycompany.showare.com.br/Basket/QuickPrintAtHome.aspx?k=MHzR%2fo6qnzk%3d&u=Un7i7zDp7XN%3d",

  //Login of the user that created the order. Might be a patron's e-mail or a back-office user's username.
  "login": "joaozinho@gmail.com"
}

Performances

We can register your system to receive a POST request whenever relevant changes occur in a performance, such as:

  • The performance being made available for sale

  • The performance being made unavailable for sale

  • The performance status being changed

  • The performance being sold out

  • The performance’s tickets becoming available again after being sold out

Actions

All webhook scenarios use the same payload format. You can distinguish which scenario occurred by inspecting the action.id or action.key properties:

  • PerformanceMadeAvailable

    • action.id = 0
    • action.key = "PerformanceMadeAvailable"
    • Triggered when the performance is made available for sale.
  • PerformanceMadeUnavailable

    • action.id = 1
    • action.key = "PerformanceMadeUnavailable"
    • Triggered when the performance is made unavailable for sale.
  • StatusChanged

    • action.id = 2
    • action.key = "StatusChanged"
    • Triggered when the performance status changes.
  • PerformanceSoldOut

    • action.id = 3
    • action.key = "PerformanceSoldOut"
    • Triggered when all of the performance’s tickets become sold out.
  • PerformanceTicketsAvailableAgain

    • action.id = 4
    • action.key = "PerformanceTicketsAvailableAgain"
    • Triggered when a performance that was sold out has tickets available for sale again.

For registering, please contact us.

The request content will be as follows:

{
  //Retries will keep the original date/time value.
  "actionDateTime": "2025-01-10T14:32:11.3666447-03:00",

  "action": {
    //0 = PerformanceMadeAvailable
    //1 = PerformanceMadeUnavailable
    //2 = StatusChanged
    //3 = PerformanceSoldOut
    //4 = PerformanceTicketsAvailableAgain
    "id": 2,
    "key": "StatusChanged",
    "description": "Status da apresentação alterada"
  },

  "data": {
    "id": 1234,
    "name": "Apresentação A",
    "startDate": "2026-02-15T20:00:00-03:00",
    "endDate": "2026-02-15T22:00:00-03:00",

    //The time when the venue doors open. Null when not configured.
    "openTime": "2026-02-15T19:00:00-03:00",

    //Refer to the PerformanceStatus enum in the Enums section of this documentation.
    "status": "OnSale",
    "statusDetails": {
      "id": 1,
      "key": "OnSale",
      "description": "À venda"
    },

    "eventId": 567,
    "eventName": "Evento A",
    "seatMapImageUrl": "https://bucket.s3.amazonaws.com/demo/images/SeatMap/seatmap01.jpg",
    "areaMap": "<area shape=\"rect\" coords=\"1.335,3.3375,264.9975,198.58124999999998\" data-section=\"S01\">",
    "showAllSectionsExpanded": true,
    "showSectionDirectly": false,
    "isPassport": true,

    //Null when the performance is not a passport child.
    "passportParent": {
      "id": 1100,
      "name": "Passport Festival 2026"
    },

    //Null when the performance has no passport children.
    "passportChildren": [
      {
        "id": 1235,
        "name": "Apresentação B",
        "startDate": "2026-02-16T20:00:00-03:00",
        "endDate": "2026-02-16T22:00:00-03:00"
      }
    ],

    "venue": {
      "id": 1,
      "name": "Arena Anhembi",
      "address": "Av. Olavo Fontoura, 1209 - Santana",
      "phone": "(11) 2226-0399",
      "city": "São Paulo",
      "uf": "SP",
      "locationId": 2,
      "locationName": "Parque de exposições"
    },

    //The documents that can be selected when setting holders on full-price tickets.
    "documentTypes": [
      {
        "id": 1,
        "name": "RG",
        "abbreviation": "RG"
      }
    ],

    "sections": [
      {
        "id": 101,
        "name": "Pista",
        //"GeneralAdmission" or "Numbered".
        "type": "GeneralAdmission",
        "sortOrder": 1,
        "priceCategories": [
          {
            "id": 201,
            "name": "Pista",
            //id = 0 is the full price; id > 0 is a discount ID.
            "prices": [
              {
                "id": 0,
                "name": "Inteira",
                //Total ticket value including fees.
                "value": 250.00
              },
              {
                "id": 15,
                "name": "Meia-entrada",
                "value": 125.00
              }
            ]
          }
        ]
      },
      {
        "id": 102,
        "name": "Cadeira Superior",
        "type": "Numbered",
        "sortOrder": 2,
        "priceCategories": [
          {
            "id": 202,
            "name": "Cadeira Superior",
            "prices": [
              {
                "id": 0,
                "name": "Inteira",
                "value": 450.00
              },
              {
                "id": 16,
                "name": "Meia-entrada",
                "value": 225.00
              }
            ]
          }
        ]
      }
    ]
  }
}

Basket abandonment

We can register your system to receive a POST request when a customer abandons their basket before completing the purchase. To register your endpoint, please contact us.

The request content will be as follows:

{
  //The date and time of the notification. 
  //Retries will keep the original date.
  "dateTime": "2025-01-15T14:22:51.1234567-03:00",

  //The abandoned order's ID.
  "orderId": 30165,

  "patron": {
    //The customer's full name.
    "name": "João da silva",

    //The customer's email address.
    "email": "joao@gmail.com",

    //The customer's phone number.
    "phone": "49 999214567"
  },

  "event": {
    //The event's identifier.
    "id": 10,

    //The event's name.
    "name": "The Beatles"
  },

  //The list of performances that were in the basket.
  "performances": [
    {
      //The performance's identifier.
      "id": 501,

      //The performance's name.
      "name": "The Beatles - O retorno",

      //The date and time when the performance starts.
      "startDate": "2025-03-10T20:00:00-03:00",

      //The list of sections and their respective ticket quantities.
      "sections": [
        {
          //The section's identifier.
          "id": 100,

          //The section's name.
          "name": "Pista",

          //How many tickets for this section were in the basket.
          "ticketQuantity": 2
        },
        {
          "id": 101,
          "name": "VIP",
          "ticketQuantity": 1
        }
      ]
    }
  ]
}

Enums

OrderStatus

Key Value Description
Open 1 The order is an open basket and was not placed yet.
CheckingOut 2 The user has finished creating the order and it is in the process of being placed and paid.
Paid 4 The order was successfully finalized and paid.
WaitingPayment 5 The order was placed, but is still waiting for payment (via a deposit, boleto or PIX payment).
CancelledAndReimbursed 7 The order was canceled after being paid, and its tickets were returned to the available tickets pool.
Failed 11 The order was not completed because the payment failed, the basket expired or the administrator manually failed an order waiting for payment.
PendingCapture 13 The order is waiting for a credit card transaction to be reprocessed to confirm the payment.
InAnalysis 15 The order is being manually checked for frauds.

OrderItemStatus

Key Value
Open 1
Paid 4
Waiting payment 5
CanceledAndRefunded 7
CanceledAndNotRefunded 8

SeatStatus

Key Value
Available 1
TemporarilyReserved 2
Sold 3
NotAvailable 4

AddressType

Key Value
Shipping 1
Billing 2

PromotionType

Key Value Behavior
MultiPromoCodeEmailDomainMatch 1 Requires a promocode and an email address that matches a specific domain.
PromoCode 2 Requires a single promocode that is shared by patrons.
MultiPromoCode 4 Requires a promocode that is validated against a database of multiple promocodes.
SimplePromoCode 5 Requires no promocode.
MultiPromoCodeBin 6 Requires a credit card BIN (6 first digits) that matches a predefined database of BINs.
MultiPromoCodeTwoFields 7 Requires a promocode and an additional, arbitrary field.
SamsungIMEI 8 Requires a Samsung IMEI as promocode.

PerformanceStatus

Key Value
OnSale 1
ComingSoon 2
SalesNotStarted 5
SalesStopped 6
NotOnSale 7
SoldOut 10
Cancelled 13

SearchStatus

Key Value
NaoEncontrada 0
EncontradaLogradouroComTipo 1
EncontradaLogradouroSemTipo 2
EncontradaSemLogradouro 3
EncontradaComCaixaPostal 4
EncontradaComGrandeUsuario 5
EncontradaComUnidadeOperacional 6

PaymentMethodType

Key Value
AmerianExpress 2
Diners 3
Elo 4
Mastercard 5
Visa 6
Deposit 15
Boleto 16

SectionType

Key Value
GeneralAdmission 1
Numbered 3

Errors

This section is still being completed as we standardize the errors returned by our API. If you receive an error that is not documented, please feel free to let us know at suporte.showare@accesso.com.

Error codes are returned in the errorCode property of a response with an error status code (such as 409).

Code Description
patron.email_already_exists You are trying to create or update a patron with an e-mail that is already attributed to another patron. See the description of the POST /admin/patron operation for details.
patron.cpf_already_exists You are trying to create or update a patron with a CPF that is already attributed to another patron. See the description of the POST /admin/patron operation for details.
patron.external_id_already_exists You are trying to create or update a patron with an external ID that is already attributed to another patron. See the description of the POST /admin/patron operation for details.
patron.code_already_exists You are trying to create or update a patron with a code that is already attributed to another patron.
patron.main_depentent.feature_not_enabled You are trying to use the main/dependent feature, but it is not enabled for your ShoWare environment. Contact the responsible person in the ticketing company for details.
patron.main_depentent.main_not_found You are trying to create or update a patron that is a dependent, but the provided code could not be found in the database. Check if the provided code is correct, and check if the code's main patron was created yet.
patron.main_depentent.dependent_self_reference You are trying to create or update a patron that is a dependent, but the codes main patron is the request’s patron itself. Check if the request’s CPF, e-mail and/or external ID are correct, and if the isDependent property is set correctly.
patron.main_depentent.main_without_code You are trying to update a patron that is a main patron with one of more dependents, but request’s code field either missing, null or empty.
patron.main_depentent.dependent_without_code You are trying to create or update a patron that is a dependent of another patron, but request’s code field either missing, null or empty.
patron.validation_failure You are trying to create or update a patron with invalid data. The error’s message will contain the description of the validation that failed.

Generated by aglio on 03 Sep 2026