¿Como usar la API de CrossHero?

Integrar CrossHero con otras aplicaciones - API

S
Escrito por Sergio Velez
Actualizado hace más de una semana

Nuestra API es una forma sencilla de integrar CrossHero con otras aplicaciones, lo que te brinda la oportunidad de personalizar formularios de alta customizada y obtener una lista completa de los clientes registrados en tu centro deportivo. Para facilitar la integración, te recomendamos descargar nuestra colección de Postman aquí, una herramienta que te permitirá interactuar con nuestra API.

Autenticación

Para la autenticación con la API de CrossHero se usa un token de acceso. Para obtenerlo debe buscarlo en la configuración del Centro. Este token de acceso es enviado junto con el identificador del centro en los encabezados (headers) de la petición.

Header

Tipo

Descripción

CROSSHERO_BOX

varchar

Identificador del centro

CROSSHERO_ACCESS_TOKEN

varchar

Token de acceso del centro

Códigos de Respuesta

Las peticiones al API retornan varios códigos de respuesta.

Código

Descripción

200

La petición fue procesada correctamente

400

Los parámetros de la petición son incorrectos

401

No se han proporcionado las credenciales de autenticación o son incorrectas

500

Ha ocurrido un error interno procesando la petición

API Clientes

Listado de clientes

Devuelve un listado de clientes y los parámetros para realizar la paginación.

Parámetros

Parámetro

Tipo

Default

Via

Descripción

page

integer

1

query param

Página actual

per_page

integer

25

query param

Cantidad de registros por página. Debe estar entre 1 y 100.

Respuesta

Ejemplo de respuesta:

{

"athletes": [

{

"name": "Nombre Cliente",

"email": "[email protected]",

"phone": "+55 11 99999-9999",

"birthdate": null,

"gender": "",

"line1": "Calle 123",

"postal_code": "52666",

"city": "Espana",

"state": "Madrid",

"country": "ES",

"iban": null,

"status": "inactive",

"status_updated_at": "2023-02-28",

"since": "2023-02-28T20:46:29.948Z",

"coach_notes": "",

"mrr": null,

"cltv": null,

"last_attendance_at": null

}

],

"meta": {

"current_page": 1,

"next_page": 2,

"prev_page": null,

"total_pages": 70,

"total_count": 70

}

}

El endpoint retorna un JSON donde el campo athletes retorna una lista de todos los clientes de la página y el campo meta posee la información necesaria para realizar el paginado de la información.

A continuación se describe la respuesta de cada campo del cliente

Nombre

Tipo

Descripción

name

varchar

Nombre del cliente

email

varchar

Email del cliente

phone

varchar

Número de teléfono

birthdate

varchar

Fecha de cumpleaños

gender

varchar

Sexo

line1

varchar

Dirección

postal_code

varchar

Código postal

city

varchar

Ciudad

state

varchar

Estado de la dirección del cliente

country

varchar

País del cliente

iban

varchar

Número IBAN del cliente

status

varchar

Estado del cliente en el centro.

status_updated_at

varchar

Fecha de la última actualización del estado del cliente

since

varchar

Fecha en que el cliente se incorporó al centro

coach_notes

varchar

Notas del coach

mrr

varchar

MRR del cliente

cltv

varchar

CLTV del cliente

last_attendance_at

varchar

Fecha de la última reserva

A continuación se describe la respuesta de cada campo dentro de meta para la paginación

Nombre

TIpo

Descripción

current_page

integer

Página actual

next_page

integer

Próxima página. Cuando es null significa que la página actual es la última página.

prev_page

integer

Página anterior. Cuando es null significa que la página actual es la primera página.

total_pages

integer

Total de páginas

total_count

integer

Total de documentos que existen

API Centros

Añadir o actualizar clientes de un centro

Realiza una sincronización de clientes del centro

Parámetros

El cuerpo de la petición tiene que ser un JSON con el siguiente formato

{

"athletes": [

{

"code": "1234",

"name": "Nombre cliente",

"phone": "+55 11 99999-9999",

"email": "[email protected]",

"birthdate": "2016-02-23",

"iban": "...",

"gender": "...",

"line1": "...",

"city": "...",

"state": "...",

"postal_code": "...",

"country": "..."

}

]

}

Parámetro

Tipo

Requerido

Descripción

code

varchar

Código interno usando en GestBox

name

varchar

Nombre

phone

varchar

no

Número de teléfono

email

varchar

Email

birthdate

varchar

no

Fecha de cumpleaños

iban

varchar

no

IBAN

gender

varchar

no

Sexo. Los posibles valores son (“male”, “female”)

line1

varchar

no

Dirección

city

varchar

no

Ciudad de la dirección

state

varchar

no

Estado/Provincia de la dirección

postal_code

varchar

no

Código Postal

country

varchar

no

País

Respuesta

Cuando todos los clientes fueron procesados satisfactoriamente, se retorna un código HTTP 200.

De ocurrir algún error sincronizando un cliente se devuelve un código 400 junto con el siguiente JSON en el cuerpo de la respuesta. En este caso no es necesario enviar todos los clientes nuevamente, solamente aquellos que fallaron.

{

"errors": {

"athletes": {

"1234": [

"Domicilio no es válido",

"Gender no está incluido en la lista",

"Name no puede estar en blanco",

"Iban no es válido",

"País no está incluido en la lista"

]

}

}

}

¿Ha quedado contestada tu pregunta?