Planes
Un plan define lo que contrata un cliente: los folios que incluye, cuánto dura, su precio y los servicios que trae. Cada plan tiene una o varias vigencias (por ejemplo, mensual y anual), y al dar de alta un cliente le asignas un plan y una de sus vigencias.
Todas las peticiones de esta página llevan Authorization: Bearer <token> (ver
Autenticación). Agrega F-Sandbox-Mode: true para
trabajar en sandbox.
Consultar planes
Devuelve tu catálogo de planes, paginado.
| Parámetro | Tipo | Descripción |
|---|---|---|
page | entero | Página a consultar. |
search | texto | Filtra los planes por texto. |
curl "https://invoice.taxo.ws/mx/partners/v1/products?page=1" \
-H "Authorization: Bearer <token>" \
-H "F-Sandbox-Mode: true"
La respuesta trae los planes en data.products y la paginación en
data.pagination. Los valores son de ejemplo:
{
"response": "success",
"data": {
"products": [
{
"uuid": "a1e2019fe2b542af96caf6f9320781bd",
"name": "Plan especial",
"status": "<estatus>",
"sales": 3,
"expiration_type": 1,
"services": {
"api": true,
"smtp_mail": false,
"custom_email": false,
"pdf_templates": [],
"invoices_migrator": false,
"auto_invoice": false,
"extra_rfc": 0,
"extra_user": 0
},
"vigencies": [
{
"uuid": "<uuid-de-la-vigencia>",
"folios": 100,
"price": "299.00",
"expiration_period": "<periodo>"
}
],
"pdf_templates": []
}
],
"pagination": {
"currentPage": 1,
"lastPage": 1,
"perPage": 15,
"total": 1
}
}
}
El objeto plan
| Campo | Tipo | Descripción |
|---|---|---|
uuid | texto | Identificador del plan. Lo usas al dar de alta un cliente o renovar. |
name | texto | Nombre del plan. |
status | texto | Estatus del plan. Ver Activar o desactivar un plan. |
sales | entero | Ventas del plan. |
expiration_type | entero | Tipo de expiración del plan. |
services | objeto | Servicios incluidos. Ver Servicios. |
vigencies | arreglo | Vigencias del plan: uuid, folios, price y expiration_period. |
pdf_templates | arreglo | Plantillas de PDF del plan. |
Del plan que vas a asignar necesitas dos identificadores: el uuid del plan y el
uuid de la vigencia, dentro de vigencies.
Crear un plan
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
name | texto | Sí | Nombre del plan. |
vigencies | arreglo | Sí | Una o varias vigencias. Ver Vigencias. |
services | objeto | Sí | Servicios incluidos. Ver Servicios. |
curl https://invoice.taxo.ws/mx/partners/v1/products \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "F-Sandbox-Mode: true" \
-d '{
"name": "Plan especial",
"vigencies": [
{ "folios": 100, "vigency": "Mensual", "price": 299 },
{ "folios": 1200, "vigency": "Anual", "price": 2990 }
],
"services": {
"api": true,
"smtp_mail": false,
"custom_email": false,
"pdf_templates": [],
"invoices_migrator": false,
"auto_invoice": false,
"extra_rfc": 0,
"extra_user": 0
}
}'
Si el plan se crea, la respuesta trae el objeto plan en data,
con los uuid que se asignaron al plan y a cada vigencia. Si algún campo no es
válido responde 422 con el detalle en errors.
Vigencias
Cada elemento de vigencies tiene:
| Campo | Tipo | Descripción |
|---|---|---|
folios | entero | Folios que incluye la vigencia. |
vigency | texto | Periodo de validez. Uno de los valores de abajo. |
price | número | Precio de la vigencia. |
Valor de vigency | Periodo |
|---|---|
Mensual | Un mes. |
Trimestral | Tres meses. |
Semestral | Seis meses. |
Anual | Un año. |
SP | Sin periodicidad. |
Servicios
| Campo | Tipo | Descripción |
|---|---|---|
api | booleano | Incluye acceso por API. |
smtp_mail | booleano | Incluye envío de correos por SMTP. |
custom_email | booleano | Incluye correo personalizado. |
pdf_templates | arreglo | Plantillas de PDF disponibles en el plan. |
invoices_migrator | booleano | Incluye el migrador de facturas. |
auto_invoice | booleano | Incluye autofacturación. |
extra_rfc | entero | RFC adicionales incluidos. |
extra_user | entero | Usuarios adicionales incluidos. |
Ver un plan
Devuelve el objeto plan en data, o 404 si el plan no existe.
curl https://invoice.taxo.ws/mx/partners/v1/products/<uuid-del-plan> \
-H "Authorization: Bearer <token>" \
-H "F-Sandbox-Mode: true"
Actualizar un plan
El cuerpo es el mismo que al crear un plan, con sus tres campos
requeridos: envía el plan completo, no solo lo que cambia. Responde con el plan
actualizado en data, o 404 si el plan no existe.
curl -X PATCH https://invoice.taxo.ws/mx/partners/v1/products/<uuid-del-plan> \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "F-Sandbox-Mode: true" \
-d '{
"name": "Plan especial",
"vigencies": [
{ "folios": 150, "vigency": "Mensual", "price": 349 },
{ "folios": 1200, "vigency": "Anual", "price": 2990 }
],
"services": {
"api": true,
"smtp_mail": false,
"custom_email": false,
"pdf_templates": [],
"invoices_migrator": false,
"auto_invoice": false,
"extra_rfc": 0,
"extra_user": 0
}
}'
Activar o desactivar un plan
No lleva cuerpo. Activa o desactiva el plan, y responde con el plan y su status
actualizado en data.
curl -X POST https://invoice.taxo.ws/mx/partners/v1/products/<uuid-del-plan>/change-status \
-H "Authorization: Bearer <token>" \
-H "F-Sandbox-Mode: true"
Borrar planes
Borra uno o varios planes a la vez. Envía sus identificadores en uuids. Responde
404 si alguno no existe.
curl -X DELETE https://invoice.taxo.ws/mx/partners/v1/products \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "F-Sandbox-Mode: true" \
-d '{ "uuids": ["a1e2019fe2b542af96caf6f9320781bd"] }'