# Webhooks

### Información general

La configuración de Webhooks nos ayuda a enviar notificaciones de diferentes eventos que ocurren en su cuenta de admintotal, estas notificaciones son enviadas mediante una petición POST a la URL que se especifica al momento de su configuración. Los eventos que pueden ser notificados son:

* Creación de productos
* Creación de clientes
* Creación de cotización
* Timbrar factura
* Actualización de precios y existencias de productos

### Configuración básica de un webhook

La configuración de webhooks podemos encontrarla entrando en su cuenta de admintotal a la ruta **Configuración / Webhooks** ó directamente `https://{clave}.admintotal.com/admin/integraciones/configuracion_webhooks/`

{% hint style="info" %}
Todos los webhooks que se configuren tendrán las siguientes propiedades, dependiendo el tipo de evento que se notificará puede que se agreguen propiedades adicionales a su configuración.
{% endhint %}

* **URL:** Admintotal tomará el valor especificado para enviar una petición POST con la información de la notificación.
* **La autenticación de las notificaciones enviadas es opcional pero recomendada, pueden ser de las siguientes maneras:**
  * **Token**: Token de autenticación que será utilizado en cada petición enviada, se enviará en el header *"Api-key"*
  * [**Autenticación de acceso básica**](https://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_acceso_b%C3%A1sica):
    * Username
    * Password

### Creación de productos

Ejemplo del body de la petición:

```javascript
{
    "id": 15111,
    "codigo": "PRODUCTO DE EJEMPLO",
    "medio_distribucion": 3,
    "descripcion": "Lorem ipsum dolor...",
    "descripcion_adicional": "",
    "ce_fraccion_arancelaria": "",
    "descripcion_ingles": "",
    "descripcion_ecommerce": "",
    "tipo": 0,
    "tipo_producto_sistema_cardonal": null,
    "composiciones": [],
    "unidad_aduana": "",
    "imagen_url": "",
    "costo_ensamble": 0,
    "costo": 0.0,
    "precio": 160.0,
    "unidad": {
        "id": 13393,
        "factor": "1.000000",
        "seleccionado": true,
        "seleccionado_compra": true,
        "codigo_barras": null,
        "base": "70.0000",
        "altura": "35.0000",
        "profundidad": "60.0000",
        "peso": "200.0000",
        "nombre": "PIEZA"
    },
    "unidades": [
        {
            "id": 13393,
            "factor": "1.000000",
            "seleccionado": true,
            "seleccionado_compra": true,
            "codigo_barras": null,
            "base": "70.0000",
            "altura": "35.0000",
            "profundidad": "60.0000",
            "peso": "200.0000",
            "nombre": "PIEZA"
        }
    ]
}
```

### Cambios de precios y existencias

{% hint style="info" %}
El envío de los cambios de precios y existencias se realiza cada 4 minutos y no en tiempo real, se envían un máximo de 50 productos por petición.
{% endhint %}

Para recibir notificaciones sobre cambios de precios y existencias en su catálogo de productos será necesario especificar las siguientes configuraciones, esto podemos hacerlo entrando en su cuenta de admintotal a la ruta **Configuración / Webhooks** ó directamente `https://{clave}.admintotal.com/admin/integraciones/configuracion_webhooks/`&#x20;

* **Almacén de precios:** Almacén que será usado para calcular los precios notificados.
* **Almacén(es)**: Se especifica uno o varios almacenes de los cuales se tomarán en cuenta las existencias.
* **Cliente**: Se puede seleccionar un cliente del catálogo para poder asignar listas de precios.

Ejemplo del body de la petición:

```javascript
[
    {
        "sku": "0001",
        "precio": "99.00",
        "costo": "0.00",
        "stock": "10"
    },
    {
        "sku": "0002",
        "precio": "239.00",
        "costo": "0.00",
        "stock": "2"
    },
    ...
]
```


# API


# Introducción

Información general y de ayuda para el consumo de la API v2 de admintotal.

### Dominio base de su API

El dominio base de todos los endpoints se construye con el dominio que fué asignada a su cuenta de admintotal, por ejemplo:

Si usted accede al sistema con la url `https://micuenta.admintotal.com/` la url a la api será `https://micuenta.admintotal.com/api/v2/`

### Paginado

Por defecto los endpoints de listados retornan `count` (total de objetos), `previous` (página anterior) y `next` (página siguiente). Adicional se puede especificar el parámetro `limit` que se usa para limitar la cantidad de objetos, el valor por defecto es de 100 objetos.<br>

### Límite de consultas

Se pueden hacer hasta 4 consultas ya sea GET o POST por segundo.


# Autenticación

Todas las peticiones realizadas a la API de Admintotal deben incluir un método de autenticación válido.

Actualmente se encuentran disponibles los siguientes métodos:

* **API Key &#x20;**<mark style="color:blue;">**(Recomendado)**</mark>
* **JWT**

## Autenticación mediante API Key <mark style="color:blue;">(Recomendado)</mark>

{% hint style="info" %}
**IMPORTANTE**\
Al utilizar este método es necesario almacenar el `api_key` de manera segura y evitar exponerlo en código fuente, repositorios públicos o aplicaciones cliente.
{% endhint %}

La autenticación mediante **API Key** es el método recomendado para consumir la API de Admintotal.

Primero es necesario autenticar al usuario mediante su nombre de usuario y contraseña. Si las credenciales son correctas, el servicio retornará un `api_key`.

Este valor deberá enviarse posteriormente en el header `api-key` de todas las peticiones realizadas a la API.

### Obtener API Key

<mark style="color:green;">**POST**</mark>**&#x20;** `https://{clave}.admintotal.com/api/v2/usuarios/login_usuario/`&#x20;

Este endpoint permite autenticar a un usuario y obtener el `api_key` que será utilizado como token de acceso para consumir los diferentes endpoints de la API.

{% tabs %}
{% tab title="Request Body" %}

| Name         | Type   | Description            |
| ------------ | ------ | ---------------------- |
| `username`   | string | Nombre del usuario     |
| `password`   | string | Contraseña del usuario |
| {% endtab %} |        |                        |

{% tab title="Ejemplo solicitud" %}

```json
{ 
    "username": "johndoe", 
    "password": "contraseña" 
}
```

{% endtab %}

{% tab title="200 OK" %}

```json
{
    "ok": true,
    "usuario": {
        "id": 104,
        "api_key": "...",
        "username": "johndoe",
        "nombre": "John Doe",
        ...
    }
}
```

{% endtab %}
{% endtabs %}

### Enviar el API Key

Una vez obtenido el `api_key`, deberá incluirse en el header de todas las peticiones:

{% tabs %}
{% tab title="Ejemplo" %}
`Api-key: {api_key}`&#x20;

```
GET https://{clave}.admintotal.com/api/v2/clientes/ 
Api-key: ...
```

{% endtab %}
{% endtabs %}

***

## Autenticación mediante JWT

{% hint style="info" %}
Al utilizar este método de autenticación, TODAS las peticiones realizadas a la API deberán incluir el header Authorization de la siguiente forma: `Authorization: Bearer {access_token}`
{% endhint %}

Admintotal también permite autenticarse utilizando **JSON Web Tokens (JWT)**.

Con este método se obtiene un `access token` y un `refresh token`. \
El `access token` deberá incluirse en el header `Authorization` de las peticiones.

### Obtener token JWT

<mark style="color:green;">**POST**</mark>**&#x20;** `https://{clave}.admintotal.com/api/v2/token/`&#x20;

Este endpoint permite autenticar al usuario y obtener los tokens necesarios para utilizar autenticación JWT.

{% tabs %}
{% tab title="Request Body" %}

| Name         | Type   | Description            |
| ------------ | ------ | ---------------------- |
| `username`   | string | Nombre del usuario     |
| `password`   | string | Contraseña del usuario |
| {% endtab %} |        |                        |

{% tab title="Ejemplo solicitud" %}

```json
{ 
    "username": "johndoe", 
    "password": "contraseña" 
}
```

{% endtab %}

{% tab title="200 OK" %}

```json
{ 
    "refresh": "eyJ0XAiO...", 
    "access": "eyJ0eXAiO..." 
}
```

{% endtab %}
{% endtabs %}

### Refrescar token JWT

El `access token` tiene un tiempo de vigencia limitado. Cuando expire, puede obtenerse uno nuevo utilizando el `refresh token`.

<mark style="color:green;">**POST**</mark>**&#x20;** `https://{clave}.admintotal.com/api/v2/refresh/`&#x20;

{% tabs %}
{% tab title="Request Body" %}

<table><thead><tr><th width="164.12109375">Name</th><th width="119.59765625">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>refresh</code></td><td>string</td><td>Refresh token obtenido durante la autenticación</td></tr></tbody></table>
{% endtab %}

{% tab title="Ejemplo solicitud" %}

```json
{ 
    "refresh": "eyJ0XAiO..." 
}
```

{% endtab %}

{% tab title="200 OK" %}

```json
{
    "access": "eyJ0eXAiO..." 
}
```

{% endtab %}
{% endtabs %}

## ¿Que método utilizar?

Utilizar **API Key** ofrece una implementación sencilla y permite autenticar las peticiones mediante un único valor.

Utilizar **JWT** puede ser una mejor opción cuando se requiere un mayor control sobre la duración de las credenciales de acceso.


# Almacenes

## Obtener listado de almacenes

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/almacenes/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 23,
    "next": "https://{clave}.admintotal.com/api/v2/almacenes/",
    "previous": null,
    "results": [
        {
            "id": 1545,
            "activo": true,
            "nombre": "Mi almacén",
            "codigo": "0009"
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un almacén

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/almacenes/:id/`

#### Path Parameters

| Name | Type    | Description   |
| ---- | ------- | ------------- |
| ID   | integer | ID de almacén |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "id": 1545,
    "activo": true,
    "nombre": "Mi almacén",
    "codigo": "0009"
}
```

{% endtab %}
{% endtabs %}


# Anticipos de clientes

## Crear un anticipo de cliente

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/anticipos_clientes/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>fecha</td><td>string</td><td>Fecha del pedido en formato YYYY-MM-DD</td></tr><tr><td>almacen</td><td>integer</td><td>ID del almacén (en caso de no especificar se tomará el primer almacén)</td></tr><tr><td>cliente</td><td>integer</td><td>ID de cliente (este parámetro es opcional si se especifica cliente_rfc)</td></tr><tr><td>concepto_cfdi</td><td>string</td><td>Concepto que irá en el CFDI</td></tr><tr><td>cuenta</td><td>integer</td><td>ID de la cuenta bancaria</td></tr><tr><td>total</td><td>string</td><td>Total del anticipo</td></tr><tr><td>uso_cfdi</td><td>string</td><td>Posibles valores: "G01", "G02", "G03", "I01", "I02", "I03", "I04", "I05", "I06", "I07", "I08", "D01", "D02", "D03", "D04", "D05", "D06", "D07", "D08", "D09", "D10", "P01", "CP01", "CN01", "S01"</td></tr><tr><td>comentarios</td><td>string</td><td>Comentarios</td></tr><tr><td>forma_pago</td><td>string</td><td>Posibles valores: "01", "02", "03", "04", "05", "06", "08", "12", "13", "14", "15", "17", "23", "24", "25", "26", "27", "28", "29", "30", "31", "99" (si no se especifica se intentará tomar del cliente)</td></tr><tr><td>campos_personalizados</td><td>array</td><td><p>Lista de campos personalizados (se validarán los campos personalizados de venta), ejemplo de estructura:</p><pre class="language-postman_json"><code class="lang-postman_json">[
    {
        "key": "codigo_reservacion",
        "valor": "FKL4646"
    },
    {
        "key": "origen",
        "valor": "Sistema externo"
    }
]
</code></pre></td></tr></tbody></table>

{% tabs %}
{% tab title="201 " %}

```
{
    "id": 5102,
    "fecha": "2025-05-22T10:37:54.727482-07:00",
    "almacen": 9,
    "cliente": 1522,
    "folio": 3,
    "cuenta": 1530,
    "saldo": "0.00",
    "saldo_cliente": "0.00",
    "total": "100.00",
    "comentarios": "",
    "usuario_creado": 20,
    "creado": "2025-05-22T10:37:54.763087-07:00",
    "uso_cfdi": "G03",
    "tipo_relacion": null,
    "cancelado": false,
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "motivo_cancelacion": "",
    "cfdi_uuid": null,
    "cfdi_xml": null,
    "cfdi_certificado_pago": "",
    "cfdi_cadena_pago": "",
    "cfdi_sello_pago": "",
    "concepto_cfdi": "Anticipo de reservación #FKL576B5",
    "campos_personalizados": [
        {
            "key": "codigo_reservacion",
            "valor": "FKL576B5"
        },
        {
            "key": "origen",
            "valor": "Sistema externo"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Clientes

Permite consultar, crear y administrar la información de los clientes registrados.

{% hint style="info" %}
**NOTA:** Los clientes disponibles pueden variar dependiendo del usuario utilizado para realizar la consulta. Por ejemplo, un usuario repartidor puede visualizar únicamente los clientes relacionados con sus entregas asignadas.
{% endhint %}

## Endpoints disponibles

<table><thead><tr><th width="117.48046875">Method</th><th>Endpoint</th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td>Obtener listado de clientes<br><code>GET - https://{clave}.admintotal.com/api/v2/clientes/</code></td></tr><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td>Obtener un cliente<br><code>https://{clave}.admintotal.com/api/v2/clientes/{id}/</code></td></tr><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td>Obtener direcciones de entrega de un cliente<br><code>https://{clave}.admintotal.com/api/v2/clientes/:id/direcciones_entrega/</code></td></tr><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td>Obtener contactos de un cliente<br><code>https://{clave}.admintotal.com/api/v2/clientes/:id/contactos/</code></td></tr><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td>Obtener clientes cercanos<br><code>https://{clave}.admintotal.com/api/v2/clientes/geolocalizaciones/</code></td></tr><tr><td><mark style="color:green;"><strong>POST</strong></mark></td><td>Crear cliente<br><code>https://{clave}.admintotal.com/api/v2/clientes/</code></td></tr><tr><td><mark style="color:green;"><strong>POST</strong></mark></td><td>Actualizar contacto de cliente<br><code>https://{clave}.admintotal.com/api/v2/clientes/:id/contactos/:id</code></td></tr></tbody></table>

## Obtener listado de clientes

Obtiene el listado de clientes registrados. La consulta puede limitarse utilizando los parámetros de filtrado disponibles.

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/clientes/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="Parámetros GET" %}

<table><thead><tr><th width="112.201416015625">Name</th><th width="111.9600830078125">Type</th><th>Description</th><th>Values</th></tr></thead><tbody><tr><td>saldo</td><td>number</td><td>Estado del saldo pendiente del cliente.</td><td>0: Sin saldo pendiente<br>1: Con saldo pendiente</td></tr><tr><td>q</td><td>string</td><td>Texto utilizado para buscar clientes por razón social, nombre comercial, RFC o código.</td><td>—</td></tr></tbody></table>
{% endtab %}

{% tab title="200 OK" %}

```json
{
    "count": 722,
    "next": "https://{clave}.admintotal.com/api/v2/clientes/",
    "previous": null,
    "results": [
        {
            "id": 2482,
            "activo": true,
            "tipo_cliente": 1,
            "razon_social": "CLIENTE DE EJEMPLO",
            "codigo": "",
            "referencia": "",
            "nombre_comercial": "",
            "sitio_web": null,
            "rfc": "...",
            "curp": null,
            "limite_credito": "0.00",
            "representante_legal": "",
            "direccion": {
                "id": 1241,
                "municipio": "",
                "localidad": "",
                "estado": "",
                "calle": "Uni",
                "colonia": "",
                "cp": "",
                "telefono": "",
                "email": "",
                "numero_e": "",
                "numero_i": "",
                "pais_residencia": "",
                "latitud": "0.00000000",
                "longitud": "0.00000000",
                "referencia": ""
            },
            "bloquear_vencido": true,
            "dias_cortar_credito": 0,
            "dias_credito": 0,
            "regimen_fiscal": null,
            "creado": "2026-02-10T12:00:32.592595-06:00",
            "usuario_creado": null,
            "direccion_txt": "  ",
            "almacen_precios": null,
            "clasificacion": null,
            "segmentacion": null
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un cliente

Obtiene la información detallada de un cliente específico.

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/clientes/{id}/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="200 OK" %}
{% code overflow="wrap" %}

```json
{
    "id": 2482,
    "activo": true,
    "tipo_cliente": 1,
    "razon_social": "CLIENTE DE EJEMPLO",
    "codigo": "",
    "referencia": "",
    "nombre_comercial": "",
    "sitio_web": null,
    "rfc": "...",
    "curp": null,
    "limite_credito": "0.00",
    "representante_legal": "",
    "direccion": {
        "id": 1308,
        "municipio": "",
        "localidad": "",
        "estado": "",
        "calle": "",
        "colonia": "",
        "cp": "",
        "telefono": "",
        "email": "",
        "numero_e": "",
        "numero_i": "",
        "pais_residencia": "",
        "latitud": "0.00000000",
        "longitud": "0.00000000",
        "referencia": ""
    },
    "bloquear_vencido": true,
    "dias_cortar_credito": 0,
    "dias_credito": 0,
    "regimen_fiscal": null,
    "creado": "2026-02-10T12:00:32.592595-06:00",
    "usuario_creado": null,
    "direccion_txt": "  ",
    "almacen_precios": null,
    "clasificacion": null,
    "segmentacion": null,
    "monedero": "0"
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Campos principales de respuesta en cliente

<table><thead><tr><th width="191.34814453125">Name</th><th width="108.657958984375">Type</th><th width="240.794677734375">Description</th><th>Values</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del cliente.</td><td>—</td></tr><tr><td><code>activo</code></td><td>boolean</td><td>Indica si el cliente se encuentra activo en el sistema.</td><td><code>true</code>: Activo <br><code>false</code>: Inactivo </td></tr><tr><td><code>tipo_cliente</code></td><td>number</td><td>Tipo de cliente.</td><td>—</td></tr><tr><td><code>razon_social</code></td><td>string</td><td>Razón social o nombre fiscal del cliente.</td><td>—</td></tr><tr><td><code>codigo</code></td><td>string</td><td>Código interno utilizado para identificar al cliente.</td><td>—</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Referencia adicional asociada al cliente.</td><td>—</td></tr><tr><td><code>nombre_comercial</code></td><td>string</td><td>Nombre comercial del cliente.</td><td>—</td></tr><tr><td><code>sitio_web</code></td><td>string</td><td>Sitio web del cliente.</td><td>—</td></tr><tr><td><code>rfc</code></td><td>string</td><td>RFC del cliente</td><td>—</td></tr><tr><td><code>curp</code></td><td>string</td><td>CURP del cliente.</td><td>—</td></tr><tr><td><code>limite_credito</code></td><td>number</td><td>Monto máximo de crédito autorizado para el cliente.</td><td>—</td></tr><tr><td><code>representante_legal</code></td><td>string</td><td>Representante legal del cliente.</td><td>—</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Objeto de relacion con una direccion por Información del domicilio principal del cliente.</td><td>—</td></tr><tr><td><code>bloquear_vencido</code></td><td>boolean</td><td>Restringir ventas con facturas vencidas.</td><td>—</td></tr><tr><td><code>dias_cortar_credito</code></td><td>integer</td><td>Días de gracia por defecto para facturas vencidas.</td><td>—</td></tr><tr><td><code>dias_credito</code></td><td>number</td><td>Número de días de crédito otorgados al cliente.</td><td>—</td></tr><tr><td><code>regimen_fiscal</code></td><td>string</td><td>Régimen Fiscal del cliente.</td><td>—</td></tr><tr><td><code>creado</code></td><td>string</td><td>Fecha y hora en que se creó el registro.</td><td>Formato: YYYY-MM-DDTHH:mm:ss±hh:mm</td></tr><tr><td><code>usuario_creado</code></td><td>integer</td><td>Identificador único del usuario que creó al cliente.</td><td>—</td></tr><tr><td><code>direccion_txt</code></td><td>string</td><td>Direccion escrita del cliente.</td><td>—</td></tr><tr><td><code>almacen_precios</code></td><td>object</td><td>Precios por almacén del cliente.</td><td>—</td></tr><tr><td><code>clasificacion</code></td><td>object</td><td>Clasificación del cliente.</td><td>—</td></tr><tr><td><code>segmentacion</code></td><td>object</td><td>Segmentación del cliente.</td><td>—</td></tr><tr><td><code>monedero</code></td><td>decimal</td><td>Monedero disponible del cliente.</td><td>—</td></tr></tbody></table>

<details>

<summary>Dirección <mark style="color:$info;">( <code>direccion</code> )</mark></summary>

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

***

## Obtener direcciones de entrega de un cliente

Obtiene la dirección de entrega de un cliente específico.

&#x20;<mark style="color:blue;">**GET**</mark>  `https://{clave}.admintotal.com/api/v2/clientes/:id/direcciones_entrega/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="200 OK" %}
{% code overflow="wrap" %}

```json
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 33,
            "nombre": "Oficina",
            "direccion": {
                "id": 482,
                "municipio": "Hermosillo",
                "localidad": "Hermosillo",
                "estado": "Sonora",
                "calle": "A la torre",
                "colonia": "Pitic",
                "cp": "83150",
                "telefono": "",
                "email": "",
                "numero_e": "xxxx",
                "numero_i": "",
                "pais_residencia": "MX",
                "latitud": "xxxx",
                "longitud": "xxxx",
                "referencia": null
            }
            "es_sucursal": false
        },
        ...
    ]
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Campos de respuesta para direcciones de entrega de un cliente

<table><thead><tr><th width="139.59375">Name</th><th width="100.25">Type</th><th>Description</th><th>Values</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificación única de la direccion de entrega.</td><td>—</td></tr><tr><td><code>nombre</code></td><td>string</td><td>Nombre de la direccion de entrega.</td><td>—</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Direccion de entrega.</td><td>—</td></tr><tr><td><code>es_sucursal</code></td><td>boolean</td><td>Indicador para saber si la dirección es un sucursal</td><td><code>true</code>: Si es una sucursal <br><code>false</code>: No es una sucursal </td></tr></tbody></table>

<details>

<summary>Dirección <mark style="color:$info;">( <code>direccion</code> )</mark></summary>

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

***

## Obtener contactos de un cliente

Obtiene los contactos de un cliente específico.

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/clientes/:id/contactos/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="200 OK" %}
{% code overflow="wrap" %}

```json
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 109,
            "nombre": "Contacto de Prueba",
            "celular": "",
            "telefono": "",
            "email": "",
            "puesto": "",
            "extension": "",
            "factura": true,
            "cancelacion_factura": false,
            "remision": false,
            "cotizacion_c": false,
            "cotizacion_p": false,
            "garantia_p": true,
            "orden_compra": false,
            "estado_cuenta": false,
            "auxiliar_movimientos": false,
            "auxiliar_movimientos_cxp": false,
            "devolucion": false,
            "notificaciones_pago": false,
            "sucursal": null,
            "devolucion_cxp": false,
            "recepcion_pago": false
        }
        ...
    ]
}

```

{% endcode %}
{% endtab %}
{% endtabs %}

### Campos de respuesta para contactos de un cliente

<table><thead><tr><th width="247.12109375">Name</th><th width="104.40234375">Type</th><th width="398.26953125">Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del contacto.</td></tr><tr><td><code>nombre</code></td><td>string</td><td>Nombre del contacto.</td></tr><tr><td><code>celular</code></td><td>string</td><td>Teléfono celular del contacto.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Teléfono del contacto.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo del contacto.</td></tr><tr><td><code>puesto</code></td><td>string</td><td>Puesto del contacto</td></tr><tr><td><code>extencion</code></td><td>string</td><td>Extensión del contacto.</td></tr><tr><td><code>factura</code></td><td>boolean</td><td>Envíos de documentos: Facturas.</td></tr><tr><td><code>cancelacion_factura</code></td><td>boolean</td><td>Envíos de documentos: Cancelar facturas.</td></tr><tr><td><code>remision</code></td><td>boolean</td><td>Envíos de documentos: Remisiones.</td></tr><tr><td><code>cotizacion_c</code></td><td>boolean</td><td>Envíos de documentos: Cotizaciones de cliente.</td></tr><tr><td><code>cotizacion_p</code></td><td>boolean</td><td>Envíos de documentos: Cotizaciones de proveedor.</td></tr><tr><td><code>garantia_p</code></td><td>boolean</td><td>Envíos de documentos: Garantía proveedor.</td></tr><tr><td><code>orden_compra</code></td><td>boolean</td><td>Envíos de documentos: Órdenes de compra.</td></tr><tr><td><code>estado_cuenta</code></td><td>boolean</td><td>Envíos de documentos: Estados de cuenta.</td></tr><tr><td><code>auxiliar_movimientos</code></td><td>boolean</td><td>Envíos de documentos: Auxiliar de movimientos de clientes.</td></tr><tr><td><code>auxiliar_movimientos_cxp</code></td><td>boolean</td><td>Envíos de documentos: Auxiliar de movimientos de proveedores.</td></tr><tr><td><code>devolucion</code></td><td>boolean</td><td>Envíos de documentos: Devoluciones, Descuentos y CFDI Egresos.</td></tr><tr><td><code>notificaciones_pago</code></td><td>boolean</td><td>Envíos de documentos: Enviar notificaciones de pago.</td></tr><tr><td><code>sucursal</code></td><td>integer</td><td>Identificador único de la sucursal.</td></tr><tr><td><code>devolucion_cxp</code></td><td>boolean</td><td>Envíos de documentos: Devoluciones de proveedor.</td></tr><tr><td><code>recepcion_pago</code></td><td>boolean</td><td>Envíos de documentos: Recepción de pago.</td></tr></tbody></table>

***

## Obtener clientes cercanos

Obtiene un listado de clientes cercanos.

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/clientes/geolocalizaciones/`&#x20;

Ejemplo:

`https://{clave}.admintotal.com/api/v2/clientes/geolocalizaciones/`<mark style="color:orange;">`?latitud={}&longitud={}`</mark>`/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="Parámetros GET" %}

<table><thead><tr><th width="148.03289794921875">Name</th><th width="216.1180419921875">Type</th><th>Description</th></tr></thead><tbody><tr><td>longitud</td><td>number</td><td>Latitud del punto de partida.</td></tr><tr><td>latitud</td><td>number</td><td>Longitud del punto de partida.</td></tr><tr><td>radio</td><td>number</td><td>Radio en km, el valor por defecto es 10.</td></tr></tbody></table>
{% endtab %}

{% tab title="200 OK" %}
{% code overflow="wrap" %}

```json
{
    "count": 2,
    "next": "https://{clave}.admintotal.com/api/v2/clientes/geolocalizaciones/",
    "previous": null,
    "results": [
        {
            "id": 1940,
            "rfc": "",
            "nombre_comercial": "CLIENTE DE PRUEBA",
            "razon_social": "CLIENTE DE PRUEBA S.A DE C.V",
            "direccion": {
                "id": 546,
                "municipio": "Hermosillo",
                "localidad": "Hermosillo",
                "estado": "Sonora",
                "calle": "campeche",
                "colonia": "San Benito",
                "cp": "83190",
                "telefono": "",
                "email": "",
                "numero_e": "xx",
                "numero_i": "",
                "pais_residencia": "MX",
                "latitud": "xxxx",
                "longitud": "xxxx",
                "referencia": null
            },
            "limite_credito": "10000.00",
            "saldo": 0.0
        },
        ...
    ]
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Campos de respuesta de clientes cercanos

<table><thead><tr><th width="193.0390625">Name</th><th width="114.796875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del cliente.</td></tr><tr><td><code>rfc</code></td><td>string</td><td>RFC del cliente.</td></tr><tr><td><code>nombre_comercial</code></td><td>string</td><td>Nombre comercial del cliente.</td></tr><tr><td><code>razon_social</code></td><td>string</td><td>Razón social del cliente.</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Dirección del cliente.</td></tr><tr><td><code>limite_credito</code></td><td>decimal</td><td>Límite de crédito del cliente.</td></tr><tr><td><code>saldo</code></td><td>decimal</td><td>Saldo del cliente.</td></tr></tbody></table>

<details>

<summary>Dirección <mark style="color:$info;">( <code>direccion</code> )</mark></summary>

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

***

## Crear cliente

Crea un nuevo cliente.

&#x20;<mark style="color:green;">**POST**</mark>  `https://{clave}.admintotal.com/api/v2/clientes/`&#x20;

### Request Body

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="Ejemplo Body" %}
{% code overflow="wrap" %}

```json
{
    "activo": false,
    "tipo_cliente": null,
    "razon_social": "",
    "codigo": "",
    "referencia": "",
    "nombre_comercial": "",
    "sitio_web": "",
    "rfc": "",
    "curp": "",
    "limite_credito": null,
    "representante_legal": "",
    "direccion": {
        "municipio": "",
        "localidad": "",
        "estado": "",
        "calle": "",
        "colonia": "",
        "cp": "",
        "telefono": "",
        "email": "",
        "numero_e": "",
        "numero_i": "",
        "pais_residencia": "",
        "latitud": null,
        "longitud": null,
        "referencia": ""
    },
    "bloquear_vencido": false,
    "dias_cortar_credito": null,
    "dias_credito": null,
    "regimen_fiscal": null,
    "usuario_creado": null
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Campos de Request Body

<table><thead><tr><th width="208.30517578125">Name</th><th width="90.385498046875">Type</th><th width="107.4912109375">Required</th><th width="204.515380859375">Description</th><th width="145.3984375"></th></tr></thead><tbody><tr><td><code>activo</code></td><td>boolean</td><td>No</td><td>Indica si el cliente se encuentra activo en el sistema.</td><td><code>true</code>: Activo <br><code>false</code>: Inactivo</td></tr><tr><td><code>tipo_cliente</code></td><td>number</td><td>Si</td><td>Tipo de cliente.</td><td>—</td></tr><tr><td><code>razon_social</code></td><td>string</td><td>Si</td><td>Razón social o nombre fiscal del cliente.</td><td>—</td></tr><tr><td><code>codigo</code></td><td>string</td><td>No</td><td>Código interno utilizado para identificar al cliente.</td><td>—</td></tr><tr><td><code>referencia</code></td><td>string</td><td>No</td><td>Referencia adicional asociada al cliente.</td><td>—</td></tr><tr><td><code>nombre_comercial</code></td><td>string</td><td>No</td><td>Nombre comercial del cliente.</td><td>—</td></tr><tr><td><code>sitio_web</code></td><td>string</td><td>No</td><td>Sitio web del cliente.</td><td>—</td></tr><tr><td><code>rfc</code></td><td>string</td><td>No</td><td>RFC del cliente</td><td>—</td></tr><tr><td><code>curp</code></td><td>string</td><td>No</td><td>CURP del cliente.</td><td>—</td></tr><tr><td><code>limite_credito</code></td><td>number</td><td>Si</td><td>Monto máximo de crédito autorizado para el cliente.</td><td>—</td></tr><tr><td><code>representante_legal</code></td><td>string</td><td>No</td><td>Representante legal del cliente.</td><td>—</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Si</td><td>Objeto de relacion con una direccion por Información del domicilio principal del cliente.</td><td>—</td></tr><tr><td><code>bloquear_vencido</code></td><td>boolean</td><td>No</td><td>Restringir ventas con facturas vencidas.</td><td>—</td></tr><tr><td><code>dias_cortar_credito</code></td><td>integer</td><td>Si</td><td>Días de gracia por defecto para facturas vencidas.</td><td>—</td></tr><tr><td><code>dias_credito</code></td><td>number</td><td>No</td><td>Número de días de crédito otorgados al cliente.</td><td>—</td></tr><tr><td><code>regimen_fiscal</code></td><td>string</td><td>No</td><td>Régimen Fiscal del cliente.</td><td>—</td></tr><tr><td><code>usuario_creado</code></td><td>integer</td><td>No</td><td>Identificador único del usuario que creó al cliente.</td><td>—</td></tr></tbody></table>

<details>

<summary>Tipos de cliente <mark style="color:$info;">( <code>tipo_cliente</code> )</mark></summary>

| Value | Description            |
| ----- | ---------------------- |
| `1`   | Nacional               |
| `2`   | Extranjero             |
| `3`   | Nacional relacionado   |
| `4`   | Extranjero relacionado |

</details>

<details>

<summary>Dirección <mark style="color:$info;">( <code>direccion</code> )</mark></summary>

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

### Respuesta 201 Created

{% tabs %}
{% tab title="201 Created" %}

```json
{
    "id": 1940,
    "rfc": "",
    "nombre_comercial": "CLIENTE DE PRUEBA",
    "razon_social": "CLIENTE DE PRUEBA S.A DE C.V",
    "direccion": {
        "id": 546,
        "municipio": "Hermosillo",
        "localidad": "Hermosillo",
        "estado": "Sonora",
        "calle": "campeche",
        "colonia": "San Benito",
        "cp": "83190",
        "telefono": "",
        "email": "",
        "numero_e": "xx",
        "numero_i": "",
        "pais_residencia": "MX",
        "latitud": "xxxx",
        "longitud": "xxxx",
        "referencia": null
    },
    "limite_credito": "10000.00",
    "saldo": 0.0
}
```

{% endtab %}
{% endtabs %}

### Campos de respuesta 201 Created

<table><thead><tr><th width="164.28125">Name</th><th width="99.359375">Type</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>integer</td><td>Identificador único del cliente.</td></tr><tr><td>rfc</td><td>string</td><td>RFC del cliente.</td></tr><tr><td>nombre_comercial</td><td>string</td><td>Nombre comercial del cliente.</td></tr><tr><td>razon_social</td><td>string</td><td>Razón social o nombre fiscal del cliente.</td></tr><tr><td>direccion</td><td>object</td><td>Objeto de la dirección del cliente.</td></tr><tr><td>limite_credito</td><td>number</td><td>Monto máximo de crédito autorizado para el cliente.</td></tr><tr><td>saldo</td><td>decimal</td><td>Saldo en monedero del cliente.</td></tr></tbody></table>

<details>

<summary>Dirección <mark style="color:$info;">( <code>direccion</code> )</mark></summary>

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

***

## Actualizar contacto de cliente

Editar un contacto especifico de un cliente.

&#x20;<mark style="color:green;">**POST**</mark> `https://{clave}.admintotal.com/api/v2/clientes/`<mark style="color:orange;">`{cliente_id}`</mark>`/contactos/`<mark style="color:orange;">`{contacto_id}`</mark> `/`

Ejemplo: \
`https://{clave}.admintotal.com/api/v2/clientes/`<mark style="color:orange;">`1`</mark>`/contactos/`<mark style="color:orange;">`1`</mark>`/`

### Request Body

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="Ejemplo Body" %}
{% code overflow="wrap" %}

```json
{
    "id": 109,
    "nombre": "Contacto de Prueba",
    "celular": "",
    "telefono": "",
    "email": "",
    "puesto": "",
    "extension": "",
    "factura": true,
    "cancelacion_factura": false,
    "remision": false,
    "cotizacion_c": false,
    "cotizacion_p": false,
    "garantia_p": true,
    "orden_compra": false,
    "estado_cuenta": false,
    "auxiliar_movimientos": false,
    "auxiliar_movimientos_cxp": false,
    "devolucion": false,
    "notificaciones_pago": false,
    "sucursal": null,
    "devolucion_cxp": false,
    "recepcion_pago": false
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Respuesta 201 Created

{% tabs %}
{% tab title="201 Created" %}

```json
{
    "nombre": "Juan Pérez",
    "celular": "6623070707",
    "telefono": "",
    "email": "juanperez@admintotal.com",
    "puesto": "",
    "extension": "",
    "factura": false,
    "cancelacion_factura": false,
    "remision": false,
    "cotizacion_c": false,
    "cotizacion_p": false,
    "garantia_p": false,
    "orden_compra": false,
    "estado_cuenta": false,
    "auxiliar_movimientos": false,
    "auxiliar_movimientos_cxp": false,
    "devolucion": false,
    "notificaciones_pago": false,
    "sucursal": null,
    "devolucion_cxp": false,
    "recepcion_pago": false
}
```

{% endtab %}
{% endtabs %}

### Campos para crear y de respuesta para actualizar contacto

<table><thead><tr><th width="247.12109375">Name</th><th width="104.40234375">Type</th><th width="398.26953125">Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del contacto.</td></tr><tr><td><code>nombre</code></td><td>string</td><td>Nombre del contacto.</td></tr><tr><td><code>celular</code></td><td>string</td><td>Teléfono celular del contacto.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Teléfono del contacto.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo del contacto.</td></tr><tr><td><code>puesto</code></td><td>string</td><td>Puesto del contacto</td></tr><tr><td><code>extencion</code></td><td>string</td><td>Extensión del contacto.</td></tr><tr><td><code>factura</code></td><td>boolean</td><td>Envíos de documentos: Facturas.</td></tr><tr><td><code>cancelacion_factura</code></td><td>boolean</td><td>Envíos de documentos: Cancelar facturas.</td></tr><tr><td><code>remision</code></td><td>boolean</td><td>Envíos de documentos: Remisiones.</td></tr><tr><td><code>cotizacion_c</code></td><td>boolean</td><td>Envíos de documentos: Cotizaciones de cliente.</td></tr><tr><td><code>cotizacion_p</code></td><td>boolean</td><td>Envíos de documentos: Cotizaciones de proveedor.</td></tr><tr><td><code>garantia_p</code></td><td>boolean</td><td>Envíos de documentos: Garantía proveedor.</td></tr><tr><td><code>orden_compra</code></td><td>boolean</td><td>Envíos de documentos: Órdenes de compra.</td></tr><tr><td><code>estado_cuenta</code></td><td>boolean</td><td>Envíos de documentos: Estados de cuenta.</td></tr><tr><td><code>auxiliar_movimientos</code></td><td>boolean</td><td>Envíos de documentos: Auxiliar de movimientos de clientes.</td></tr><tr><td><code>auxiliar_movimientos_cxp</code></td><td>boolean</td><td>Envíos de documentos: Auxiliar de movimientos de proveedores.</td></tr><tr><td><code>devolucion</code></td><td>boolean</td><td>Envíos de documentos: Devoluciones, Descuentos y CFDI Egresos.</td></tr><tr><td><code>notificaciones_pago</code></td><td>boolean</td><td>Envíos de documentos: Enviar notificaciones de pago.</td></tr><tr><td><code>sucursal</code></td><td>integer</td><td>Identificador único de la sucursal.</td></tr><tr><td><code>devolucion_cxp</code></td><td>boolean</td><td>Envíos de documentos: Devoluciones de proveedor.</td></tr><tr><td><code>recepcion_pago</code></td><td>boolean</td><td>Envíos de documentos: Recepción de pago.</td></tr></tbody></table>

## Errores HTTP

Posibles códigos de error que puedes encontrar al consumir este recurso.

<table><thead><tr><th width="170.59765625"></th><th width="128.9375"></th><th width="215.58984375"></th><th></th></tr></thead><tbody><tr><td><h4><mark style="color:$warning;"><code>400</code></mark> </h4><p>Solicitud invalida</p></td><td><h4><mark style="color:$danger;"><code>403</code></mark> </h4><p>Sin permiso</p></td><td><h4><mark style="color:$danger;"><code>404</code></mark><br></h4><p>Registro no encontrado</p></td><td><h4><mark style="color:$danger;"><code>500</code></mark> </h4><p>Error interno del servidor</p></td></tr></tbody></table>


# Centros de responsabilidad

Consultar y crear Centros de Responsabilidad disponibles en Admintotal.

## Endpoints disponibles

<table><thead><tr><th width="101.54296875">Method</th><th width="602.546875">Endpoint</th></tr></thead><tbody><tr><td> <mark style="color:blue;"><strong>GET</strong></mark> </td><td>Obtiene la lista de centros de responsabilidad<br><code>https://{clave}.admintotal.com/api/v2/centros_responsabilidad/</code></td></tr><tr><td> <mark style="color:blue;"><strong>GET</strong></mark> </td><td>Obtiene un centro específico<br><code>https://{clave}.admintotal.com/api/v2/centros_responsabilidad/:id/</code></td></tr><tr><td> <mark style="color:green;"><strong>POST</strong></mark> </td><td>Crea un nuevo centro de responsabilidad<br><code>https://{clave}.admintotal.com/api/v2/centros_responsabilidad/</code></td></tr></tbody></table>

## Obtiene la lista de centros de responsabilidad

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/centros_responsabilidad/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="200 OK" %}

<pre class="language-json"><code class="lang-json">"count": 8,
    "next": "http://{clave}.admintotal.com/api/v2/entradas_almacen/",
<strong>    "previous": null,
</strong>    "results": [
        {
            "id": 1,
            "numero": "001",
            "nombre": "SURSAL EJEMPLO",
            "padre": "SUCURSAL PADRE",
            "tipo": "CeCo",
            "responsable": "JUAN PEREZ"
        }
    ]
}
</code></pre>

{% endtab %}
{% endtabs %}

## Obtener un centro de responsabilidad.

<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/centros_responsabilidad/:id/`

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="200 OK" %}

```json
{
    "id": 1,
    "numero": "001",
    "nombre": "SURSAL EJEMPLO",
    "padre": "SUCURSAL PADRE",
    "tipo": "CeCo",
    "responsable": "JUAN PEREZ"
}
```

{% endtab %}
{% endtabs %}

### Campos de respuesta

{% hint style="info" %}
Algunos campos utilizan valores distintos entre la solicitud y la respuesta.\
En la solicitud, `padre`, `tipo` y `responsable` reciben identificadores internos. \
En la respuesta, estos campos se representan mediante valores descriptivos para facilitar su lectura.
{% endhint %}

<table><thead><tr><th width="127.65625">Name</th><th width="100.640625">Type</th><th>Description</th><th width="149.56640625">Values</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del centro de responsabilidad.</td><td>—</td></tr><tr><td><code>numero</code></td><td>string</td><td>Número o código asignado al centro de responsabilidad.</td><td>—</td></tr><tr><td><code>nombre</code></td><td>string</td><td>Nombre asignado al centro de responsabilidad.</td><td>—</td></tr><tr><td><code>padre</code></td><td>string</td><td>Centro de responsabilidad asignado como padre al centro actual.</td><td>—</td></tr><tr><td><code>tipo</code></td><td>string</td><td>Tipo de Centro de responsabilidad.</td><td><code>1</code> = CeCo<br><code>2</code> = CeBe</td></tr><tr><td><code>responsable</code></td><td>string</td><td>Responsable al centro de responsabilidad.</td><td>—</td></tr></tbody></table>

***

## Crear un centro de responsabilidad.

<mark style="color:green;">**POST**</mark>  `https://{clave}.admintotal.com/api/v2/centros_responsabilidad/`&#x20;

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description           |
| ------------ | ------ | --------------------- |
| Api-key      | string | Toke de autenticacion |
| {% endtab %} |        |                       |

{% tab title="201 Created" %}

```json
{
    "id": 187,
    "numero": "002",
    "nombre": "SURSAL CREADA EJEMPLO",
    "padre": "SUCURSAL PADRE",
    "tipo": "CeBe",
    "responsable": "Pedro López"
}
```

{% endtab %}
{% endtabs %}

### Campos de la solicitud

{% hint style="info" %}
Algunos campos utilizan valores distintos entre la solicitud y la respuesta.\
En la solicitud, `padre`, `tipo` y `responsable` reciben identificadores internos. \
En la respuesta, estos campos se representan mediante valores descriptivos para facilitar su lectura.
{% endhint %}

<table><thead><tr><th width="127.65625">Name</th><th width="100.640625">Type</th><th width="115.3046875">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>numero</code></td><td>string</td><td>Si</td><td>Número o código asignado al centro de responsabilidad.</td></tr><tr><td><code>nombre</code></td><td>string</td><td>Si</td><td>Nombre asignado al centro de responsabilidad.</td></tr><tr><td><code>padre</code></td><td>string</td><td>No</td><td>Centro de responsabilidad asignado como padre al centro actual.</td></tr><tr><td><code>tipo</code></td><td>string</td><td>Si</td><td>Tipo de Centro de responsabilidad.</td></tr><tr><td><code>responsable</code></td><td>string</td><td>No</td><td>Responsable al centro de responsabilidad.</td></tr></tbody></table>

***

## Errores HTTP

Posibles códigos de error que puedes encontrar al consumir este recurso.

<table><thead><tr><th width="170.59765625"></th><th width="128.9375"></th><th width="215.58984375"></th><th></th></tr></thead><tbody><tr><td><h4><mark style="color:$warning;"><code>400</code></mark> </h4><p>Solicitud invalida</p></td><td><h4><mark style="color:$danger;"><code>403</code></mark> </h4><p>Sin permiso</p></td><td><h4><mark style="color:$danger;"><code>404</code></mark><br></h4><p>Registro no encontrado</p></td><td><h4><mark style="color:$danger;"><code>500</code></mark> </h4><p>Error interno del servidor</p></td></tr></tbody></table>


# Consumo Interno

## Obtener listado de Consumo Interno

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/consumo_interno/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
{
    "count": 391,
    "next": "https://{clave}.admintotal.com/api/v2/movimientos/consumo_interno/",
    "previous": null,
    "results": [
        {
            "id": 573439,
            "status": 1,
            "almacen": 9,
            "fecha": "2026-03-03",
            "fecha_vencimiento": "2026-03-03",
            "iva": "0.00",
            "subtotal": "0.00",
            "total": "0.0",
            "uso_cfdi": null,
            "comentarios": "",
            "mostrar_comentarios": false,
            "forma_pago": null,
            "detalles": [],
            "creado": "2026-03-03T10:25:54.770552-07:00",
            "xml_timbrado": "",
            "cfdi_uuid": "",
            "cfdi_status": "",
            "cancelado": false,
            "motivo_cancelacion": "",
            "usuario_cancelacion": null,
            "fecha_cancelacion": null,
            "fecha_entrega": null,
            "hora_entrega_a": null,
            "hora_entrega_b": null,
            "status_display": "Pendientes",
            "direccion_entrega": null,
            "folio": 604,
            "folio_completo": "604",
            "vendedor": "",
            "url_pdf": "",
            "cliente": [],
            "motivo": ""
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un solo Consumo Interno

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/consumo_interno/:id`

#### Path Parameters

| Name | Type    | Description            |
| ---- | ------- | ---------------------- |
| ID   | Integer | ID del Consumo Interno |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="First Tab" %}

```
{
    "id": 573439,
    "status": 1,
    "almacen": 9,
    "fecha": "2026-03-03",
    "fecha_vencimiento": "2026-03-03",
    "iva": "0.00",
    "subtotal": "0.00",
    "total": "0.00",
    "uso_cfdi": null,
    "comentarios": "",
    "mostrar_comentarios": false,
    "forma_pago": null,
    "detalles": [
        {
            "id": 1831246,
            "producto": {
                "id": 37496,
                "codigo": "PRODUCTO DE EJEMPLO",
                "linea": "LINEA DE EJEMPLO",
                "descripcion": "Lorem ipsum dolor..."
            },
            "cantidad": 4.0,
            "descripcion_adicional": "",
            "unidad": {
                "id": 1531,
                "nombre": "PIEZA",
                "factor": "1.00000000"
            },
            "precio_um": "0.0",
            "precio_unitario": "0.0",
            "importe": "0.0",
            "total": "0.0",
            "iva": "0.0",
            "ieps": "0.0"
        }
    ],
    "creado": "2026-03-03T10:25:54.770552-07:00",
    "xml_timbrado": "",
    "cfdi_uuid": "",
    "cfdi_status": "",
    "cancelado": false,
    "motivo_cancelacion": "",
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "fecha_entrega": null,
    "hora_entrega_a": null,
    "hora_entrega_b": null,
    "status_display": "Pendientes",
    "direccion_entrega": null,
    "folio": 604,
    "folio_completo": "604",
    "vendedor": "",
    "url_pdf": "",
    "campos_personalizados": [],
    "movimiento_origen": null,
    "movimientos_relacionados": [],
    "cliente": {
        "activo": false,
        "tipo_cliente": null,
        "razon_social": "",
        "codigo": "",
        "referencia": "",
        "nombre_comercial": "",
        "sitio_web": "",
        "rfc": "",
        "curp": "",
        "limite_credito": null,
        "representante_legal": "",
        "direccion": {
            "municipio": "",
            "localidad": "",
            "estado": "",
            "calle": "",
            "colonia": "",
            "cp": "",
            "telefono": "",
            "email": "",
            "numero_e": "",
            "numero_i": "",
            "pais_residencia": "",
            "latitud": null,
            "longitud": null,
            "referencia": ""
        },
        "bloquear_vencido": false,
        "dias_cortar_credito": null,
        "dias_credito": null,
        "regimen_fiscal": null
    },
    "motivo": ""
}
```

{% endtab %}
{% endtabs %}

## Crear un Consumo Interno

<mark style="color:$success;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/consumo_interno/`&#x20;

#### Headers

<table><thead><tr><th>Name</th><th width="202.13671875">Type</th><th>Description</th></tr></thead><tbody><tr><td>Api-key</td><td>String</td><td>Token de autenticación</td></tr></tbody></table>

#### Request Body

<table><thead><tr><th>Name</th><th width="196.09765625">Type</th><th>Description</th></tr></thead><tbody><tr><td>almacen</td><td>Integer</td><td>ID del almacén</td></tr><tr><td>centro_responsabilidad</td><td>Integer</td><td>ID del centro de responsabilidad</td></tr><tr><td>cuenta_gasto</td><td>Integer</td><td>ID de la cuenta de gasto</td></tr><tr><td>detalles</td><td>Array</td><td><p>Lista de objetos con la información de los productos del movimiento de consumo interno (para especificar el producto puede ser por producto, producto_codigo o producto_codigo_proveedor), ejemplo: </p><pre><code>[
    {
      "cantidad": "1.00",
      "producto_codigo": "PRODUCTO DE EJEMPLO",
      "descripcion": "Liquidar orden de compra"
      "precio_unitario": "100.00",
      "um": {
        "factor": 1,
        "nombre": "Pieza"
      }
    }
]
</code></pre></td></tr><tr><td>comentarios</td><td>String</td><td>Comentario para el registro del consumo interno</td></tr></tbody></table>

{% tabs %}
{% tab title="200" %}

```
{
    "id": 573456,
    "status": 1,
    "almacen": 9,
    "fecha": "2026-03-05",
    "fecha_vencimiento": "2026-03-05",
    "iva": "0.000000",
    "subtotal": "0.00",
    "total": "0.000000",
    "uso_cfdi": null,
    "comentarios": "Comentario de ejemplo",
    "mostrar_comentarios": false,
    "forma_pago": null,
    "detalles": [],
    "creado": "2026-03-05T12:39:12.426583-07:00",
    "xml_timbrado": "",
    "cfdi_uuid": "",
    "cfdi_status": "",
    "cancelado": false,
    "motivo_cancelacion": "",
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "fecha_entrega": null,
    "hora_entrega_a": null,
    "hora_entrega_b": null,
    "status_display": "Pendientes",
    "direccion_entrega": null,
    "folio": 605,
    "folio_completo": "605",
    "vendedor": "",
    "url_pdf": "",
    "cliente": [],
    "motivo": "Comentario de ejemplo"
}
```

{% endtab %}
{% endtabs %}


# Cotizaciones

## Obtener un listado de Cotizaciones

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/cotizaciones/`

#### Parámetros GET disponibles

| Name                   | Type    | Description                                                                 |
| ---------------------- | ------- | --------------------------------------------------------------------------- |
| cliente                | integer | Filtro por ID de cliente                                                    |
| cliente\_razon\_social | string  | Filtro por razón social de cliente                                          |
| fecha                  | string  | Filtro por fecha (formato YYYY-MM-DD)                                       |
| desde                  | string  | Filtro por fecha donde sea mayor o igual a este valor  (formato YYYY-MM-DD) |
| hasta                  | string  | Filtro por fecha donde sea menor o igual a este valor  (formato YYYY-MM-DD) |
| prospecto              | integer | Filtro por ID de prospecto                                                  |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 368,
    "next": "https://{clave}.admintotal.com/api/v2/cotizaciones/",
    "previous": null,
    "results": [
        {
            "id": 25319,
            "saldo": "0.00",
            "folio": 222,
            "serie": "",
            "orig_total": "297.000000",
            "moneda": {
                "nombre": "MXN"
            },
            "cancelado": false,
            "almacen": 1545,
            "motivo_cancelacion": "",
            "folio_completo": "222",
            "fecha": "09/11/2021",
            "fecha_vencimiento": "19/11/2021",
            "folio_serie": "000222",
            "vencida": false,
            "cliente": {
                "id": 1522,
                "activo": true,
                "tipo_cliente": 1,
                "razon_social": "PUBLICO EN GENERAL",
                "codigo": "",
                "referencia": "",
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "XAXX010101000",
                "curp": "",
                "limite_credito": "10000000.00",
                "representante_legal": "",
                "direccion": {
                    "id": 3283,
                    "municipio": "",
                    "localidad": "",
                    "estado": "",
                    "calle": ".",
                    "colonia": "",
                    "cp": "",
                    "telefono": "",
                    "email": "",
                    "numero_e": "",
                    "numero_i": "",
                    "pais_residencia": "",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": ""
                },
                "bloquear_vencido": false,
                "dias_cortar_credito": 10,
                "saldo_pendiente": "1796182.8100",
                "dias_credito": 10
            }
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Crear una Cotización

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/cotizaciones/`

Se tiene que especificar como mínimo un dato de estos datos del cliente (cliente, cliente\_rfc o cliente\_razon\_social)

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>almacen</td><td>String</td><td>ID del almacén (en caso de no especificar se tomará el primer almacén)</td></tr><tr><td>cliente</td><td>String</td><td>ID de cliente (este parámetro es opcional si se especifica cliente_razon_social) </td></tr><tr><td>cliente_email</td><td>String</td><td>Email del cliente</td></tr><tr><td>cliente_razon_social</td><td>String</td><td>Razón social del cliente (este parámetro es opcional si se especifica cliente)</td></tr><tr><td>cliente_telefono</td><td>String</td><td>Teléfono del cliente</td></tr><tr><td>detalles</td><td>Array</td><td><p>Lista de objetos con la información de los productos de la factura (para especificar el producto puede ser por producto, producto_codigo o producto_codigo_proveedor), ejemplo: </p><pre class="language-json"><code class="lang-json">[
    {
      "cantidad": "1.00",
      "producto_codigo": "CAPCON",
      "descripcion": "Descripción del producto",
      "precio_unitario": "100.00",
      "um": {
        "factor": 1,
        "nombre": "Pieza"
      }
    }
]
</code></pre></td></tr><tr><td>fecha</td><td>String</td><td>Fecha de la cotización en formato ISO</td></tr><tr><td>cliente_rfc</td><td>String</td><td>RFC del cliente (este parámetro es opcional si se especifica cliente)</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 368,
    "next": "https://{clave}.admintotal.com/api/v2/cotizaciones/",
    "previous": null,
    "results": [
        {
            "id": 25319,
            "saldo": "0.00",
            "folio": 222,
            "serie": "",
            "orig_total": "297.000000",
            "moneda": {
                "nombre": "MXN"
            },
            "cancelado": false,
            "almacen": 1545,
            "motivo_cancelacion": "",
            "folio_completo": "222",
            "fecha": "09/11/2021",
            "fecha_vencimiento": "19/11/2021",
            "folio_serie": "000222",
            "vencida": false,
            "cliente": {
                "id": 1522,
                "activo": true,
                "tipo_cliente": 1,
                "razon_social": "PUBLICO EN GENERAL",
                "codigo": "",
                "referencia": "",
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "XAXX010101000",
                "curp": "",
                "limite_credito": "10000000.00",
                "representante_legal": "",
                "direccion": {
                    "id": 3283,
                    "municipio": "",
                    "localidad": "",
                    "estado": "",
                    "calle": ".",
                    "colonia": "",
                    "cp": "",
                    "telefono": "",
                    "email": "",
                    "numero_e": "",
                    "numero_i": "",
                    "pais_residencia": "",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": ""
                },
                "bloquear_vencido": false,
                "dias_cortar_credito": 10,
                "saldo_pendiente": "1796182.8100",
                "dias_credito": 10
            }
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Cuenta

## Obtener listado de entradas almacén.

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/cuentas/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
"count": 8,
    "next": "http://{clave}.admintotal.com/api/v2/cuentas/",
    "previous": null,
    "results": [
        {
            "id": 1,
            "padre": 1,
            "numero_cuenta": "704.23.02",
            "descripcion": "Descripción de ejemplo",
            "alias": null,
            "naturaleza": "Acreedora",
            "clasificacion": "Ingresos"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener una cuenta.

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/cuentas/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
{
    "id": 1,
    "padre": 1,
    "numero_cuenta": "704.23.02",
    "descripcion": "Descripción de ejemplo",
    "alias": null,
    "naturaleza": "Acreedora",
    "clasificacion": "Ingresos"
}
```

{% endtab %}
{% endtabs %}


# Cuentas bancarias

## Obtener lista de cuentas bancarias

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/cuentas_bancarias/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 313,
    "next": "https://{clave}.admintotal.com/api/v2/cuentas_bancarias/",
    "previous": null,
    "results": [
        {
            "id": 1530,
            "activo": true,
            "banco": "BANORTE/IXE",
            "clabe": "11111111111111111",
            "saldo_inicial": "1000.00",
            "descripcion": "Cuenta d Prueba",
            "moneda": "MXN",
            "cuenta_contable": "102.01.01",
            "tipo_cuenta": "Tarjeta de débito"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener una cuenta bancaria

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/cuentas_bancarias/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "id": 1530,
    "activo": true,
    "banco": "BANORTE/IXE",
    "clabe": "11111111111111111",
    "saldo_inicial": "1000.00",
    "descripcion": "Cuenta d Prueba",
    "moneda": "MXN",
    "cuenta_contable": "102.01.01",
    "tipo_cuenta": "Tarjeta de débito"
}
```

{% endtab %}
{% endtabs %}


# Empleado

## Obtener lista de Empleados

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/empleados/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 313,
    "next": "https://{clave}.admintotal.com/api/v2/empleados/",
    "previous": null,
    "results": [
        {
            "id": 1779,
            "usuario_creado": null,
            "usuario_modificado": null,
            "activo": true,
            "modificado": "2021-03-16T10:25:52.218862-07:00",
            "creado": "2021-03-16T10:25:52.204124-07:00",
            "comentarios": "",
            "metodo_pago": 0,
            "metodo_de_pago": null,
            "apodo": "",
            "empresa_rfc": "",
            "empresa_rfc_variable": "",
            "user": null,
            "clave": "0368",
            "tipo_nomina": "s",
            "nombre": "Fabian Alejandro",
            "apellido_paterno": "Abril",
            "apellido_materno": "Rondan",
            "almacen": 9,
            "es_vendedor": false,
            "es_repartidor": false,
            "almacenes": [],
            "tipo_cobro": false,
            "comision_venta": "0.00",
            "categoria": 1,
            "puesto": "",
            "direccion": {
                "id": 3924,
                "municipio": "",
                "localidad": "",
                "estado": "",
                "calle": "",
                "colonia": "",
                "cp": "",
                "telefono": "",
                "email": "",
                "numero_e": "",
                "numero_i": "",
                "pais_residencia": "",
                "latitud": "0.00000000",
                "longitud": "0.00000000",
                "referencia": ""
            },
            "rfc": "AIRF980120UP1",
            "celular": null,
            "curp": "AIRF980120HSRBNB03",
            "foto_empleado": null,
            "ife": null,
            "comprobante": null,
            "nss": "18199811946",
            "imss_umf": "",
            "sucursal_banco": "",
            "fecha_nacimiento": null,
            "lugar_nacimiento_estado": "",
            "lugar_nacimiento_ciudad": "",
            "tiene_infonavit": false,
            "tipo_infonavit": 0,
            "infonavit_numero": null,
            "infonavit_vsm": "0.00000",
            "infonavit_porcentaje": "0.0000",
            "infonavit_cuota_fija": "0.0000",
            "esta_activo": false,
            "salario": "0.00",
            "ultima_entrada": null,
            "fecha": "2021-03-16",
            "nombre_completo": "Abril Rondan Fabian Alejandro",
            "cuenta_bancaria": null,
            "banco_nombre": "",
            "cantidad_fija": "0.00",
            "cantidad_variable": "0.00",
            "clase": null,
            "factor_integracion": "1.04520",
            "num_empleado": "",
            "tipo_regimen": 2,
            "departamento_empleado": null,
            "clabe": "",
            "fecha_iniciorel_laboral": null,
            "tipo_contrato": "",
            "tipo_jornada": "",
            "riesgo_puesto": 0,
            "salario_diario_integrado": "0.000000",
            "registro_patronal": null,
            "meta_ventas": "0.00",
            "meta_utilidad": "0.00",
            "sexo": null,
            "estado_civil": null,
            "usa_aguinaldo": false,
            "usa_ptu": false,
            "ptu": 1,
            "tipo_empleado": null,
            "base_pago_sueldo": null,
            "clave_mesero": null,
            "numero_comanda_inicial": 1,
            "numero_comanda_final": null,
            "ac_no": null,
            "checador_monto_hora": "0.0000",
            "checador_monto_bono": "0.0000",
            "es_asesor_servicios": false,
            "es_tecnico_servicios": false,
            "vehiculo_entrega": null,
            "usa_prima_dominical": false,
            "dias": 6,
            "es_externo": false,
            "tercero": null,
            "licencia_conducir": null,
            "requiere_licencia_conducir": false,
            "numero_licencia": "",
            "tipo_licencia": null,
            "fecha_expedicion_licencia": null,
            "fecha_vencimiento_licencia": null,
            "pasaporte": null,
            "requiere_pasaporte": false,
            "numero_pasaporte": "",
            "fecha_expedicion_pasaporte": null,
            "fecha_vencimiento_pasaporte": null,
            "usar_salario_mixto": false,
            "tipo_trabajador": 1,
            "tipo_salario": 0,
            "jornada_reducida": 0,
            "tipo_gasto": null,
            "outsourcing": false,
            "fecha_termino_infonavit": null,
            "fecha_inicio_infonavit": null
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un Empleado

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/empleados/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 313,
    "next": "https://{clave}.admintotal.com/api/v2/empleados/",
    "previous": null,
    "results": [
        {
            "id": 1779,
            "usuario_creado": null,
            "usuario_modificado": null,
            "activo": true,
            "modificado": "2021-03-16T10:25:52.218862-07:00",
            "creado": "2021-03-16T10:25:52.204124-07:00",
            "comentarios": "",
            "metodo_pago": 0,
            "metodo_de_pago": null,
            "apodo": "",
            "empresa_rfc": "",
            "empresa_rfc_variable": "",
            "user": null,
            "clave": "0368",
            "tipo_nomina": "s",
            "nombre": "Fabian Alejandro",
            "apellido_paterno": "Abril",
            "apellido_materno": "Rondan",
            "almacen": 9,
            "es_vendedor": false,
            "es_repartidor": false,
            "almacenes": [],
            "tipo_cobro": false,
            "comision_venta": "0.00",
            "categoria": 1,
            "puesto": "",
            "direccion": {
                "id": 3924,
                "municipio": "",
                "localidad": "",
                "estado": "",
                "calle": "",
                "colonia": "",
                "cp": "",
                "telefono": "",
                "email": "",
                "numero_e": "",
                "numero_i": "",
                "pais_residencia": "",
                "latitud": "0.00000000",
                "longitud": "0.00000000",
                "referencia": ""
            },
            "rfc": "AIRF980120UP1",
            "celular": null,
            "curp": "AIRF980120HSRBNB03",
            "foto_empleado": null,
            "ife": null,
            "comprobante": null,
            "nss": "18199811946",
            "imss_umf": "",
            "sucursal_banco": "",
            "fecha_nacimiento": null,
            "lugar_nacimiento_estado": "",
            "lugar_nacimiento_ciudad": "",
            "tiene_infonavit": false,
            "tipo_infonavit": 0,
            "infonavit_numero": null,
            "infonavit_vsm": "0.00000",
            "infonavit_porcentaje": "0.0000",
            "infonavit_cuota_fija": "0.0000",
            "esta_activo": false,
            "salario": "0.00",
            "ultima_entrada": null,
            "fecha": "2021-03-16",
            "nombre_completo": "Abril Rondan Fabian Alejandro",
            "cuenta_bancaria": null,
            "banco_nombre": "",
            "cantidad_fija": "0.00",
            "cantidad_variable": "0.00",
            "clase": null,
            "factor_integracion": "1.04520",
            "num_empleado": "",
            "tipo_regimen": 2,
            "departamento_empleado": null,
            "clabe": "",
            "fecha_iniciorel_laboral": null,
            "tipo_contrato": "",
            "tipo_jornada": "",
            "riesgo_puesto": 0,
            "salario_diario_integrado": "0.000000",
            "registro_patronal": null,
            "meta_ventas": "0.00",
            "meta_utilidad": "0.00",
            "sexo": null,
            "estado_civil": null,
            "usa_aguinaldo": false,
            "usa_ptu": false,
            "ptu": 1,
            "tipo_empleado": null,
            "base_pago_sueldo": null,
            "clave_mesero": null,
            "numero_comanda_inicial": 1,
            "numero_comanda_final": null,
            "ac_no": null,
            "checador_monto_hora": "0.0000",
            "checador_monto_bono": "0.0000",
            "es_asesor_servicios": false,
            "es_tecnico_servicios": false,
            "vehiculo_entrega": null,
            "usa_prima_dominical": false,
            "dias": 6,
            "es_externo": false,
            "tercero": null,
            "licencia_conducir": null,
            "requiere_licencia_conducir": false,
            "numero_licencia": "",
            "tipo_licencia": null,
            "fecha_expedicion_licencia": null,
            "fecha_vencimiento_licencia": null,
            "pasaporte": null,
            "requiere_pasaporte": false,
            "numero_pasaporte": "",
            "fecha_expedicion_pasaporte": null,
            "fecha_vencimiento_pasaporte": null,
            "usar_salario_mixto": false,
            "tipo_trabajador": 1,
            "tipo_salario": 0,
            "jornada_reducida": 0,
            "tipo_gasto": null,
            "outsourcing": false,
            "fecha_termino_infonavit": null,
            "fecha_inicio_infonavit": null
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Entradas Almacén

## Obtener listado de entradas almacén.

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/entradas_almacen/`

#### Headers

<table><thead><tr><th>Name</th><th width="157.73828125">Type</th><th>Description</th></tr></thead><tbody><tr><td>almacen</td><td>integer</td><td>Filtro por ID de almacén</td></tr><tr><td>tipo_movimiento</td><td>string</td><td>Filtrar por tipo de movimiento, las opciones disponibles son:<br>COMPRA<br>DEVOLUCION CLIENTE<br>ENTRADA AJUSTE<br>TRASPASO ENTRADA<br>INVENTARIO FISICO<br>CONVERSION ENTRADA<br>ENTRADA POR PRODUCCION</td></tr><tr><td>fecha</td><td>string</td><td>Filtro por fecha (formato YYYY-MM-DD)</td></tr></tbody></table>

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
"count": 8,
    "next": "http://{clave}.admintotal.com/api/v2/entradas_almacen/",
    "previous": null,
    "results": [
        {
            "id": 573158,
            "folio": 317,
            "almacen": 1552,
            "serie": "",
            "folio": 100,
            "folio_factura": "I62780",
            "fecha": "2026-03-05T09:36:29-07:00",
            "cancelado": false,
            "fecha_cancelacion": null,
            "tipo_movimiento": "COMPRA",
            "cfdi_uuid": "XXXXX-7A9E-4EE1-A371-AAAAA",
            "origen_creado": "Liquidar orden de compra",
            "detalles": []
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener una entrada almacén.

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/entradas_almacen/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
{
    "id": 573158,
    "saldo": "0.0",
    "folio": 317,
    "orig_total": "0.0",
    "cancelado": false,
    "almacen": 1552,
    "tipo_movimiento": "COMPRA",
    "origen_creado": "Liquidar orden de compra",
    "detalles": [
        {
            "id": 1831246,
            "producto": {
                "id": 37496,
                "codigo": "PRODUCTO DE EJEMPLO",
                "linea": "LINEA DE EJEMPLO",
                "descripcion": "Lorem ipsum dolor..."
            },
            "cantidad": 4.0,
            "descripcion_adicional": "",
            "unidad": {
                "id": 1531,
                "nombre": "PIEZA",
                "factor": "1.00000000"
            },
            "precio_um": "0.0",
            "precio_unitario": "0.0",
            "importe": "0.0",
            "total": "0.0",
            "iva": "0.0",
            "ieps": "0.0"
        }
    ],
    "proveedor": {
        "id": 8087,
        "activo": true,
        "tipo_cliente": 1,
        "razon_social": "CLIENTE DE PRUEBA S.A DE C.V",
        "codigo": "",
        "referencia": "",
        "nombre_comercial": "",
        "sitio_web": "",
        "rfc": "XXXXXXXXX",
        "curp": "",
        "limite_credito": "0.00",
        "representante_legal": "",
        "direccion": {
            "id": 546,
            "municipio": "Hermosillo",
            "localidad": "Hermosillo",
            "estado": "Sonora",
            "calle": "campeche",
            "colonia": "San Benito",
            "cp": "83190",
            "telefono": "",
            "email": "",
            "numero_e": "xx",
            "numero_i": "",
            "pais_residencia": "MX",
            "latitud": "xxxx",
            "longitud": "xxxx",
            "referencia": null
        },
        "bloquear_vencido": false,
        "dias_cortar_credito": 0,
        "dias_credito": 0,
        "regimen_fiscal": "XXX",
        "direccion_txt": "XXXXXXXXXXX",
        "almacen_precios": null,
        "clasificacion": null,
        "segmentacion": null
    }
}
```

{% endtab %}
{% endtabs %}


# Facturas

Consultar, editar o crear facturas a clientes

## Endpoints disponibles

<table><thead><tr><th width="127.837890625">Method</th><th>Endpoint</th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td><code>https://{clave}.admintotal.com/api/v2/movimientos/facturas/</code> </td></tr><tr><td><mark style="color:blue;"><strong>GET</strong></mark></td><td><code>https://{clave}.admintotal.com/api/v2/movimientos/facturas/{id}/</code> </td></tr><tr><td><mark style="color:green;"><strong>POST</strong></mark></td><td><code>https://{clave}.admintotal.com/api/v2/movimientos/facturas/</code></td></tr></tbody></table>

## Obtener el listado de facturas

Obtiene el listado de facturas registradas. \
La consulta puede limitarse utilizando los parámetros de filtrado disponibles.

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/movimientos/facturas/`&#x20;

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description            |
| ------------ | ------ | ---------------------- |
| Api-key      | string | Token de autenticacion |
| {% endtab %} |        |                        |

{% tab title="Parámetros GET" %}

<table><thead><tr><th width="220.041259765625">Name</th><th width="85.541015625">Type</th><th width="226.8460693359375">Description</th><th>Values</th></tr></thead><tbody><tr><td><code>cliente</code></td><td>integer</td><td>Filtro por identificador único del cliente.</td><td>—</td></tr><tr><td><code>cliente_razon_social</code></td><td>string</td><td>Filtro por razón social de cliente.</td><td>—</td></tr><tr><td><code>fecha</code></td><td>string</td><td>Filtro por fecha.</td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>desde</code></td><td>string</td><td>Filtro por fecha donde sea mayor o igual a este valor. </td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>hasta</code></td><td>string</td><td>Filtro por fecha donde sea menor o igual a este valor. </td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>uuid</code></td><td>string</td><td>Filtro por UUID.</td><td>—</td></tr><tr><td><code>folio</code></td><td>integer</td><td>Filtro por folio.</td><td>—</td></tr><tr><td><code>serie</code></td><td>string</td><td>Filtro por serie.</td><td>—</td></tr><tr><td><code>cancelado</code> </td><td>integer</td><td>Filtro por movimiento cancelado.</td><td><code>0</code>: Mostrará solo activos.<br><code>1</code>: Mostrará solo cancelados.</td></tr><tr><td><code>centro_responsabilidad</code></td><td>integer</td><td>Filtro por identificador único del centro de responsabilidad.</td><td>—</td></tr></tbody></table>
{% endtab %}

{% tab title="200 OK" %}

```json
}
    "count": 722,
    "next": "https://{clave}.admintotal.com/api/v2/clientes/",
    "previous": null,
    "results": [
        {
            "id": 4659569,
            "status": 1,
            "status_display": "Pendientes",
            "almacen": 9,
            "fecha": "2026-09-03",
            "fecha_vencimiento": "2026-09-03",
            "iva": "20.800000",
            "subtotal": "130.00",
            "total": "150.800000",
            "uso_cfdi": "G01",
            "comentarios": "",
            "mostrar_comentarios": true,
            "forma_pago": "01",
            "detalles": [
                {
                    "id": 5323921,
                    "factura": null,
                    "producto": 8355,
                    "cantidad": "1.0000",
                    "precio_unitario": "130.000000",
                    "importe": "130.000000",
                    "iva": "20.800000",
                    "ieps": "0.000000",
                    "entrega_domicilio": true
                }
            ],
            "creado": "2026-09-03T16:58:23.884366-07:00",
            "xml_timbrado": "",
            "cfdi_uuid": "",
            "cfdi_status": "",
            "cancelado": false,
            "motivo_cancelacion": "",
            "usuario_cancelacion": null,
            "fecha_cancelacion": null,
            "fecha_entrega": null,
            "hora_entrega_a": null,
            "hora_entrega_b": null,
            "factura_pagada": "Sí",
            "vendedor": "",
            "saldo": "150.80",
            "mensualidad": null,
            "condicion": "Contado",
            "poliza_texto": "",
            "descuento": "0.00",
            "moneda": "MXN",
            "direccion_entrega": {
                "id": 32980,
                "municipio": "Hermosillo",
                "localidad": "Hermosillo",
                "estado": "Sonora",
                "calle": "Articulo 123",
                "colonia": "Misión del sol",
                "cp": "83100",
                "telefono": "",
                "email": "",
                "numero_e": "93A",
                "numero_i": "",
                "pais_residencia": "MEX",
                "latitud": null,
                "longitud": null,
                "referencia": ""
            },
            "folio": 208,
            "folio_completo": "F208",
            "centro_responsabilidad": {
                "id": 4,
                "numero": "3",
                "nombre": "TERCERO"
            },
            "url_pdf": "http://{clave}.admintotal.com/admin/pdf_salida/4659569/",
            "cliente": {
                "id": 1850,
                "activo": true,
                "tipo_cliente": 2,
                "razon_social": "Empresa cliente",
                "codigo": "",
                "referencia": "",
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "HHH140305BI0",
                "curp": "",
                "limite_credito": "0.00",
                "representante_legal": "",
                "direccion": {
                    "id": 24827,
                    "municipio": "Hermosillo, Hermosillo",
                    "localidad": "",
                    "estado": "Sonora",
                    "calle": "Blvd Antonio Quiroga",
                    "colonia": "Real de Quiroga",
                    "cp": "83224",
                    "telefono": "",
                    "email": "email@empresa.com",
                    "numero_e": "142",
                    "numero_i": "",
                    "pais_residencia": "",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": null
                },
                "bloquear_vencido": true,
                "dias_cortar_credito": 0,
                "dias_credito": 0,
                "regimen_fiscal": "616",
                "creado": "2023-01-31T11:06:18.440186-07:00",
                "usuario_creado": 23,
                "direccion_txt": "Blvd Antonio Quiroga 142  C.P. 83224 Hermosillo, Sonora.",
                "almacen_precios": {
                    "id": 9,
                    "codigo": "001",
                    "nombre": "001 Matriz"
                },
                "clasificacion": null,
                "segmentacion": null
            },
            "metodo_pago": 0
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

### Campos principales facturas

<table><thead><tr><th width="218.82464599609375">Name</th><th width="94.10546875">Type</th><th>Description</th><th>Values</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único de la factura creada.</td><td>—</td></tr><tr><td><code>status</code></td><td>integer</td><td>Identificador numérico del estado actual de la factura.</td><td>—</td></tr><tr><td><code>status_display</code></td><td>string</td><td>Descripción legible del estado actual de la factura.</td><td>—</td></tr><tr><td><code>almacen</code></td><td>integer</td><td>Identificador del almacén asociado a la factura.</td><td>—</td></tr><tr><td><code>fecha</code></td><td>string</td><td>Fecha de la factura.</td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>fecha_vencimiento</code></td><td>string</td><td>Fecha de vencimiento de la factura.</td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>iva</code></td><td>decimal</td><td>Importe total correspondiente al IVA.</td><td>—</td></tr><tr><td><code>subtotal</code></td><td>decimal</td><td>Importe de la factura antes de impuestos.</td><td>—</td></tr><tr><td><code>total</code></td><td>decimal</td><td>Importe total de la factura.</td><td>—</td></tr><tr><td><code>uso_cfdi</code></td><td>string</td><td>Clave de uso del CFDI asignada a la factura.</td><td>—</td></tr><tr><td><code>comentarios</code></td><td>string</td><td>Comentarios asociados a la factura.</td><td>—</td></tr><tr><td><code>mostrar_comentarios</code></td><td>boolean</td><td>Configurar si se desea mostrar los comentarios ingresados en la factura.</td><td>—</td></tr><tr><td><code>forma_pago</code></td><td>string</td><td>Clave SAT correspondiente a la forma de pago. Si no se especifica, se intentará utilizar la configurada en el cliente.</td><td>—</td></tr><tr><td><code>detalles</code></td><td>array</td><td>Productos incluidos en la factura.</td><td>—</td></tr><tr><td><code>creado</code></td><td>datetime</td><td>Fecha y hora en que se creó el registro.</td><td>Formato: YYYY-MM-DDTHH:mm:ss±hh:mm</td></tr><tr><td><code>xml_timbrado</code></td><td>string</td><td>Timbre Fiscal Digital autorizado y validado por el SAT.</td><td>—</td></tr><tr><td><code>cfdi_uuid</code></td><td>string</td><td>UUID del xml de la factura.</td><td>—</td></tr><tr><td><code>cfdi_status</code></td><td>string</td><td>Guarda el mensaje de error arrojado al intentar timbrar.</td><td>—</td></tr><tr><td><code>cancelado</code></td><td>boolean</td><td>Saber si la factura se encuentra cancelada o no.</td><td>—</td></tr><tr><td><code>motivo_cancelacion</code></td><td>string</td><td>Motivo por el cual la factura fue cancelada.</td><td>—</td></tr><tr><td><code>usuario_cancelacion</code></td><td>integer</td><td>Identificador numérico del usuario que canceló la factura.</td><td>—</td></tr><tr><td><code>fecha_cancelacion</code></td><td>string</td><td>Fecha de cancelación de la factura.</td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>fecha_entrega</code></td><td>string</td><td>Fecha de entrega de la factura.</td><td>Formato: YYYY-MM-DD</td></tr><tr><td><code>hora_entrega_a</code></td><td>string</td><td>Hora de inicio de la entrega.</td><td>Formato: HH:MM AM/PM</td></tr><tr><td><code>hora_entrega_b</code></td><td>string</td><td>Hora de fin de la entrega.</td><td>Formato: HH:MM AM/PM</td></tr><tr><td><code>factura_pagada</code></td><td>string</td><td>Indicador de la factura se encuentra pagada.</td><td>—</td></tr><tr><td><code>vendedor</code></td><td>string</td><td>Nombre del vendedor de la factura.</td><td>—</td></tr><tr><td><code>saldo</code></td><td>decimal</td><td>Total neto de la factura.</td><td>—</td></tr><tr><td><code>mensualidad</code></td><td>integer</td><td>Identificador numérico de la mensualidad asociada a la factura.</td><td>—</td></tr><tr><td><code>condicion</code></td><td>string</td><td>Plazo para la liquidación de la factura.</td><td>—</td></tr><tr><td><code>poliza_texto</code></td><td>string</td><td>Número de Póliza.</td><td>—</td></tr><tr><td><code>descuento</code></td><td>decimal</td><td>Descuento aplicado para la factura.</td><td>—</td></tr><tr><td><code>moneda</code></td><td>string</td><td>Moneda en la que se expresan los importes de la factura.</td><td>—</td></tr><tr><td><code>direccion_entrega</code></td><td>object</td><td>Dirección de entrega asociada a la factura.</td><td>—</td></tr><tr><td><code>folio</code></td><td>integer</td><td>Número de folio asignado a la factura.</td><td>—</td></tr><tr><td><code>folio_completo</code></td><td>string</td><td>Folio de la factura con el formato utilizado por el sistema.</td><td>—</td></tr><tr><td><code>centro_responsabilidad</code></td><td>object</td><td>Centro de responsabilidad ligado a la factura.</td><td>—</td></tr><tr><td><code>url_pdf</code></td><td>string</td><td>URL del PDF de la factura.</td><td>—</td></tr><tr><td><code>cliente</code></td><td>object</td><td>Información del cliente asociado a la factura.</td><td>—</td></tr><tr><td><code>metodo_pago</code></td><td>string</td><td><p>Método de pago del CFDI.</p><p>Valores permitidos: <code>PPD</code> o <code>PUE</code>. Si no se especifica, se intentará utilizar el configurado en el cliente.</p></td><td>—</td></tr></tbody></table>

<details>

<summary><strong>Status</strong> <mark style="color:$info;">( <code>status</code> )</mark></summary>

<table><thead><tr><th width="135.4453125">Value</th><th width="336.953125">Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>Pendiente</td></tr><tr><td><code>2</code></td><td>Parciales</td></tr><tr><td><code>3</code></td><td>No pendiente</td></tr><tr><td><code>4</code></td><td>Cerrado</td></tr><tr><td><code>5</code></td><td>Aprobado</td></tr><tr><td><code>21</code></td><td>En proceso</td></tr><tr><td><code>22</code></td><td>Terminada</td></tr><tr><td><code>23</code></td><td>Entregada</td></tr><tr><td><code>24</code></td><td>Cancelada</td></tr><tr><td><code>25</code></td><td>Cerrada por cancelación backorder</td></tr><tr><td><code>30</code></td><td>Incidencia</td></tr></tbody></table>

</details>

<details>

<summary><strong>Formas de pago</strong> <mark style="color:$info;">( <code>forma_pago</code> )</mark></summary>

<table><thead><tr><th width="185.12847900390625">Value</th><th width="347.3837890625">Description</th></tr></thead><tbody><tr><td><code>01</code></td><td>Efectivo.</td></tr><tr><td><code>02</code></td><td>Cheque nominativo.</td></tr><tr><td><code>03</code></td><td>Transferencia electrónica de fondos.</td></tr><tr><td><code>04</code></td><td>Tarjeta de crédito.</td></tr><tr><td><code>05</code></td><td>Monedero electrónico.</td></tr><tr><td><code>06</code></td><td>Dinero electrónico.</td></tr><tr><td><code>08</code></td><td>Vales de despensa.</td></tr><tr><td><code>12</code></td><td>Dación en pago.</td></tr><tr><td><code>13</code></td><td>Pago por subrogación.</td></tr><tr><td><code>14</code></td><td>Pago por consignación.</td></tr><tr><td><code>15</code></td><td>Condonación.</td></tr><tr><td><code>17</code></td><td>Compensación.</td></tr><tr><td><code>23</code></td><td>Novación.</td></tr><tr><td><code>24</code></td><td>Confusión.</td></tr><tr><td><code>25</code></td><td>Remisión de deuda.</td></tr><tr><td><code>26</code></td><td>Prescripción o caducidad.</td></tr><tr><td><code>27</code></td><td>A satisfacción del acreedor.</td></tr><tr><td><code>28</code></td><td>Tarjeta de débito.</td></tr><tr><td><code>29</code></td><td>Tarjeta de servicio.</td></tr><tr><td><code>30</code></td><td>Aplicación de anticipos.</td></tr><tr><td><code>31</code></td><td>Intermediario pagos.</td></tr><tr><td><code>99</code></td><td>Por definir.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Detalles</strong> <mark style="color:$info;">( <code>detalles</code> )</mark></summary>

El arreglo `detalles` contiene los productos o conceptos que conforman la factura.\
Cada elemento representa una partida de la factura.

```
[
    {
        "id": 33,
        "producto": 8355,
        "cantidad": "1.0000",
        "precio_unitario": "130.000000",
        "importe": "1560.000000",
        "iva": "249.600000",
        "ieps": "0.000000",
        "entrega_domicilio": true
    }
],
```

#### Campos de cada detalle.

<table><thead><tr><th width="181.0496826171875">Name</th><th width="102.8984375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del detalle</td></tr><tr><td><code>producto</code></td><td>integer</td><td>Identificador único del producto.</td></tr><tr><td><code>cantidad</code></td><td>decimal</td><td>Cantidad del producto incluida en la factura.</td></tr><tr><td><code>precio_unitario</code></td><td>decimal</td><td>Precio por unidad del producto.</td></tr><tr><td><code>importe</code></td><td>string</td><td>Importe del producto.</td></tr><tr><td><code>iva</code></td><td>decimal</td><td>IVA del producto.</td></tr><tr><td><code>ieps</code></td><td>decimal</td><td>IEPS del producto.</td></tr><tr><td><code>entrega_domicilio</code></td><td>boolean</td><td>Indicador que el producto requiere entregar a domicilio.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Factura pagada</strong> <mark style="color:$info;">( <code>factura_pagada</code> )</mark></summary>

La factura **se marca como pagada** cuando su saldo se reduce a cero.

<table><thead><tr><th width="245.33984375">value</th><th width="234.484375">Description</th></tr></thead><tbody><tr><td>"Si"</td><td>Factura pagada.</td></tr><tr><td>"No"</td><td>Factura NO pagada.</td></tr><tr><td>"Cancelada"</td><td>Factura cancelada.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Centro de Responsabilidad</strong> <mark style="color:$info;">( <code>centro_responsabilidad</code> )</mark></summary>

<table><thead><tr><th width="127.9296875">Name</th><th width="179.05859375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del centro de responsabilidad.</td></tr><tr><td><code>numero</code></td><td>string</td><td>Número que se le definió al centro de responsabilidad.</td></tr><tr><td><code>nombre</code></td><td>string</td><td>Nombre del centro de responsabilidad.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Dirección de entrega</strong> <mark style="color:$info;">( <code>direccion_entrega</code> )</mark></summary>

El objeto `direccion_entrega` contiene la información del domicilio en el que se realizará la entrega.

<table><thead><tr><th width="145.2977294921875">Name</th><th width="131.49481201171875">Type</th><th>Descripcion</th></tr></thead><tbody><tr><td><code>nombre</code></td><td>string</td><td>Nombre utilizado para identificar la dirección de entrega.</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Datos completos del domicilio.</td></tr><tr><td><code>es_sucuersal</code></td><td>boolena</td><td>Indica si la dirección corresponde a una sucursal registrada.</td></tr></tbody></table>

**direccion\_entrega.direccion**

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Cliente</strong> <mark style="color:$info;">( <code>cliente</code> )</mark></summary>

<table><thead><tr><th width="210.55859375">Name</th><th width="138.19921875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>integer</td><td>Identificador único del cliente.</td></tr><tr><td><code>activo</code></td><td>boolean</td><td>Indicador de actividad del cliente</td></tr><tr><td><code>tipo_cliente</code></td><td>number</td><td>Tipo de cliente.</td></tr><tr><td><code>razon_social</code></td><td>string</td><td>Razón social o nombre fiscal del cliente.</td></tr><tr><td><code>codigo</code></td><td>string</td><td>Código interno utilizado para identificar al cliente.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Referencia adicional asociada al cliente.</td></tr><tr><td><code>nombre_comercial</code></td><td>string</td><td>Nombre comercial del cliente.</td></tr><tr><td><code>sitio_web</code></td><td>string</td><td>Sitio web del cliente.</td></tr><tr><td><code>rfc</code></td><td>string</td><td>RFC del cliente</td></tr><tr><td><code>curp</code></td><td>string</td><td>CURP del cliente.</td></tr><tr><td><code>limite_credito</code></td><td>decimal</td><td>Monto máximo de crédito autorizado para el cliente.</td></tr><tr><td><code>representante_legal</code></td><td>string</td><td>Representante legal del cliente.</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Objeto de relacion con una direccion por Información del domicilio principal del cliente.</td></tr><tr><td><code>bloquear_vencido</code></td><td>boolean</td><td>Restringir ventas con facturas vencidas.</td></tr><tr><td><code>dias_cortar_credito</code></td><td>integer</td><td>Días de gracia por defecto para facturas vencidas.</td></tr><tr><td><code>dias_credito</code></td><td>integer</td><td>Número de días de crédito otorgados al cliente.</td></tr><tr><td><code>regimen_fiscal</code></td><td>string</td><td>Régimen Fiscal del cliente.</td></tr><tr><td><code>creado</code></td><td>string</td><td>Identificador único del usuario que creó al cliente.</td></tr><tr><td><code>usuario_creado</code></td><td>integer</td><td>Usuario que creó el registro del cliente.</td></tr><tr><td><code>direccion_txt</code></td><td>string</td><td>Direccion escrita del cliente.</td></tr><tr><td><code>almacen_precios</code></td><td>object</td><td>Precios por almacén del cliente.</td></tr><tr><td><code>clasificacion</code></td><td>object</td><td>Clasificación del cliente.</td></tr><tr><td><code>segmentacion</code></td><td>object</td><td>Segmentación del cliente.</td></tr></tbody></table>

</details>

## Obtener una factura

Obtiene la información detallada de un cliente específico.

&#x20;<mark style="color:blue;">**GET**</mark> `https://{clave}.admintotal.com/api/v2/movimientos/facturas/{id}/`&#x20;

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description             |
| ------------ | ------ | ----------------------- |
| Api-key      | string | Token de autenticación. |
| {% endtab %} |        |                         |

{% tab title="Respuesta 200" %}

```json
{
    "id": 4659569,
    "status": 1,
    "status_display": "Pendientes",
    "almacen": 9,
    "fecha": "2026-09-03",
    "fecha_vencimiento": "2026-09-03",
    "iva": "20.800000",
    "subtotal": "130.00",
    "total": "150.800000",
    "uso_cfdi": "G01",
    "comentarios": "",
    "mostrar_comentarios": true,
    "forma_pago": "01",
    "detalles": [
        {
            "id": 5323921,
            "factura": null,
            "producto": 8355,
            "cantidad": "1.0000",
            "precio_unitario": "130.000000",
            "importe": "130.000000",
            "iva": "20.800000",
            "ieps": "0.000000",
            "entrega_domicilio": true
        }
    ],
    "creado": "2026-09-03T16:58:23.884366-07:00",
    "xml_timbrado": "",
    "cfdi_uuid": "",
    "cfdi_status": "",
    "cancelado": false,
    "motivo_cancelacion": "",
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "fecha_entrega": null,
    "hora_entrega_a": null,
    "hora_entrega_b": null,
    "factura_pagada": "Si",
    "vendedor": "",
    "saldo": "150.80",
    "mensualidad": null,
    "condicion": "Contado",
    "poliza_texto": "",
    "descuento": "0.00",
    "moneda": "MXN",
    "direccion_entrega": {
        "id": 32980,
        "municipio": "Hermosillo",
        "localidad": "Hermosillo",
        "estado": "Sonora",
        "calle": "Articulo 123",
        "colonia": "Misión del sol",
        "cp": "83100",
        "telefono": "",
        "email": "",
        "numero_e": "93A",
        "numero_i": "",
        "pais_residencia": "MEX",
        "latitud": null,
        "longitud": null,
        "referencia": ""
    },
    "folio": 208,
    "folio_completo": "F208",
    "centro_responsabilidad": {
        "id": 4,
        "numero": "3",
        "nombre": "TERCERO"
    },
    "url_pdf": "http://{clave}.admintotal.com/admin/pdf_salida/4659569/",
    "campos_personalizados": [],
    "movimiento_origen": null,
    "movimientos_relacionados": [],
    "cliente": {
        "id": 1850,
        "activo": true,
        "tipo_cliente": 2,
        "razon_social": "Empresa cliente",
        "codigo": "",
        "referencia": "",
        "nombre_comercial": "",
        "sitio_web": "",
        "rfc": "HHH140305BI0",
        "curp": "",
        "limite_credito": "0.00",
        "representante_legal": "",
        "direccion": {
            "id": 24827,
            "municipio": "Hermosillo, Hermosillo",
            "localidad": "",
            "estado": "Sonora",
            "calle": "Blvd Antonio Quiroga",
            "colonia": "Real de Quiroga",
            "cp": "83224",
            "telefono": "",
            "email": "email@empresa.com",
            "numero_e": "142",
            "numero_i": "",
            "pais_residencia": "",
            "latitud": "0.00000000",
            "longitud": "0.00000000",
            "referencia": null
        },
        "bloquear_vencido": true,
        "dias_cortar_credito": 0,
        "dias_credito": 0,
        "regimen_fiscal": "616",
        "creado": "2023-01-31T11:06:18.440186-07:00",
        "usuario_creado": 23,
        "direccion_txt": "Blvd Antonio Quiroga 142  C.P. 83224 Hermosillo, Sonora.",
        "almacen_precios": {
            "id": 9,
            "codigo": "001",
            "nombre": "001 Matriz"
        },
        "clasificacion": null,
        "segmentacion": null
    },
    "metodo_pago": 0
}
```

{% endtab %}
{% endtabs %}

### Campos adicionales disponibles al consultar una factura individual

{% hint style="info" %}
Cuando se consulta una factura de forma individual, se muestran campos adicionales que permiten obtener información más detallada sobre esa factura en especifico.
{% endhint %}

<table><thead><tr><th width="240.8427734375">Name</th><th width="113.3466796875">Type</th><th>Descripcion</th></tr></thead><tbody><tr><td><code>movimiento_origen</code></td><td>string</td><td>Describe desde que parte del sistema fue creada la factura.</td></tr><tr><td><code>movimientos_relacionados</code></td><td>array</td><td>Muestra los documentos relacionados a la factura.</td></tr><tr><td><code>campos_personalizados</code></td><td>array</td><td>Campos personalizados.</td></tr></tbody></table>

<details>

<summary><strong>Detalles</strong> <mark style="color:$info;">( <code>detalles</code> )</mark></summary>

Campos adicionales en los detalles al consultar una factura individual.&#x20;

<table><thead><tr><th width="224.1795654296875">Name</th><th width="102.8984375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>descripcion</code></td><td>string</td><td>Identificador único del detalle.</td></tr><tr><td><code>descripcion_adicional</code></td><td>string</td><td>Identificador único del producto.</td></tr></tbody></table>

</details>

## Crear Factura

Crea una nueva factura asociada a un cliente.

&#x20;<mark style="color:green;">**POST**</mark>  `https://{clave}.admintotal.com/api/v2/movimientos/facturas/`

### Request Body

{% tabs %}
{% tab title="Headers" %}

| Name         | Type   | Description             |
| ------------ | ------ | ----------------------- |
| Api-key      | string | Token de autenticación. |
| {% endtab %} |        |                         |

{% tab title="Ejemplo Body" %}

#### Body básico para crear una factura.

El siguiente ejemplo muestra la estructura mínima o básica que puede enviarse en el cuerpo de la solicitud para crear una factura. Los campos pueden variar según los datos requeridos para cada cliente o factura.

```json
{
    "fecha": null,
    "cliente": 2647,
    "almacen": null,
    "comentarios": "",
    "detalles": [
        {
            "producto": 8355,
            "cantidad": "1.0000",
            "um": {
                "nombre": "Caja",
                "factor": 12
            },
            "precio_unitario": "130.000000",
            "descripcion_adicional": "Descripción de prueba 2"
        }
    ],
    "vendedor": null,
    "mostrar_comentarios": false,
    "campos_personalizados": [],
    "cliente_rfc": "AMR091120QD6",
    "cliente_cp": "",
    "cliente_regimen_fiscal": "",
    "uso_cfdi": "",
    "codigo_cliente": "",
    "codigo_almacen": "",
    "forma_pago": ""
}
```

{% endtab %}
{% endtabs %}

<table><thead><tr><th width="230.82672119140625">Name</th><th width="90.469970703125">Type</th><th width="107.19921875">Required</th><th width="314.843994140625">Description</th></tr></thead><tbody><tr><td><code>fecha</code></td><td>string</td><td>No</td><td>Fecha de la factura. <br><sub><mark style="color:$info;">Formato: YYYY-MM-DD</mark></sub></td></tr><tr><td><code>cliente</code></td><td>integer</td><td>Si</td><td><p>Identificador único del cliente. </p><p>Puede utilizarse cuando no se envía <code>cliente_rfc</code>.</p></td></tr><tr><td><code>almacen</code></td><td>integer</td><td>No</td><td>Identificador único del almacén. Si no se especifica, se utilizará el primer almacén.</td></tr><tr><td><code>direccion_entrega</code></td><td>object</td><td>No</td><td>Información de la dirección en la que se realizará la entrega.</td></tr><tr><td><code>comentarios</code></td><td>string</td><td>No</td><td>Comentarios u observaciones asociados a la factura.</td></tr><tr><td><code>detalles</code></td><td>array</td><td>Si</td><td>Lista de productos que conforman la factura.<br><sub><mark style="color:$info;">(Para especificar el producto puede ser por producto, producto_codigo o producto_codigo_proveedor)</mark></sub></td></tr><tr><td><code>vendedor</code></td><td>integer</td><td>No</td><td>Identificador único del empleado que será asignado como vendedor de la factura.</td></tr><tr><td><code>mostrar_comentarios</code></td><td>boolean</td><td>No</td><td>Indica si los comentarios de la factura deben mostrarse.</td></tr><tr><td><code>campos_personalizados</code></td><td>array</td><td>No</td><td>Lista de campos personalizados.</td></tr><tr><td><code>cliente_rfc</code></td><td>string</td><td>No</td><td>RFC del cliente. Puede utilizarse para identificar al cliente cuando no se envía <code>cliente</code>.</td></tr><tr><td><code>cliente_cp</code></td><td>string</td><td>No</td><td>Código postal del cliente.</td></tr><tr><td><code>cliente_regimen_fiscal</code></td><td>string</td><td>No</td><td>Régimen fiscal del cliente.</td></tr><tr><td><code>uso_cfdi</code></td><td>string</td><td>No</td><td>Clave del Uso de CFDI asignado a la factura, conforme al catálogo del SAT.</td></tr><tr><td><code>codigo_cliente</code></td><td>string</td><td>No</td><td>Código asignado al cliente.</td></tr><tr><td><code>codigo_almacen</code></td><td>string</td><td>No</td><td>Código asignado al almacén.</td></tr><tr><td><code>carta_porte</code></td><td>object</td><td>No</td><td>Información requerida para generar el complemento Carta Porte.</td></tr><tr><td><code>forma_pago</code></td><td>string</td><td>No</td><td>Clave SAT correspondiente a la forma de pago. Si no se especifica, se intentará utilizar la configurada en el cliente.</td></tr><tr><td><code>nombre_direccion_entrega</code></td><td>string</td><td>No</td><td>Nombre asignada a la dirección de entrega.</td></tr></tbody></table>

<details>

<summary><strong>Status</strong> <mark style="color:$info;">( <code>status</code> )</mark></summary>

<table><thead><tr><th width="135.4453125">Value</th><th width="336.953125">Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>Pendiente</td></tr><tr><td><code>2</code></td><td>Parciales</td></tr><tr><td><code>3</code></td><td>No pendiente</td></tr><tr><td><code>4</code></td><td>Cerrado</td></tr><tr><td><code>5</code></td><td>Aprobado</td></tr><tr><td><code>21</code></td><td>En proceso</td></tr><tr><td><code>22</code></td><td>Terminada</td></tr><tr><td><code>23</code></td><td>Entregada</td></tr><tr><td><code>24</code></td><td>Cancelada</td></tr><tr><td><code>25</code></td><td>Cerrada por cancelación backorder</td></tr><tr><td><code>30</code></td><td>Incidencia</td></tr></tbody></table>

</details>

<details>

<summary><strong>Detalles</strong> <mark style="color:$info;">( <code>detalles</code> )</mark></summary>

El arreglo `detalles` contiene los productos o conceptos que conforman la factura.\
Cada elemento representa una partida de la factura.

```
[
    {
      "producto": 3131,
      "cantidad": 1,
      "um": {
        "nombre": "Caja",
        "factor": 12,
      },
      "precio_unitario": "30.00",
      "descripcion_adicional": "Concepto diferente para esta partida",
    }
],
```

#### Campos de cada detalle.

<table><thead><tr><th width="218.0418701171875">Name</th><th width="102.8984375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>producto</code></td><td>integer</td><td>Identificador único del producto.</td></tr><tr><td><code>cantidad</code></td><td>decimal</td><td>Cantidad del producto incluida en la factura.</td></tr><tr><td><code>um</code></td><td>object</td><td>Unidad de medida utilizada para la partida.</td></tr><tr><td><code>precio_unitario</code></td><td>decimal</td><td>Precio por unidad del producto.</td></tr><tr><td><code>descripcion_adicional</code></td><td>string</td><td>Descripción adicional o personalizada de la partida.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Dirección de entrega</strong> <mark style="color:$info;">( <code>direccion_entrega</code> )</mark></summary>

El objeto `direccion_entrega` contiene la información del domicilio en el que se realizará la entrega.

<table><thead><tr><th width="145.2977294921875">Name</th><th width="131.49481201171875">Type</th><th>Descripcion</th></tr></thead><tbody><tr><td><code>nombre</code></td><td>string</td><td>Nombre utilizado para identificar la dirección de entrega.</td></tr><tr><td><code>direccion</code></td><td>object</td><td>Datos completos del domicilio.</td></tr><tr><td><code>es_sucuersal</code></td><td>boolena</td><td>Indica si la dirección corresponde a una sucursal registrada.</td></tr></tbody></table>

**direccion\_entrega.direccion**

<table><thead><tr><th width="177.27685546875">Name</th><th width="129.75958251953125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>municipio</code></td><td>string</td><td>Municipio de la dirección.</td></tr><tr><td><code>localidad</code></td><td>string</td><td>Localidad de la dirección.</td></tr><tr><td><code>estado</code></td><td>string</td><td>Estado o entidad federativa.</td></tr><tr><td><code>calle</code></td><td>string</td><td>Nombre de la calle.</td></tr><tr><td><code>colonia</code></td><td>string</td><td>Colonia de la dirección.</td></tr><tr><td><code>cp</code></td><td>string</td><td>Código postal.</td></tr><tr><td><code>telefono</code></td><td>string</td><td>Número telefónico asociado a la dirección.</td></tr><tr><td><code>email</code></td><td>string</td><td>Correo electrónico asociado a la dirección.</td></tr><tr><td><code>numero_e</code></td><td>string</td><td>Número exterior.</td></tr><tr><td><code>numero_i</code></td><td>string</td><td>Número interior.</td></tr><tr><td><code>pais_residencia</code></td><td>string</td><td>Clave del país de residencia.</td></tr><tr><td><code>latitud</code></td><td>decimal</td><td>Latitud geográfica de la dirección.</td></tr><tr><td><code>longitud</code></td><td>decimal</td><td>Longitud geográfica de la dirección.</td></tr><tr><td><code>referencia</code></td><td>string</td><td>Información adicional para localizar el domicilio.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Unidad de medida</strong> <mark style="color:$info;">( <code>um</code> )</mark></summary>

<table><thead><tr><th width="131.478271484375">Name</th><th width="122.498291015625">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>nombre</code></td><td>string</td><td>Nombre de la unidad de medida.</td></tr><tr><td><code>factor</code></td><td>decimal</td><td>Factor de la unidad de medida.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Formas de pago</strong> <mark style="color:$info;">( <code>forma_pago</code> )</mark></summary>

<table><thead><tr><th width="185.12847900390625">Value</th><th width="347.3837890625">Description</th></tr></thead><tbody><tr><td><code>01</code></td><td>Efectivo.</td></tr><tr><td><code>02</code></td><td>Cheque nominativo.</td></tr><tr><td><code>03</code></td><td>Transferencia electrónica de fondos.</td></tr><tr><td><code>04</code></td><td>Tarjeta de crédito.</td></tr><tr><td><code>05</code></td><td>Monedero electrónico.</td></tr><tr><td><code>06</code></td><td>Dinero electrónico.</td></tr><tr><td><code>08</code></td><td>Vales de despensa.</td></tr><tr><td><code>12</code></td><td>Dación en pago.</td></tr><tr><td><code>13</code></td><td>Pago por subrogación.</td></tr><tr><td><code>14</code></td><td>Pago por consignación.</td></tr><tr><td><code>15</code></td><td>Condonación.</td></tr><tr><td><code>17</code></td><td>Compensación.</td></tr><tr><td><code>23</code></td><td>Novación.</td></tr><tr><td><code>24</code></td><td>Confusión.</td></tr><tr><td><code>25</code></td><td>Remisión de deuda.</td></tr><tr><td><code>26</code></td><td>Prescripción o caducidad.</td></tr><tr><td><code>27</code></td><td>A satisfacción del acreedor.</td></tr><tr><td><code>28</code></td><td>Tarjeta de débito.</td></tr><tr><td><code>29</code></td><td>Tarjeta de servicio.</td></tr><tr><td><code>30</code></td><td>Aplicación de anticipos.</td></tr><tr><td><code>31</code></td><td>Intermediario pagos.</td></tr><tr><td><code>99</code></td><td>Por definir.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Métodos de pago</strong> <mark style="color:$info;">( <code>metodo_pago</code> )</mark></summary>

| Value | Description                       |
| ----- | --------------------------------- |
| `PUE` | Pago en una sola exhibición.      |
| `PPD` | Pago en parcialidades o diferido. |

</details>

<details>

<summary><strong>Factura pagada</strong> <mark style="color:$info;">( <code>factura_pagada</code> )</mark></summary>

La factura **se marca como pagada** cuando su saldo se reduce a cero.

<table><thead><tr><th width="245.33984375">value</th><th width="234.484375">Description</th></tr></thead><tbody><tr><td>"Si"</td><td>Factura pagada.</td></tr><tr><td>"No"</td><td>Factura NO pagada.</td></tr><tr><td>"Cancelada"</td><td>Factura cancelada.</td></tr></tbody></table>

</details>

<details>

<summary><strong>Carta Porte</strong> <mark style="color:$info;">( <code>carta_porte</code> )</mark></summary>

El objeto `carta_porte` contiene la información necesaria para generar el complemento Carta Porte cuando la factura lo requiera.

Si la factura no utiliza Carta Porte, este objeto puede enviarse vacío.

<table><thead><tr><th width="220.575439453125">Name</th><th width="106.21356201171875">Type</th><th width="111.0654296875">Required</th><th>Description</th></tr></thead><tbody><tr><td>direccion_origen</td><td>object</td><td>Si</td><td>Dirección desde la cual inicia el traslado de las mercancías.</td></tr><tr><td>fecha_hora_origen</td><td>datetime</td><td>Si</td><td>Fecha y hora de salida desde el origen.<br><sub><mark style="color:$info;">Formato: YYYY-MM-DDTHH:mm:ss±hh:mm</mark></sub><br><sub><mark style="color:$info;">Ejemplo: 2026-08-11T07:06:01+00:00</mark></sub></td></tr><tr><td>remitente</td><td>integer</td><td>Si</td><td>Identificador del remitente registrado en el sistema.</td></tr><tr><td>direccion_destino</td><td>object</td><td>Si</td><td>Dirección final de entrega de las mercancías.</td></tr><tr><td>fecha_hora_destino</td><td>datetime</td><td>Si</td><td>Fecha y hora estimada o registrada de llegada al destino.<br><sub><mark style="color:$info;">Formato: YYYY-MM-DDTHH:mm:ss±hh:mm</mark></sub><br><sub><mark style="color:$info;">Ejemplo: 2026-08-11T07:06:01+00:00</mark></sub></td></tr><tr><td>destinatario</td><td>integer</td><td>Si</td><td>Identificador del  cliente destinatario registrado en el sistema.</td></tr><tr><td>vehiculo</td><td>integer</td><td>No</td><td>Identificador del vehículo utilizado para el traslado.</td></tr><tr><td>operador</td><td>integer</td><td>No</td><td>Identificador del operador responsable del traslado.</td></tr><tr><td>distancia_destino</td><td>decimal</td><td>Si</td><td>Distancia recorrida o estimada hasta el destino.</td></tr><tr><td>remolques</td><td>array</td><td>No</td><td>Lista de placas de remolques asociados al traslado.</td></tr><tr><td>remitente_rfc</td><td>string</td><td>No</td><td>RFC del remitente.</td></tr><tr><td>remitente_nombre</td><td>string</td><td>No</td><td>Nombre o razón social del remitente.</td></tr><tr><td>destinatario_rfc</td><td>string</td><td>No</td><td>RFC del destinatario.</td></tr><tr><td>destinatario_nombre</td><td>string</td><td>No</td><td>Nombre o razón social del destinatario.</td></tr><tr><td>vehiculo_placa</td><td>string</td><td>No</td><td>Placa del vehículo utilizado para el traslado.</td></tr><tr><td>nombre_aseguradora</td><td>string</td><td>No</td><td>Nombre de la aseguradora del vehículo.</td></tr><tr><td>num_poliza_seguro</td><td>string</td><td>No</td><td>Número de la póliza de seguro.</td></tr><tr><td>num_permiso_sct</td><td>string</td><td>No</td><td>Número del permiso otorgado.</td></tr><tr><td>configuracion_vehicular</td><td>string</td><td>No</td><td>Clave de configuración vehicular utilizada en Carta Porte.</td></tr><tr><td>operador_clave</td><td>string</td><td>No</td><td>Clave interna utilizada para identificar al operador.</td></tr><tr><td>operador_rfc</td><td>string</td><td>No</td><td>RFC del operador.</td></tr><tr><td>operador_nombre</td><td>string</td><td>No</td><td>Nombre del operador.</td></tr><tr><td>operador_direccion</td><td>object</td><td>Si</td><td>Domicilio del operador.</td></tr><tr><td>num_licencia_operador</td><td>string</td><td>No</td><td>Número de licencia del operador.</td></tr><tr><td>ubicaciones_intermedias</td><td>array</td><td>No</td><td>Lista de ubicaciones intermedias del recorrido.</td></tr><tr><td>mercancias</td><td>array</td><td>No</td><td>Lista de mercancías incluidas en el traslado.</td></tr></tbody></table>

</details>

### Respuesta 201 Created

{% tabs %}
{% tab title="201  Created" %}

```json
{
    "id": 112,
    "status": 1,
    "status_display": "Pendientes",
    "almacen": 9,
    "fecha": "2026-09-08",
    "fecha_vencimiento": "2026-10-08",
    "iva": "249.600000",
    "subtotal": "1560.00",
    "total": "1809.600000",
    "uso_cfdi": "",
    "comentarios": "",
    "mostrar_comentarios": false,
    "forma_pago": "99",
    "detalles": [
        {
            "id": 3536050,
            "producto": 125072,
            "cantidad": "3.0000",
            "precio_unitario": "220.0000",
            "importe": "660.000000",
            "iva": "105.600000",
            "ieps": "0.000000",
            "entrega_domicilio": true
        }
    ],
    "creado": "2026-09-08T16:06:34.102774-07:00",
    "xml_timbrado": "",
    "cfdi_uuid": "",
    "cfdi_status": "",
    "cancelado": false,
    "motivo_cancelacion": "",
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "fecha_entrega": null,
    "hora_entrega_a": null,
    "hora_entrega_b": null,
    "factura_pagada": "No",
    "vendedor": "",
    "saldo": "",
    "mensualidad": null,
    "condicion": "",
    "poliza_texto": "",
    "descuento": "",
    "moneda": "MXN",
    "folio": 1,
    "folio_completo": "",
    "centro_responsabilidad": null,
    "direccion_entrega": {
        "id": 1,
        "municipio": "Hermosillo",
        "localidad": "Hermosillo",
        "estado": "Sonora",
        "calle": "Articulo 123",
        "colonia": "Misión del sol",
        "cp": "83100",
        "telefono": "",
        "email": "",
        "numero_e": "93A",
        "numero_i": "",
        "pais_residencia": "MEX",
        "latitud": null,
        "longitud": null,
        "referencia": ""
    },
    "url_pdf": "",
    "cliente": {
        "id": 10,
        "activo": true,
        "tipo_cliente": 1,
        "razon_social": "EMPRESA CLIENTE EJEMPLO",
        "codigo": "1",
        "referencia": "",
        "nombre_comercial": "",
        "sitio_web": "",
        "rfc": "",
        "curp": "",
        "limite_credito": "",
        "representante_legal": "",
        "direccion": {
            "id": 1,
            "municipio": "Hermosillo",
            "localidad": "Hermosillo",
            "estado": "Sonora",
            "calle": "Articulo 123",
            "colonia": "Misión del sol",
            "cp": "83100",
            "telefono": "",
            "email": "",
            "numero_e": "93A",
            "numero_i": "",
            "pais_residencia": "MEX",
            "latitud": null,
            "longitud": null,
            "referencia": ""
        },
        "bloquear_vencido": true,
        "dias_cortar_credito": null,
        "dias_credito": null,
        "regimen_fiscal": "",
        "creado": "2023-02-17T10:04:55.740310-07:00",
        "usuario_creado": 23,
        "direccion_txt": "",
        "almacen_precios": null,
        "clasificacion": null,
        "segmentacion": null,
        "monedero": "0"
    },
    "metodo_pago": 1
}
```

{% endtab %}
{% endtabs %}

## Obtener PDF's de facturas

Para consultar el PDF de una factura podemos usar la URL que se retorna en la propiedad `url_pdf` del  objeto de factura agregando adicional el parámetro GET `access_token` ó `api_key` dependiendo el caso, ejemplo:

**Ejemplo de la URL si se tiene un token JWT**

https\://{clave}.admintotal.com/api/v2/movimientos/facturas/?access\_token={mi\_access\_token}

**Ejemplo de la URL si se tiene un api key**

https\://{clave}.admintotal.com/api/v2/movimientos/facturas/?api\_key={api\_key}

## Errores HTTP

Posibles códigos de error que puedes encontrar al consumir este recurso.

<table><thead><tr><th width="170.59765625"></th><th width="128.9375"></th><th width="215.58984375"></th><th></th></tr></thead><tbody><tr><td><h4><mark style="color:$warning;"><code>400</code></mark> </h4><p>Solicitud invalida</p></td><td><h4><mark style="color:$danger;"><code>403</code></mark> </h4><p>Sin permiso</p></td><td><h4><mark style="color:$danger;"><code>404</code></mark><br></h4><p>Registro no encontrado</p></td><td><h4><mark style="color:$danger;"><code>500</code></mark> </h4><p>Error interno del servidor</p></td></tr></tbody></table>


# Líneas

## Obtener el listado de lineas de productos

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/lineas/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 241,
    "next": "https://{clave}.admintotal.com/api/v2/lineas/",
    "previous": null,
    "results": [
        {
            "id": 1537,
            "nombre": "ABARROTES"
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}


# Lista negra

## Lista negra

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/listanegra/`

#### Query Parameters

| Name   | Type    | Description                                               |
| ------ | ------- | --------------------------------------------------------- |
| tipo   | integer | <p>1: Definitivo<br>2: Desvirtuado<br>3: Presunto<br></p> |
| rfc    | string  | Filtrar los resultados por RFC                            |
| nombre | string  | Filtrar los resultados por nombre de empresa              |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Toke para autorizacion |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 11617,
    "next": "https://{clave}.admintotal.com/api/v2/listanegra/",
    "previous": null,
    "results": [
        {
            "rfc": "AAA091014835",
            "nombre": "AQUAERIS ACUACULTURA Y ARQUITECTURA SUSTENTABLE, S.C.",
            "tipo": 2
        },
        {
            "rfc": "AAA100303L51",
            "nombre": "INGENIOS SANTOS, S.A. DE C.V.",
            "tipo": 2
        },
        {
            "rfc": "AAA120730823",
            "nombre": "ASESORES Y ADMINISTRADORES AGRICOLAS, S. DE R.L. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAA121206EV5",
            "nombre": "AMÉRICA ADMINISTRATIVA ARROLLO, S.A. DE CV.",
            "tipo": 1
        },
        {
            "rfc": "AAA140116926",
            "nombre": "AVALOS & ASOCIADOS CONSULTORIA INTEGRAL, S.C.",
            "tipo": 1
        },
        {
            "rfc": "AAA151209DYA",
            "nombre": "AYC ADMINISTRACION Y ASESORIA COMERCIAL, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAAA620217U54",
            "nombre": "AMADOR AQUINO JOSÉ AVENAMAR",
            "tipo": 1
        },
        {
            "rfc": "AAAE910314EJ7",
            "nombre": "ALVARADO ALMARAZ ESTEBAN JACOB",
            "tipo": 1
        },
        {
            "rfc": "AAAG7012036UA",
            "nombre": "ARAGÓN AYALA GRICELDA",
            "tipo": 1
        },
        {
            "rfc": "AAAJ830204PA9",
            "nombre": "ARAIZA ARAMBULA JUAN CARLOS",
            "tipo": 1
        },
        {
            "rfc": "AAAL440727T22",
            "nombre": "ALMANZA ALONZO JOSÉ LUIS",
            "tipo": 1
        },
        {
            "rfc": "AAAM930220954",
            "nombre": "AMADO ACOSTA MARCOS",
            "tipo": 1
        },
        {
            "rfc": "AAAT930326EY6",
            "nombre": "AMADO AMADO TRINIDAD",
            "tipo": 1
        },
        {
            "rfc": "AAAV920808B1A",
            "nombre": "ADAME ANTONIO VICTOR ALFONSO",
            "tipo": 1
        },
        {
            "rfc": "AAB1011024L8",
            "nombre": "ASESORES ADMINISTRATIVOS BAIK S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AABJ650718RI4",
            "nombre": "ALCALA BECERRA JUAN MANUEL",
            "tipo": 1
        },
        {
            "rfc": "AABK761214SL7",
            "nombre": "ALMANZA BRAVO KARLA GRACIELA",
            "tipo": 1
        },
        {
            "rfc": "AABM490216DP5",
            "nombre": "ALANIS BADILLO MINERVA ",
            "tipo": 1
        },
        {
            "rfc": "AABR711124971",
            "nombre": "ALMANZA BRAVO ROCIO AMERICA",
            "tipo": 3
        },
        {
            "rfc": "AABV7103171I6",
            "nombre": "ALMAGUER BARRIOS VERONICA PATRICIA",
            "tipo": 1
        },
        {
            "rfc": "AAC051003125",
            "nombre": "ALMAGUER ACEROS, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC0608103B5",
            "nombre": "ADITIVOS ALTERNOS DEL CENTRO S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC08052734A",
            "nombre": "ASESORÍAS ADMINISTRATIVAS CANTÚ MARTÍNEZ, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC100420480",
            "nombre": "ACEROS Y ALAMBRES DEL CENTRO, S.A.  DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC111109JE8",
            "nombre": "ACRH ASESORES Y CONSULTORES, S.C.",
            "tipo": 1
        },
        {
            "rfc": "AAC120810NCA",
            "nombre": "AAA ASESORIA Y CAPACITACION EMPRESARIAL, S.C.",
            "tipo": 1
        },
        {
            "rfc": "AAC130302DX4",
            "nombre": "ADMIN ASESORÍA CORPORATIVA INTEGRAL, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC131022IU7",
            "nombre": "ANKARA ASESOR CORPORATIVO, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC131030EPA",
            "nombre": "ACES ADMINISTRACIÓN CORPORATIVA DEL SURESTE, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC1312027F4",
            "nombre": "ARRENDAMIENTOS AOKI CONSTRUCTORES, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAC950309K87",
            "nombre": "ACERO ARMENDARIZ CONSTRUCCIONES, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AACA7306273E2",
            "nombre": "ARAUCO CASILLAS ALEJANDRO",
            "tipo": 1
        },
        {
            "rfc": "AACC7604146T1",
            "nombre": "ALMANZA CHÁVEZ CÉSAR OCTAVIO",
            "tipo": 1
        },
        {
            "rfc": "AACG511129DS8",
            "nombre": "ABRAHAM CASSALE GUILLERMO",
            "tipo": 1
        },
        {
            "rfc": "AACJ841120285",
            "nombre": "ALMANZA CHAVEZ JULIAN",
            "tipo": 1
        },
        {
            "rfc": "AACL900520TRA",
            "nombre": "ADAME CONTRERAS LUIS MANUEL",
            "tipo": 1
        },
        {
            "rfc": "AACR841120TD8",
            "nombre": "ALMANZA CHÁVEZ RAÚL",
            "tipo": 1
        },
        {
            "rfc": "AAD090528LE2",
            "nombre": "AP ADVERSITING S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAD121126PD6",
            "nombre": "ASESORES ADSERLOG, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAD1305092S8",
            "nombre": "ACR ARQUITECTURA Y DISEÑO VERTICAL, S.A DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAD13080976A",
            "nombre": "APDS ADMINISTRA Y DISTRIBUYE SERVICIOS, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AADF880829FV9",
            "nombre": "ALBARRAN DIAZ FE DEL CARMEN",
            "tipo": 1
        },
        {
            "rfc": "AADH640831ID7",
            "nombre": "ARANDA DELGADILLO HECTOR SALVADOR",
            "tipo": 1
        },
        {
            "rfc": "AADL9510079M6",
            "nombre": "ARANDA DELGADO MA. LIZBETH",
            "tipo": 1
        },
        {
            "rfc": "AAE0909143R4",
            "nombre": "ADE ADMINISTRACION EMPRESARIAL, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAE140101UX4",
            "nombre": "AEI ALIUD EX INGENIA, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAE141208JXA",
            "nombre": "ARQET ARQUITECTURA ESPACIO Y TIEMPO, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAEC880127NB8",
            "nombre": "AMAYA ENRÍQUEZ CORAL WENDOLYNE",
            "tipo": 1
        },
        {
            "rfc": "AAF1307177L2",
            "nombre": "AFFYS ASESORÍA FISCAL, FINANCIERA Y DE SEGUROS, S.C.",
            "tipo": 1
        },
        {
            "rfc": "AAFC820928KQ3",
            "nombre": "ALTAMIRANO FIERRO CARLOS ALEJANDRO",
            "tipo": 1
        },
        {
            "rfc": "AAFO591114GI2",
            "nombre": "ALCANTAR FLORES OSCAR TRINIDAD",
            "tipo": 1
        },
        {
            "rfc": "AAGA4505122T4",
            "nombre": "ÁLVAREZ GARCÍA JOSÉ ALFONSO",
            "tipo": 1
        },
        {
            "rfc": "AAGD551022SW6",
            "nombre": "ALVAREZ GUTIERREZ DIONISIO",
            "tipo": 1
        },
        {
            "rfc": "AAGD9110281PA",
            "nombre": "ÁLVAREZ GUAJARDO DIEGO ANTONIO",
            "tipo": 1
        },
        {
            "rfc": "AAGE821012RNA",
            "nombre": "ALVAREZ GARCIA EDGAR RODRIGO",
            "tipo": 1
        },
        {
            "rfc": "AAGJ700504133",
            "nombre": "ALVARADO GARCIA JORGE",
            "tipo": 1
        },
        {
            "rfc": "AAGJ840914P74",
            "nombre": "ALVARADO GARCIA JESUS",
            "tipo": 1
        },
        {
            "rfc": "AAGJ841016RG8",
            "nombre": "ALANÍS GONZÁLEZ JAVIER",
            "tipo": 1
        },
        {
            "rfc": "AAGJ890312M1A",
            "nombre": "ALVAREZ GUERRA JORGE LUIS",
            "tipo": 1
        },
        {
            "rfc": "AAGJ901007K86",
            "nombre": "AMAYA GONZÁLEZ JUAN PABLO",
            "tipo": 1
        },
        {
            "rfc": "AAGM9208143U8",
            "nombre": "AMAYA GONZÁLEZ MÓNICA LIZETH",
            "tipo": 1
        },
        {
            "rfc": "AAGN900909G80",
            "nombre": "AYALA GARCIA NELIDA GABRIELA",
            "tipo": 3
        },
        {
            "rfc": "AAGP8105011D7",
            "nombre": "ALFARO GONZÁLEZ PABLO ANTONIO",
            "tipo": 1
        },
        {
            "rfc": "AAGR6204035GA",
            "nombre": "ARAUJO GARCÍA RICARDO",
            "tipo": 1
        },
        {
            "rfc": "AAGV671223684",
            "nombre": "ALBARADO GRANADOS JOSE VICTOR",
            "tipo": 1
        },
        {
            "rfc": "AAHA5310243B1",
            "nombre": "ALVARADO HERNÁNDEZ ANA MARÍA",
            "tipo": 1
        },
        {
            "rfc": "AAHE370605TU1",
            "nombre": "ALCANTAR HERNÁNDEZ ELOÍSA",
            "tipo": 1
        },
        {
            "rfc": "AAHE730926N63",
            "nombre": "ADAME HUIZAR ENRIQUE RENE",
            "tipo": 1
        },
        {
            "rfc": "AAHG620113QV1",
            "nombre": "ALBA HERNANDEZ GEORGINA",
            "tipo": 1
        },
        {
            "rfc": "AAHV580710NF0",
            "nombre": "ARANZABAL HERNANDEZ VICTOR ALFONSO",
            "tipo": 1
        },
        {
            "rfc": "AAHV7701315Y4",
            "nombre": "ARAIZA HERNANDEZ VIRGINIA",
            "tipo": 1
        },
        {
            "rfc": "AAI0309047KA",
            "nombre": "AR APOYO INDUSTRIAL, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAI1205147Z7",
            "nombre": "ALTUS ASESORÍA EN IMAGEN Y EVENTOS, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAI140619CRA",
            "nombre": "ACCIN, ACCIONES INTEGRALES DE NEGOCIO, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAI140918DR4",
            "nombre": "ASFALTOS Y AGREGADOS INDUSTRIALES CAM, S.A. DE C.V. ",
            "tipo": 1
        },
        {
            "rfc": "AAI150415L20",
            "nombre": "AINSA ASESORÍA INTEGRAL EN NEGOCIOS, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAJ140709TXA",
            "nombre": "ALTIPLANO AGAVERO DE JALISCO, S.A. DE C.V. ",
            "tipo": 1
        },
        {
            "rfc": "AAL070515MQ3",
            "nombre": "AGROINDUSTRIA DEL ALTIPLANO, S. DE R.L. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAL0810149K9",
            "nombre": "ARRENDAMIENTOS Y ASESORÍAS LUVE, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAL081211JP0",
            "nombre": "“A&L CONSULTORES”, S.C.",
            "tipo": 1
        },
        {
            "rfc": "AAL090331NXA",
            "nombre": "ALIMENTOS ALIVEN S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAL120727SL0",
            "nombre": "ADMINISTRADORA ALIANZA, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAL170328AT8",
            "nombre": "AGROINDUSTRIALES ALCONCAR, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AALA930814HZ2",
            "nombre": "ALVAREZ LOZORNIO ADRIANA ELIZABETH",
            "tipo": 1
        },
        {
            "rfc": "AALA950416PB3",
            "nombre": "ÁLVAREZ LÓPEZ ALONDRA",
            "tipo": 1
        },
        {
            "rfc": "AALB850619540",
            "nombre": "ARANDA LÓPEZ BENITO",
            "tipo": 1
        },
        {
            "rfc": "AALE621107AG9",
            "nombre": "ALCALA LUEVANOS ERNESTO",
            "tipo": 1
        },
        {
            "rfc": "AALG9011301H5",
            "nombre": "ÁLVAREZ LÓPEZ GUSTAVO",
            "tipo": 1
        },
        {
            "rfc": "AALL870304BL7",
            "nombre": "ALVAREZ LOPEZ MARIA LUISA",
            "tipo": 1
        },
        {
            "rfc": "AALM861123J43",
            "nombre": "ALTAMIRANO LÓPEZ JOSÉ MIGUEL",
            "tipo": 1
        },
        {
            "rfc": "AAM080220M73",
            "nombre": "ABRASIVOS Y ARRENDAMIENTO DE MAQUINARIA, S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAM111107E70",
            "nombre": "AMG ASSISTMENT MANAGEMENT S.A. DE C.V.",
            "tipo": 1
        },
        {
            "rfc": "AAM130118JYA",
            "nombre": "ARQUITECTOS Y ASOCIADOS MOAL, S.A. DE C.V. ",
            "tipo": 1
        },
        {
            "rfc": "AAMA8509178Y6",
            "nombre": "ARZAGA MENDOZA ARTURO",
            "tipo": 1
        },
        {
            "rfc": "AAME681224TW6",
            "nombre": "ARAIZA MENDOZA EFRAIN",
            "tipo": 1
        },
        {
            "rfc": "AAMK750908MH9",
            "nombre": "ALCALÁ MORENO KARINA",
            "tipo": 1
        },
        {
            "rfc": "AAML730105N15",
            "nombre": "ALCÁNTARA MONTOYA LILIANA",
            "tipo": 1
        },
        {
            "rfc": "AAMR620927PRA",
            "nombre": "ARZATE MOJICA RAÚL",
            "tipo": 1
        },
        {
            "rfc": "AAMR7312046L3",
            "nombre": "ANASTASIO MEJIA MARIA DEL ROCIO",
            "tipo": 3
        },
        {
            "rfc": "AAMR840608355",
            "nombre": "ALVARADO MANRIQUE RAUL GERARDO",
            "tipo": 1
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Mensualidades

## Obtener lista de mensualidades

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/mensualidades/`

#### Query Parameters

| Name          | Type    | Description                                             |
| ------------- | ------- | ------------------------------------------------------- |
| id            | integer | ID de la mensualidad                                    |
| representante | string  | Filtra por ID de representante de cliente de admintotal |
| rfc           | string  | Filtra por RFC de cliente de admintotal                 |
| dia\_envio    | number  | Filtrar por dia de envio                                |
| almacen       | integer | Filtra por ID de almacen                                |
| cliente       | integer | Filtra por ID de Cliente de admintotal                  |

#### Headers

| Name    | Type   | Description             |
| ------- | ------ | ----------------------- |
| Api-key | string | Token para autorizacion |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Agregar nueva mensualidad

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/mensualidades/`

#### Headers

| Name    | Type   | Description             |
| ------- | ------ | ----------------------- |
| Api-key | string | Token para autorizacion |

#### Request Body

| Name             | Type    | Description                                          |
| ---------------- | ------- | ---------------------------------------------------- |
| iva              | number  | IVA del prodcuto de la mensualidad                   |
| descuento        | number  | Cantidad de descuento del producto de la mensaulidad |
| importe          | number  | Importe del producto de la mensualidad               |
| precio\_unitario | number  | Precio unitario del prodcuto de la mensualidad       |
| descripcion      | string  | Descripcion del producto de la mensualidad           |
| cantidad         | number  | cantidad de prodcutos                                |
| comentarios      | string  | Comentarios de la mensualidad                        |
| moneda           | number  | Moneda, formatos: 1:"MXN" y 2:"USD"                  |
| hasta            | string  | Hasta, formato: dd/mm/aaaa                           |
| desde            | string  | Desde, formato: dd/mm/aaaa                           |
| dia              | number  | Dia de envio                                         |
| condicion        | integer | ID condicion                                         |
| almacen          | integer | ID almacen                                           |
| cliente          | integer | ID cliente de admintotal                             |
| codigo\_producto | string  | Codigo de producto                                   |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}


# Notas de crédito

## Obtener un listado de Notas de Crédito

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/notas_credito/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 162,
    "next": "https://{clave}.admintotal.com/api/v2/movimientos/notas_credito/",
    "previous": null,
    "results": [
        {
            "id": 25307,
            "fecha": "2021-11-04",
            "status_display": "Pendientes",
            "direccion_entrega": {
                "id": 3776,
                "municipio": "Hermosillo",
                "localidad": "",
                "estado": "Sonora",
                "calle": "Constitución 1 entre Benito Juarez y Cero",
                "colonia": "Colinas",
                "cp": "83145",
                "telefono": "6622323232",
                "email": "",
                "numero_e": "432",
                "numero_i": "",
                "pais_residencia": "MEX",
                "latitud": "0.00000000",
                "longitud": "0.00000000",
                "referencia": ""
            },
            "folio": 2094,
            "folio_completo": "2094",
            "url_pdf": "https://{clave}.admintotal.com/admin/pdf_nota_credito/25307/",
            "detalles": [
                {
                    "id": 91861,
                    "factura": 25263,
                    "producto": 19782,
                    "precio_unitario": "40.2003",
                    "iva": "6.432050",
                    "importe": "40.200315"
                }
            ],
            "cliente": {
                "id": 2754,
                "activo": true,
                "tipo_cliente": 1,
                "razon_social": "101 ALVI DCANCUN SA DE CV",
                "codigo": "21542",
                "referencia": "",
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "RAP970203V75",
                "curp": "",
                "limite_credito": "500000.00",
                "representante_legal": "",
                "direccion": {
                    "id": 3776,
                    "municipio": "Hermosillo",
                    "localidad": "",
                    "estado": "Sonora",
                    "calle": "Constitución 1 entre Benito Juarez y Cero",
                    "colonia": "Colinas",
                    "cp": "83145",
                    "telefono": "6622323232",
                    "email": "",
                    "numero_e": "432",
                    "numero_i": "",
                    "pais_residencia": "MEX",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": ""
                },
                "bloquear_vencido": false,
                "dias_cortar_credito": 0,
                "saldo_pendiente": "8896.3300",
                "dias_credito": 0
            }
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener una Nota de crédito

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/notas_credito/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 162,
    "next": "https://{clave}.admintotal.com/api/v2/movimientos/notas_credito/",
    "previous": null,
    "results": [
        {
            "id": 25307,
            "fecha": "2021-11-04",
            "status_display": "Pendientes",
            "direccion_entrega": {
                "id": 3776,
                "municipio": "Hermosillo",
                "localidad": "",
                "estado": "Sonora",
                "calle": "Constitución 1 entre Benito Juarez y Cero",
                "colonia": "Colinas",
                "cp": "83145",
                "telefono": "6622323232",
                "email": "",
                "numero_e": "432",
                "numero_i": "",
                "pais_residencia": "MEX",
                "latitud": "0.00000000",
                "longitud": "0.00000000",
                "referencia": ""
            },
            "folio": 2094,
            "folio_completo": "2094",
            "url_pdf": "https://{clave}.admintotal.com/admin/pdf_nota_credito/25307/",
            "detalles": [
                {
                    "id": 91861,
                    "factura": 25263,
                    "producto": 19782,
                    "precio_unitario": "40.2003",
                    "iva": "6.432050",
                    "importe": "40.200315"
                }
            ],
            "cliente": {
                "id": 2754,
                "activo": true,
                "tipo_cliente": 1,
                "razon_social": "101 ALVI DCANCUN SA DE CV",
                "codigo": "21542",
                "referencia": "",
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "RAP970203V75",
                "curp": "",
                "limite_credito": "500000.00",
                "representante_legal": "",
                "direccion": {
                    "id": 3776,
                    "municipio": "Hermosillo",
                    "localidad": "",
                    "estado": "Sonora",
                    "calle": "Constitución 1 entre Benito Juarez y Cero",
                    "colonia": "Colinas",
                    "cp": "83145",
                    "telefono": "6622323232",
                    "email": "",
                    "numero_e": "432",
                    "numero_i": "",
                    "pais_residencia": "MEX",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": ""
                },
                "bloquear_vencido": false,
                "dias_cortar_credito": 0,
                "saldo_pendiente": "8896.3300",
                "dias_credito": 0
            }
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Notas de venta

## Obtener listado de notas de venta

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/notas_venta/`

#### Parámetros GET disponibles

| Name                   | Type    | Description                                                                                          |
| ---------------------- | ------- | ---------------------------------------------------------------------------------------------------- |
| cliente                | integer | Filtro por ID de cliente                                                                             |
| cliente\_razon\_social | string  | Filtro por razón social de cliente                                                                   |
| fecha                  | string  | Filtro por fecha (formato YYYY-MM-DD)                                                                |
| desde                  | string  | Filtro por fecha donde sea mayor o igual a este valor  (formato YYYY-MM-DD)                          |
| hasta                  | string  | Filtro por fecha donde sea menor o igual a este valor  (formato YYYY-MM-DD)                          |
| folio                  | integer | Filtro por folio                                                                                     |
| serie                  | string  | Filtro por serie                                                                                     |
| cancelado              | int     | <p>Filtro por movimiento cancelado:<br>0 = Mostrará solo activos<br>1 = Mostrará solo cancelados</p> |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 731,
    "next": "https://{clave}.admintotal.com/api/v2/movimientos/notas_venta/",
    "previous": null,
    "results": [
        {
            "id": 25320,
            "status": 1,
            "almacen": 1545,
            "fecha": "2021-11-09",
            "fecha_vencimiento": "2021-11-09",
            "iva": "33.103448",
            "subtotal": "206.90",
            "total": "240.000000",
            "uso_cfdi": "P01",
            "comentarios": "",
            "mostrar_comentarios": true,
            "forma_pago": 0,
            "detalles": [
                {
                    "id": 91874,
                    "producto": 11077,
                    "cantidad": "1.0000",
                    "precio_unitario": "206.8966",
                    "importe": "206.896552",
                    "iva": "33.103448"
                }
            ],
            "creado": "2021-11-09T10:40:50.974804-07:00",
            "xml_timbrado": "",
            "cancelado": false,
            "motivo_cancelacion": "",
            "usuario_cancelacion": null,
            "fecha_cancelacion": null,
            "metodo_pago": "28",
            "monto_efectivo": "0.0000",
            "monto_tarjeta": "0.0000",
            "monto_transferencia": "0.0000",
            "monto_cheque": "0.0000",
            "status_display": "Pendientes",
            "direccion_entrega": {
                "id": 3283,
                "municipio": "",
                "localidad": "",
                "estado": "",
                "calle": ".",
                "colonia": "",
                "cp": "",
                "telefono": "",
                "email": "",
                "numero_e": "",
                "numero_i": "",
                "pais_residencia": "",
                "latitud": "0.00000000",
                "longitud": "0.00000000",
                "referencia": ""
            },
            "folio": 606,
            "folio_completo": "606",
            "url_pdf": "https://{clave}.admintotal.com/admin/pdf_nota_venta/25320/",
            "cliente": {
                "id": 1522,
                "activo": true,
                "tipo_cliente": 1,
                "razon_social": "PUBLICO EN GENERAL",
                "codigo": "",
                "referencia": "",
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "XAXX010101000",
                "curp": "",
                "limite_credito": "10000000.00",
                "representante_legal": "",
                "direccion": {
                    "id": 3283,
                    "municipio": "",
                    "localidad": "",
                    "estado": "",
                    "calle": ".",
                    "colonia": "",
                    "cp": "",
                    "telefono": "",
                    "email": "",
                    "numero_e": "",
                    "numero_i": "",
                    "pais_residencia": "",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": ""
                },
                "bloquear_vencido": false,
                "dias_cortar_credito": 10,
                "saldo_pendiente": "1796182.8100",
                "dias_credito": 10
            }
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Crear nota de venta

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/notas_venta/`

Para habilitar la auto-facturación de los clientes, es necesario especificar un valores en las propiedades "id\_externo" y "clave\_autofacturacion

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>numero_tarjeta</td><td>integer</td><td>Últimos 4 digitos de la tarjeta</td></tr><tr><td>tipo_tarjeta</td><td>integer</td><td>1: crédito<br>2: débito</td></tr><tr><td>monto_tarjeta</td><td>number</td><td>Monto de tarjeta</td></tr><tr><td>monto_efectivo</td><td>number</td><td>Monto de efectivo</td></tr><tr><td>detalles</td><td>array</td><td><p>Lista de objetos con la información de los productos de la factura (para especificar el producto puede ser por producto, producto_codigo o producto_codigo_proveedor), ejemplo: </p><pre class="language-json"><code class="lang-json">[
    {
      "producto": 3131,
      "cantidad": 1,
      "um": {
        "nombre": "Caja",
        "factor": 12
      },
      "precio_unitario": "30.00"
    }
]
</code></pre></td></tr><tr><td>direccion_entgrega</td><td>object</td><td><p>Objeto  con la información de dirección de entrega, ejemplo:</p><pre class="language-json"><code class="lang-json"><strong>{
</strong>    "nombre": "Ejemplo 1",
    "direccion": {
      "municipio": "Hermosillo",
      "localidad": "Hermosillo",
      "estado": "Sonora",
      "calle": "Articulo 123",
      "colonia": "Misión del sol",
      "cp": "83100",
      "telefono": "",
      "email": "",
      "numero_e": "93A",
      "numero_i": "",
      "pais_residencia": "MEX",
      "latitud": null,
      "longitud": null,
      "referencia": ""
    }
}
</code></pre></td></tr><tr><td>comentarios</td><td>string</td><td>Comentarios sobre la nota de venta</td></tr><tr><td>fecha</td><td>string</td><td>Fecha en formato ISO 8601</td></tr><tr><td>almacen</td><td>integer</td><td>ID del almacén (en caso de no especificar se tomará el primer almacén)</td></tr><tr><td>cliente_rfc</td><td>string</td><td>RFC del cliente (este parámetro es opcional si se especifica cliente)</td></tr><tr><td>cliente</td><td>integer</td><td>ID de cliente (este parámetro es opcional si se especifica cliente_rfc)</td></tr><tr><td>id_externo</td><td>string</td><td>Identificador externo para esta nota de venta (ejemplo: puede ser el folio del sistema externo que genera esta nota de venta)</td></tr><tr><td>clave_facturacion</td><td>string</td><td>Clave de facturación (6 caracteres recomendado), esta clave la necesita el cliente para auto-facturarse en el portal de facturación (también necesita el id_externo).</td></tr><tr><td>campos_personalizados</td><td>array</td><td><p></p><p>Lista de campos personalizados (se validarán los campos personalizados de venta), ejemplo de estructura:</p><pre class="language-postman_json"><code class="lang-postman_json">[
    {
        "key": "codigo_reservacion",
        "valor": "FKL4646"
    },
    {
        "key": "origen",
        "valor": "Sistema externo"
    }
]
</code></pre></td></tr><tr><td>moneda</td><td>string</td><td>(Opcional) nombre de la moneda de la nota de venta</td></tr><tr><td>tipo_cambio</td><td>string</td><td>(Opcional) tipo de cambio</td></tr></tbody></table>

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}


# Ordenes de trabajo

## Obtener listado de OT's

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/ordenes_servicio/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Query Parameters

| Name   | Type    | Description                                                                                                                                      |
| ------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| status | integer | <p>Filtrar las ordenes de trabajo por estado:<br>1 = "Abierta"<br>2 = "En proceso"<br>3 = "Terminada"<br>4 = "Cancelada"<br>5 = "Confirmada"</p> |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 23,
    "next": "https://{clave}.admintotal.com/api/v2/ordenes_servicio/",
    "previous": null,
    "results": [
        {
            "id": 11106,
            "status": 5,
            "prioridad": null,
            "bitacora_inicio_cliente": null,
            "bitacora_llegada_base": null,
            "descripcion": "<p>MANTENIMIENTO A INMUEBLES MANO DE OBRA</p>",
            "status_display": "Confirmada",
            "clave": "2761-13-1/1",
            "periodicidad": "Mensual",
            "prioridad_display": null,
            "tipo_servicio": "MANO DE OBRA",
            "sucursal": {
                "id": 29,
                "municipio": "Mérida",
                "nombre": "CAC MERIDA IV ORIENTE",
                "cliente": "MICLIENTE",
                "direccion": "Direccion"
            },
            "cliente": {
                "id": 1532,
                "regimen_fiscal": "601",
                "rfc": "XXXXX",
                "razon_social": "MICLIENTE",
                "direccion": "Dirección completa del cliente.",
                "colonia": "Ampliación Granada",
                "nombre": "MICLIENTE",
                "telefono": "(999) 1111-0002",
                "email": "",
                "representante_legal": "MICLIENTE"
            }
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener una OT

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/ordenes_servicio/:id/`

#### Path Parameters

| Name | Type    | Description |
| ---- | ------- | ----------- |
| ID   | integer | ID de la OT |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```json
{
    "id": 11448,
    "status": 5,
    "prioridad": null,
    "bitacora_inicio_cliente": "2026-01-01T09:44:27-06:00",
    "bitacora_llegada_base": "2026-01-27T09:44:27-06:00",
    "descripcion": "<p>FALTA DE AGUA</p>",
    "status_display": "Confirmada",
    "clave": "7136-1-1/1",
    "periodicidad": "-----",
    "prioridad_display": null,
    "tipo_servicio": "TRABAJOS CORRECTIVOS",
    "sucursal": {
        "id": 228,
        "municipio": "Carmen",
        "nombre": "XXXX CD DEL CARMEN",
        "cliente": "Nombre del cliente",
        "direccion": "Dirección ..."
    },
    "cliente": {
        "id": 1547,
        "regimen_fiscal": "601",
        "rfc": "XXXXX",
        "razon_social": "Nombre del cliente",
        "direccion": "Dirección ...",
        "colonia": "Hipódromo Condesa",
        "nombre": "Nombre del cliente",
        "telefono": "(999) 181-4338",
        "email": "",
        "representante_legal": "Nombre del cliente"
    },
    "empleados": [
        {
            "id": 1650,
            "rfc": "XXXXXXXX",
            "nombre": "NOMBRE DEL EMPLEADO",
            "apellido_paterno": "DEL",
            "apellido_materno": "EMPLEADO"
        }
    ],
    "archivos": [
        {
            "id": 554877,
            "url": "https://....",
            "titulo": "Antes del servicio - 20260127_150310.jpg",
            "creado": "2026-01-27T22:20:56.787815+00:00"
        }
    ]
}
 
```

{% endtab %}
{% endtabs %}

## Editar una OT

<mark style="color:purple;">`PATCH`</mark> `https://{clave}.admintotal.com/api/v2/ordenes_servicio/:id/`

#### Request Body

| Name                      | Tipo    | Descripción                                                                                                                |
| ------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| status                    | Integer | <p>Estados disponibles:<br>1 = "Abierta"<br>2 = "En proceso"<br>3 = "Terminada"<br>4 = "Cancelada"<br>5 = "Confirmada"</p> |
| prioridad                 | integer | <p>Prioridad de la OT, opciones disponibles:<br>1 =  "Alta"<br>2 =  "Media"<br>3 =  "Baja"</p>                             |
| descripción               | string  | Descripción de la visita                                                                                                   |
| bitacora\_inicio\_cliente | string  | <p>Formato ISO 8601 ejemplo:<br>2026-01-01T09:44:27-06:00</p>                                                              |
| bitacora\_llegada\_base   | string  | <p>Formato ISO 8601 ejemplo:<br>2026-01-01T09:44:27-06:00</p>                                                              |

{% tabs %}
{% tab title="200 " %}

```json
{
    "id": 11448,
    "status": 5,
    "prioridad": null,
    "bitacora_inicio_cliente": "2026-01-01T09:44:27-06:00",
    "bitacora_llegada_base": "2026-01-27T09:44:27-06:00",
    "descripcion": "<p>FALTA DE AGUA</p>",
    "status_display": "Confirmada",
    "clave": "7136-1-1/1",
    "periodicidad": "-----",
    "prioridad_display": null,
    "tipo_servicio": "TRABAJOS CORRECTIVOS",
    "sucursal": {
        "id": 228,
        "municipio": "Carmen",
        "nombre": "XXXX CD DEL CARMEN",
        "cliente": "Nombre del cliente",
        "direccion": "Dirección ..."
    },
    "cliente": {
        "id": 1547,
        "regimen_fiscal": "601",
        "rfc": "XXXXX",
        "razon_social": "Nombre del cliente",
        "direccion": "Dirección ...",
        "colonia": "Hipódromo Condesa",
        "nombre": "Nombre del cliente",
        "telefono": "(999) 181-4338",
        "email": "",
        "representante_legal": "Nombre del cliente"
    },
    "empleados": [
        {
            "id": 1650,
            "rfc": "XXXXXXXX",
            "nombre": "NOMBRE DEL EMPLEADO",
            "apellido_paterno": "DEL",
            "apellido_materno": "EMPLEADO"
        }
    ],
    "archivos": [
        {
            "id": 554877,
            "url": "https://....",
            "titulo": "Antes del servicio - 20260127_150310.jpg",
            "creado": "2026-01-27T22:20:56.787815+00:00"
        }
    ]
}
 
```

{% endtab %}
{% endtabs %}

## Adjuntar imagen a la Visita de una OT

<mark style="color:$success;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/ordenes_servicio/:id/adjuntar_imagen/`&#x20;

#### Query Parameters

#### Path Parameters

| Name | Type    | Description |
| ---- | ------- | ----------- |
| ID   | integer | ID de la OT |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Request Body

| Name    | Type    | Description                                                                                             |
| ------- | ------- | ------------------------------------------------------------------------------------------------------- |
| titulo  | string  | Título de la imagen                                                                                     |
| proceso | integer | <p>ID del proceso:<br>1 = Antes del servicio<br>2 = Durante el servicio<br>3 = Después del servicio</p> |
| imagen  | string  | Formato: Base64                                                                                         |

{% tabs %}
{% tab title="201" %}

```json
{
    "id": 555417,
    "url": "https://...",
    "titulo": "Imágen antes del servicio",
    "creado": "2026-01-28T17:53:36.346193+00:00"
}
```

{% endtab %}
{% endtabs %}


# Pedidos

## Obtener listado de pedidos

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/pedidos/`

#### Parámetros GET disponibles

| Name                   | Type    | Description                                                                                          |
| ---------------------- | ------- | ---------------------------------------------------------------------------------------------------- |
| cliente                | integer | Filtro por ID de cliente                                                                             |
| cliente\_razon\_social | string  | Filtro por razón social de cliente                                                                   |
| fecha                  | string  | Filtro por fecha (formato YYYY-MM-DD)                                                                |
| desde                  | string  | Filtro por fecha donde sea mayor o igual a este valor  (formato YYYY-MM-DD)                          |
| hasta                  | string  | Filtro por fecha donde sea menor o igual a este valor  (formato YYYY-MM-DD)                          |
| folio                  | integer | Filtro por folio                                                                                     |
| serie                  | string  | Filtro por serie                                                                                     |
| cancelado              | int     | <p>Filtro por movimiento cancelado:<br>0 = Mostrará solo activos<br>1 = Mostrará solo cancelados</p> |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 33282,
    "next": "https://cliente.admintotal.com/api/v2/movimientos/pedidos/",
    "previous": null,
    "results": [
        {
            "id": 755484,
            "status": 1,
            "almacen": 9,
            "fecha": "2021-03-03",
            "iva": "105.600000",
            "subtotal": "660.00",
            "total": "765.600000",
            "comentarios": "",
            "detalles": [
                {
                    "id": 3536050,
                    "producto": 125072,
                    "cantidad": "3.0000",
                    "precio_unitario": "220.0000",
                    "importe": "660.000000",
                    "iva": "105.600000"
                }
            ],
            "creado": "2021-02-02T11:00:41.741114-07:00",
            "status_display": "Pendientes",
            "direccion_entrega": {
                "id": 32980,
                "municipio": "Hermosillo",
                "localidad": "Hermosillo",
                "estado": "Sonora",
                "calle": "Articulo 123",
                "colonia": "Misión del sol",
                "cp": "83100",
                "telefono": "",
                "email": "",
                "numero_e": "93A",
                "numero_i": "",
                "pais_residencia": "MEX",
                "latitud": null,
                "longitud": null,
                "referencia": ""
            },
            "folio": 25148,
            "folio_completo": "025148",
            "cliente": {
                "id": 3628,
                "activo": true,
                "tipo_cliente": 1,
                "razon_social": "221 Proyectos SA de CV",
                "codigo": "",
                "referencia": null,
                "nombre_comercial": "",
                "sitio_web": "",
                "rfc": "DVP140305BI0",
                "curp": "",
                "limite_credito": "0.00",
                "representante_legal": "",
                "direccion": {
                    "id": 24827,
                    "municipio": "Hermosillo, Hermosillo",
                    "localidad": "",
                    "estado": "Estado de México",
                    "calle": "Blvd Antonio Quiroga",
                    "colonia": "Real de Quiroga",
                    "cp": "83224",
                    "telefono": "",
                    "email": "jahaziel@admintotal.com",
                    "numero_e": "142",
                    "numero_i": "",
                    "pais_residencia": "",
                    "latitud": "0.00000000",
                    "longitud": "0.00000000",
                    "referencia": null
                },
                "saldo_pendiente": "0",
                "dias_credito": 0
            },
            "contacto": null
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

## Crear pedido

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/pedidos/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>contacto</td><td>object</td><td><p>Objeto con la información del contacto, ejemplo: </p><pre class="language-json"><code class="lang-json">{
    "nombre": "Nombre del ",
    "celular": "6623232323",
    "telefono": "",
    "email": "micorreo@midominio.com",
    "puesto": "",
    "extension": ""
  }
</code></pre></td></tr><tr><td>detalles</td><td>array</td><td><p>Lista de objetos con la información de los productos de la factura (para especificar el producto puede ser por producto, producto_codigo o producto_codigo_proveedor), ejemplo:  </p><pre class="language-json"><code class="lang-json">[
    {
      "producto": 3131,
      "cantidad": 1,
      "um": {
        "nombre": "Caja",
        "factor": 12
      },
      "precio_unitario": "30.00"
    }
]
</code></pre></td></tr><tr><td>direccion_entrega</td><td>object</td><td><p>Objeto  con la información de dirección de entrega, ejemplo:</p><pre class="language-json"><code class="lang-json">{
    "nombre": "Ejemplo 1",
    "direccion": {
      "municipio": "Hermosillo",
      "localidad": "Hermosillo",
      "estado": "Sonora",
      "calle": "Articulo 123",
      "colonia": "Misión del sol",
      "cp": "83100",
      "telefono": "",
      "email": "",
      "numero_e": "93A",
      "numero_i": "",
      "pais_residencia": "MEX",
      "latitud": null,
      "longitud": null,
      "referencia": ""
    }
}
</code></pre></td></tr><tr><td>comentarios</td><td>string</td><td>Comentarios sobre el pedido</td></tr><tr><td>fecha</td><td>string</td><td>Fecha del pedido en formato YYYY-MM-DD</td></tr><tr><td>almacen</td><td>integer</td><td>ID del almacén (en caso de no especificar se tomará el primer almacén)</td></tr><tr><td>rfc_cliente</td><td>string</td><td>RFC del cliente (este parámetro es opcional si se especifica cliente)</td></tr><tr><td>id_cliente</td><td>integer</td><td>ID de cliente (este parámetro es opcional si se especifica rfc_cliente) </td></tr><tr><td>codigo_cliente</td><td>String</td><td>ID de cliente (este parámetro es opcional si se especifica rfc_cliente o id_cliente) </td></tr></tbody></table>

{% tabs %}
{% tab title="201 " %}

```
{
    "id": 755484,
    "status": 1,
    "almacen": 9,
    "fecha": "2021-03-03",
    "iva": "105.600000",
    "subtotal": "660.00",
    "total": "765.600000",
    "comentarios": "",
    "detalles": [
        {
            "id": 3536050,
            "producto": 125072,
            "cantidad": "3.0000",
            "precio_unitario": "220.0000",
            "importe": "660.000000",
            "iva": "105.600000"
        }
    ],
    "creado": "2021-02-02T11:00:41.741114-07:00",
    "status_display": "Pendientes",
    "direccion_entrega": {
        "id": 32980,
        "municipio": "Hermosillo",
        "localidad": "Hermosillo",
        "estado": "Sonora",
        "calle": "Articulo 123",
        "colonia": "Misión del sol",
        "cp": "83100",
        "telefono": "",
        "email": "",
        "numero_e": "93A",
        "numero_i": "",
        "pais_residencia": "MEX",
        "latitud": null,
        "longitud": null,
        "referencia": ""
    },
    "folio": 25148,
    "folio_completo": "025148",
    "cliente": {
        "id": 3628,
        "activo": true,
        "tipo_cliente": 1,
        "razon_social": "Empresa cliente",
        "codigo": "",
        "referencia": null,
        "nombre_comercial": "",
        "sitio_web": "",
        "rfc": "HHH140305BI0",
        "curp": "",
        "limite_credito": "0.00",
        "representante_legal": "",
        "direccion": {
            "id": 24827,
            "municipio": "Hermosillo, Hermosillo",
            "localidad": "",
            "estado": "Estado de México",
            "calle": "Blvd Antonio Quiroga",
            "colonia": "Real de Quiroga",
            "cp": "83224",
            "telefono": "",
            "email": "email@empresa.com",
            "numero_e": "142",
            "numero_i": "",
            "pais_residencia": "",
            "latitud": "0.00000000",
            "longitud": "0.00000000",
            "referencia": null
        },
        "saldo_pendiente": "0",
        "dias_credito": 0
    },
    "contacto": null
}
```

{% endtab %}
{% endtabs %}


# Productos

## Obtener listado de productos

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/productos/`

#### Query Parameters

| Name                   | Type    | Description                                                                                                                                                                                        |
| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| excluir                | string  | Nombres de los campos separados por coma de los cuales no se desean en la respuesta                                                                                                                |
| almacenes\_existencias | string  | ID's de almacenes separados por coma de los cuales se sumará la existencia.                                                                                                                        |
| q                      | string  | Filtrar resultados donde la descripción del producto contenga el valor especificado                                                                                                                |
| subsublinea            | integer | Filtrar resultados por ID de subsublinea                                                                                                                                                           |
| sublinea               | integer | Filtrar resultados por ID de sublinea                                                                                                                                                              |
| linea                  | integer | Filtrar resultados por ID de linea                                                                                                                                                                 |
| almacen                | integer | ID del almacén que se usará para precio y existencia, en caso de no especificarse precio será tomado del precio de venta especificado en el catálogo de productos y se omitirá el campo existencia |
| precio\_max            | number  | Filtrar de resultados por precio máximo                                                                                                                                                            |
| precio\_min            | number  | Filtrar de resultados por precio mínimo                                                                                                                                                            |
| codigo                 | string  | Filtrar resultados por código de producto                                                                                                                                                          |
| medio\_distribucion    | integer | <p>Filtrar resultados por medio de distribución, las opciones son:<br><strong>1</strong> - Tienda<br><strong>2</strong> - Web<br><strong>3</strong> - Ambos</p>                                    |
| codigos                | String  | Múltiples códgos de productos separados por coma, por ejemplo: "?codigos=AB001, AB002"                                                                                                             |
| codigo\_origen         | String  | Filtrar resultados por código de origen                                                                                                                                                            |
| clasificacion\_precios | integer | Tiene que ser un id de Clasificacion de cliente.                                                                                                                                                   |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 12841,
    "next": "https://{clave}.admintotal.com/api/v2/productos/",
    "previous": null,
    "results": [
        {
            "id": 15111,
            "codigo": "PRODUCTO DE EJEMPLO",
            "medio_distribucion": 3,
            "descripcion": "Lorem ipsum dolor...",
            "descripcion_adicional": "",
            "ce_fraccion_arancelaria": "",
            "descripcion_ingles": "",
            "descripcion_ecommerce": "",
            "tipo": 0,
            "tipo_producto_sistema_cardonal": null,
            "composiciones": [],
            "unidad_aduana": "",
            "imagen_url": "",
            "costo_ensamble": 0,
            "costo": 0.0,
            "precio": 160.0,
            "unidad": {
                "id": 13393,
                "factor": "1.000000",
                "seleccionado": true,
                "seleccionado_compra": true,
                "codigo_barras": null,
                "base": "70.0000",
                "altura": "35.0000",
                "profundidad": "60.0000",
                "peso": "200.0000",
                "nombre": "PIEZA"
            },
            "unidades": [
                {
                    "id": 13393,
                    "factor": "1.000000",
                    "seleccionado": true,
                    "seleccionado_compra": true,
                    "codigo_barras": null,
                    "base": "70.0000",
                    "altura": "35.0000",
                    "profundidad": "60.0000",
                    "peso": "200.0000",
                    "nombre": "PIEZA"
                }
            ]
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un producto

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/productos/:id/`

#### Path Parameters

| Name | Type    | Description    |
| ---- | ------- | -------------- |
| ID   | integer | ID de producto |

#### Query Parameters

| Name    | Type    | Description                                                                                                                                                                                        |
| ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| almacen | integer | ID del almacén que se usará para precio y existencia, en caso de no especificarse precio será tomado del precio de venta especificado en el catálogo de productos y se omitirá el campo existencia |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "id": 15111,
    "codigo": "PRODUCTO DE EJEMPLO",
    "medio_distribucion": 3,
    "descripcion": "Lorem ipsum dolor...",
    "descripcion_adicional": "",
    "ce_fraccion_arancelaria": "",
    "descripcion_ingles": "",
    "descripcion_ecommerce": "",
    "tipo": 0,
    "tipo_producto_sistema_cardonal": null,
    "composiciones": [],
    "unidad_aduana": "",
    "imagen_url": "",
    "costo_ensamble": 0,
    "costo": 0.0,
    "precio": 160.0,
    "unidad": {
        "id": 13393,
        "factor": "1.000000",
        "seleccionado": true,
        "seleccionado_compra": true,
        "codigo_barras": null,
        "base": "70.0000",
        "altura": "35.0000",
        "profundidad": "60.0000",
        "peso": "200.0000",
        "nombre": "PIEZA"
    },
    "unidades": [
        {
            "id": 13393,
            "factor": "1.000000",
            "seleccionado": true,
            "seleccionado_compra": true,
            "codigo_barras": null,
            "base": "70.0000",
            "altura": "35.0000",
            "profundidad": "60.0000",
            "peso": "200.0000",
            "nombre": "PIEZA"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Editar ensambles de un producto

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/productos/:id/editar_ensambles/`

#### Path Parameters

| Name | Type    | Description    |
| ---- | ------- | -------------- |
| ID   | integer | ID de producto |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Request Body

| Name         | Type    | Description                 |
| ------------ | ------- | --------------------------- |
| um\_nombre   | string  | Nombre de unidad de medida  |
| factor       | number  | Factor, valor por defecto 1 |
| cantidad     | number  | Cantidad del ensamble       |
| um\_id       | integer | ID de unidad de medida      |
| producto\_id | number  | ID de producto              |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Habilitar webhook a múltiples productos

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/productos/habilitar_webhook/`

Endpoint para habilitar la funcionalidad de webhooks a múltiples productos. Normalmente se utiliza cuando se tienen configurados webhooks de notificaciones de cambios de precios y existencias.

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Request Body

| Name    | Type  | Description                                              |
| ------- | ----- | -------------------------------------------------------- |
| codigos | array | Lista de códigos a los que se desea habilitar el webhook |

{% tabs %}
{% tab title="200 " %}

```
{
    "actualizados": [
        "01",
        "123456",
        "31-750",
        "26-675",
        ...
    ]
}
```

{% endtab %}
{% endtabs %}


# Productos por Almacén

## Obtener listado de productos por almacén

<mark style="color:blue;">`GET`</mark>`https://{clave}.admintotal.com/api/v2/productos_almacen/?almacen={id_almacen}`

| Name    | Type    | Description                                                                            |
| ------- | ------- | -------------------------------------------------------------------------------------- |
| almacen | Integer | ID del almacén. De no ser proporcionado se mostraran todos los productos del catálogo. |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 12841,
    "next": "https://{clave}.admintotal.com/api/v2/productos_almacen/?almacen={id_almacen}",
    "previous": null,
    "results": [
        {
            "id": 15111,
            "activo": true,
            "existencia": "287.00000000",
            "codigo": "PRODUCTO DE EJEMPLO",
            "medio_distribucion": 3,
            "descripcion": "Lorem ipsum dolor...",
            "descripcion_adicional": "",
            "ce_fraccion_arancelaria": "",
            "descripcion_ingles": "",
            "descripcion_ecommerce": "",
            "tipo": 7,
            "info_almacenes": [
                {
                    "almacen": {
                        "id": 91,
                        "nombre": "001 ALMACEN GENERAL"
                    },
                    "disponible": 0.0,
                    "promociones": [],
                    "precio_unitario": 0.0,
                    "costo_reposicion": 0.0,
                    "precio_neto": 0.0
                }
            ],
            "composiciones": [
                {
                    "id": 13393,
                    "codigo": "COMPOSICION DE EJEMPLO",
                    "parte__descripcion": "Lorem ipsum dolor..."
                }
            ],
            "unidad_aduana": "",
            "imagen_url": "",
            "costo_ensamble": 0,
            "costo": 0.0,
            "precio": 0.0,
            "unidad": {
                "id": 13393,
                "factor": "1.000000",
                "seleccionado": true,
                "seleccionado_compra": true,
                "codigo_barras": null,
                "base": "70.0000",
                "altura": "35.0000",
                "profundidad": "60.0000",
                "peso": "200.0000",
                "nombre": "PIEZA"
            },
            "unidades": [
                {
                    "id": 1531,
                    "factor": 1.0,
                    "nombre": "PIEZA"
                }
            ]
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un producto almacén

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/productos_almacen/:id/`

#### Path Parameters

| Name | Type    | Description    |
| ---- | ------- | -------------- |
| ID   | Integer | ID de producto |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "id": 4465,
    "activo": true,
    "existencia": "0.00000000",
    "codigo": "PRODUCTO DE EJEMPLO",
    "medio_distribucion": 3,
    "descripcion": "Lorem ipsum dolor...",
    "descripcion_adicional": "",
    "ce_fraccion_arancelaria": "",
    "descripcion_ingles": "",
    "descripcion_ecommerce": "",
    "tipo": 7,
    "info_almacenes": [
        {
            "almacen": {
                "id": 91,
                "nombre": "001 ALMACÉN GENERAL"
            },
            "disponible": 0.0,
            "promociones": [],
            "precio_unitario": 0.0,
            "costo_reposicion": 0.0,
            "precio_neto": 0.0
        }
    ],
    "composiciones": [
        {
            "id": 13393,
            "codigo": "COMPOSICION DE EJEMPLO",
            "parte__descripcion": "Lorem ipsum dolor..."
        }
    ],
    "unidad_aduana": "",
    "imagen_url": "",
    "costo_ensamble": 0.0,
    "costo": 0.0,
    "precio": 0.0,
    "unidad": {
        "id": 13393,
        "factor": "1.000000",
        "seleccionado": true,
        "seleccionado_compra": true,
        "codigo_barras": null,
        "base": "70.0000",
        "altura": "35.0000",
        "profundidad": "60.0000",
        "peso": "200.0000",
        "nombre": "PIEZA"
    },
    "unidades": [
        {
            "id": 1531,
            "factor": 1.0,
            "nombre": "PIEZA"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Prospectos

## Obtener un listado de Prospectos

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/prospectos/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 33,
    "next": "https://{clave}.admintotal.com/api/v2/prospectos/",
    "previous": null,
    "results": [
        {
            "id": 2,
            "codigo": "02",
            "empresa": "Mexicana",
            "nombre_comercial": null,
            "sucursal": null,
            "nombre": "rogelio amarillas",
            "rfc": null,
            "recomendo": "claudia robles",
            "status": 1,
            "comentarios": "visitar hoy",
            "stats_display": "Negociación",
            "cotizaciones": []
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Crear Prospecto

<mark style="color:green;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/prospectos/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>codigo</td><td>char</td><td>Codigo de prospecto</td></tr><tr><td>nombre</td><td>char</td><td>Nombre completo del prospecto</td></tr><tr><td>empresa</td><td>char</td><td>Nombre completo del prospecto</td></tr><tr><td>nombre_comercial</td><td>char</td><td>Nombre cormercial del prospecto</td></tr><tr><td>sucursal</td><td>char</td><td>Nombre sucursal del prospecto</td></tr><tr><td>rfc (opcional)</td><td>char</td><td>RFC del prospecto</td></tr><tr><td>recomendo</td><td>char</td><td>Nombre de la persona que recomendo al prospecto</td></tr><tr><td>status</td><td>integer</td><td><p>Status del prospecto                    </p><pre class="language-python"><code class="lang-python">0 - "Nuevo"
1 - "Negociación"
2 - "Ganado"
3 - "Desactivado"
4 - "Perdido"
</code></pre></td></tr><tr><td>direccion </td><td>object</td><td><p></p><p>Objeto  con la información de dirección, ejemplo:</p><pre class="language-json"><code class="lang-json">{
    "nombre": "Ejemplo 1",
    "direccion": {
      "municipio": "Hermosillo",
      "localidad": "Hermosillo",
      "estado": "Sonora",
      "calle": "Articulo 123",
      "colonia": "Misión del sol",
      "cp": "83100",
      "telefono": "",
      "email": "",
      "numero_e": "93A",
      "numero_i": "",
      "pais_residencia": "MEX",
      "latitud": null,
      "longitud": null,
      "referencia": ""
    }
}
</code></pre></td></tr></tbody></table>

## Obtener  un Prospecto

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/prospectos/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 33,
    "next": "https://{clave}.admintotal.com/api/v2/prospectos/",
    "previous": null,
    "results": [
        {
            "id": 2,
            "codigo": "02",
            "empresa": "Mexicana",
            "nombre_comercial": null,
            "sucursal": null,
            "nombre": "rogelio amarillas",
            "rfc": null,
            "recomendo": "claudia robles",
            "status": 1,
            "comentarios": "visitar hoy",
            "stats_display": "Negociación",
            "cotizaciones": []
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Repartidores

## Obtener listado de Repartidores

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/repartidores/`

## Obtener un Repartidor

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/repartidores/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 11,
    "next": "https://{clave}.admintotal.com/api/v2/repartidores/",
    "previous": null,
    "results": [
        {
            "id": 1583,
            "usuario_creado": null,
            "usuario_modificado": null,
            "activo": true,
            "modificado": "2021-09-21T11:36:47.700607-07:00",
            "creado": "2019-12-12T13:34:25.995206-07:00",
            "comentarios": "",
            "metodo_pago": 0,
            "metodo_de_pago": "01",
            "apodo": "",
            "empresa_rfc": "",
            "empresa_rfc_variable": "",
            "user": null,
            "clave": "00011",
            "tipo_nomina": "s",
            "nombre": "Lopez  Heredia",
            "apellido_paterno": "Ernesto",
            "apellido_materno": "Daniel",
            "almacen": 1552,
            "es_vendedor": true,
            "es_repartidor": true,
            "almacenes": [],
            "tipo_cobro": false,
            "comision_venta": "0.00",
            "categoria": 1,
            "puesto": "Emprendimiento",
            "direccion": {
                "id": 772,
                "municipio": "Hermosillo",
                "localidad": "Hermosillo",
                "estado": "Sonora",
                "calle": "Huepac",
                "colonia": "Altaria Residencial",
                "cp": "83107",
                "telefono": "",
                "email": "",
                "numero_e": "5",
                "numero_i": "",
                "pais_residencia": "MEX",
                "latitud": "29.15921700",
                "longitud": "-110.98094500",
                "referencia": null
            },
            "rfc": "LOHD831214Q63",
            "celular": null,
            "curp": "LOHD831214HSRPRN01",
            "foto_empleado": null,
            "ife": null,
            "comprobante": null,
            "nss": "24998348536",
            "imss_umf": null,
            "sucursal_banco": "SANTANDER",
            "fecha_nacimiento": "2020-01-15",
            "lugar_nacimiento_estado": "",
            "lugar_nacimiento_ciudad": "",
            "tiene_infonavit": true,
            "tipo_infonavit": 6,
            "infonavit_numero": "1236478965",
            "infonavit_vsm": "0.00000",
            "infonavit_porcentaje": "0.0000",
            "infonavit_cuota_fija": "0.0000",
            "esta_activo": false,
            "salario": "196.88",
            "ultima_entrada": "2020-01-01",
            "fecha": "2019-12-12",
            "nombre_completo": "Ernesto Daniel Lopez  Heredia",
            "cuenta_bancaria": "2056632556320",
            "banco_nombre": "",
            "cantidad_fija": "0.00",
            "cantidad_variable": "0.00",
            "clase": null,
            "factor_integracion": "1.04520",
            "num_empleado": "",
            "tipo_regimen": 9,
            "departamento_empleado": 1,
            "clabe": "",
            "fecha_iniciorel_laboral": "2020-01-01",
            "tipo_contrato": "02 Contrato de trabajo para obra determinada",
            "tipo_jornada": "01 Diurna",
            "riesgo_puesto": 1,
            "salario_diario_integrado": "203.352767",
            "registro_patronal": 1,
            "meta_ventas": "0.00",
            "meta_utilidad": "0.00",
            "sexo": 1,
            "estado_civil": null,
            "usa_aguinaldo": false,
            "usa_ptu": false,
            "ptu": 2,
            "tipo_empleado": 1,
            "base_pago_sueldo": 1,
            "clave_mesero": null,
            "numero_comanda_inicial": 1,
            "numero_comanda_final": null,
            "ac_no": null,
            "checador_monto_hora": "0.0000",
            "checador_monto_bono": "0.0000",
            "es_asesor_servicios": false,
            "es_tecnico_servicios": false,
            "vehiculo_entrega": 1,
            "usa_prima_dominical": false,
            "dias": 6,
            "es_externo": false,
            "tercero": 2041,
            "licencia_conducir": null,
            "requiere_licencia_conducir": false,
            "numero_licencia": "",
            "tipo_licencia": null,
            "fecha_expedicion_licencia": null,
            "fecha_vencimiento_licencia": null,
            "pasaporte": null,
            "requiere_pasaporte": false,
            "numero_pasaporte": "",
            "fecha_expedicion_pasaporte": null,
            "fecha_vencimiento_pasaporte": null,
            "usar_salario_mixto": false,
            "tipo_trabajador": 1,
            "tipo_salario": 0,
            "jornada_reducida": 0,
            "tipo_gasto": null,
            "outsourcing": false,
            "fecha_termino_infonavit": null,
            "fecha_inicio_infonavit": null
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Sublíneas

## Obtener el listado de subsublíneas de productos

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/sublineas/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 201,
    "next": "https://{clave}.admintotal.com/api/v2/sublineas/",
    "previous": null,
    "results": [
        {
            "id": 1736,
            "linea": 1638,
            "nombre": "LÁCTEOS"
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}


# Subsublíneas

## Obtener listado de subsublíneas

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/subsublineas/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 201,
    "next": "https://{clave}.admintotal.com/api/v2/subsublineas/",
    "previous": null,
    "results": [
        {
            "id": 1836,
            "sublinea": 1736,
            "nombre": "QUESOS"
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}


# Toma de Inventario

Recursos de integración para desarrolladores

Obtener listado de Tomas de Inventario

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/toma_inventario/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
{
    "count": 1106,
    "next": "https://{clave}.admintotal.com/api/v2/movimientos/toma_inventario/",
    "previous": null,
    "results": [
        {
            "id": 573455,
            "status": 1,
            "almacen": 9,
            "fecha": "2026-03-04",
            "fecha_vencimiento": "2026-03-04",
            "iva": "0.00",
            "subtotal": "0.00",
            "total": "0.00",
            "uso_cfdi": null,
            "comentarios": "Toma de inventario",
            "mostrar_comentarios": false,
            "forma_pago": null,
            "detalles": [],
            "creado": "2026-03-04T11:17:15.757397-07:00",
            "xml_timbrado": "",
            "cfdi_uuid": "",
            "cfdi_status": "",
            "cancelado": false,
            "motivo_cancelacion": "",
            "usuario_cancelacion": null,
            "fecha_cancelacion": null,
            "fecha_entrega": null,
            "hora_entrega_a": null,
            "hora_entrega_b": null,
            "centro_costo": 22,
            "tipo_cuenta": 0,
            "cuenta": null,
            "status_display": "Pendientes",
            "direccion_entrega": null,
            "folio": 292,
            "folio_completo": "292",
            "vendedor": "",
            "url_pdf": "",
            "proveedor": []
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener una sola Toma de Inventario

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/toma_inventario/:id`

#### Path Parameters

| Name | Type    | Description                 |
| ---- | ------- | --------------------------- |
| ID   | integer | ID de la Toma de Inventario |

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200" %}

```
{
    "id": 573455,
    "status": 1,
    "almacen": 9,
    "fecha": "2026-03-04",
    "fecha_vencimiento": "2026-03-04",
    "iva": "0.00",
    "subtotal": "0.00",
    "total": "0.00",
    "uso_cfdi": null,
    "comentarios": "Toma de inventario",
    "mostrar_comentarios": false,
    "forma_pago": null,
    "detalles": [
        {
            "id": 1831246,
            "producto": {
                "id": 37496,
                "codigo": "PRODUCTO DE EJEMPLO",
                "descripcion": "Lorem ipsum dolor..."
            },
            "cantidad": 4.0,
            "descripcion_adicional": "",
            "unidad": {
                "id": 1531,
                "nombre": "PIEZA",
                "factor": "1.00000000"
            },
            "precio_um": "0.0",
            "precio_unitario": "0.0",
            "importe": "0.0",
            "total": "0.0",
            "iva": "0.0",
            "ieps": "0.0"
        }
    ],
    "creado": "2026-03-04T11:17:15.757397-07:00",
    "xml_timbrado": "",
    "cfdi_uuid": "",
    "cfdi_status": "",
    "cancelado": false,
    "motivo_cancelacion": "",
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "fecha_entrega": null,
    "hora_entrega_a": null,
    "hora_entrega_b": null,
    "centro_costo": 22,
    "tipo_cuenta": 0,
    "cuenta": null,
    "status_display": "Pendientes",
    "direccion_entrega": null,
    "folio": 292,
    "folio_completo": "292",
    "vendedor": "",
    "url_pdf": "",
    "campos_personalizados": [],
    "movimiento_origen": null,
    "movimientos_relacionados": [],
    "proveedor": {
        "activo": false,
        "tipo_cliente": null,
        "razon_social": "",
        "codigo": "",
        "referencia": "",
        "nombre_comercial": "",
        "sitio_web": "",
        "rfc": "",
        "curp": "",
        "limite_credito": null,
        "representante_legal": "",
        "direccion": {
            "municipio": "",
            "localidad": "",
            "estado": "",
            "calle": "",
            "colonia": "",
            "cp": "",
            "telefono": "",
            "email": "",
            "numero_e": "",
            "numero_i": "",
            "pais_residencia": "",
            "latitud": null,
            "longitud": null,
            "referencia": ""
        },
        "bloquear_vencido": false,
        "dias_cortar_credito": null,
        "dias_credito": null,
        "regimen_fiscal": null
    }
}
```

{% endtab %}
{% endtabs %}

## Crear una Toma de Inventario

<mark style="color:$success;">`POST`</mark> `https://{clave}.admintotal.com/api/v2/movimientos/toma_inventario/`

#### Headers

<table><thead><tr><th>Name</th><th width="202.13671875">Type</th><th>Description</th></tr></thead><tbody><tr><td>Api-key</td><td>String</td><td>Token de autenticación</td></tr></tbody></table>

<table><thead><tr><th width="275.52734375">Name</th><th width="199.97265625">Type</th><th>Description</th></tr></thead><tbody><tr><td>almacén</td><td>Integer</td><td>ID del almacén</td></tr><tr><td>detalles</td><td>Array</td><td><p>Lista de objetos con la información de los productos de la toma de inventario (para especificar el producto puede ser por producto, producto_codigo o producto_codigo_proveedor), ejemplo: </p><pre><code>[
    {
      "cantidad": "1.00",
      "producto_codigo": "PRODUCTO DE EJEMPLO",
      "descripcion": "Liquidar orden de compra"
      "precio_unitario": "100.00",
      "um": {
        "factor": 1,
        "nombre": "Pieza"
      }
    }
]
</code></pre></td></tr></tbody></table>

{% tabs %}
{% tab title="200" %}

```
{
    "id": 573457,
    "status": 1,
    "almacen": 9,
    "fecha": "2026-03-05",
    "fecha_vencimiento": "2026-03-05",
    "iva": "0.00",
    "subtotal": "0.00",
    "total": "0.00",
    "uso_cfdi": null,
    "comentarios": "Toma de inventario",
    "mostrar_comentarios": false,
    "forma_pago": null,
    "detalles": [],
    "creado": "2026-03-05T15:09:06.998753-07:00",
    "xml_timbrado": "",
    "cfdi_uuid": "",
    "cfdi_status": "",
    "cancelado": false,
    "motivo_cancelacion": "",
    "usuario_cancelacion": null,
    "fecha_cancelacion": null,
    "fecha_entrega": null,
    "hora_entrega_a": null,
    "hora_entrega_b": null,
    "centro_costo": 22,
    "tipo_cuenta": 0,
    "cuenta": null,
    "status_display": "Pendientes",
    "direccion_entrega": null,
    "folio": 293,
    "folio_completo": "293",
    "vendedor": "",
    "url_pdf": "",
    "proveedor": []
}
```

{% endtab %}
{% endtabs %}


# Usuarios

## Obtener listado de usuarios

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/usuarios/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | string | Token de autenticación |

{% tabs %}
{% tab title="200 " %}

```
{
    "count": 125,
    "next": "https://{clave}.admintotal.com/api/v2/usuarios/",
    "previous": null,
    "results": [
        {
            "id": 23,
            "username": "usuario1",
            "email": "email@host.com",
            "is_superuser": false,
            "is_staff": false,
            "perfil": {
                "usuario_id": 23,
                "seleccionar_almacen_iniciar_sesion": false,
                "timezone": null,
                "es_repartidor": false,
                "menu_app": []
            },
            "roles": [
                {
                    "id": 4,
                    "nombre": "Bancos"
                },
                {
                    "id": 6,
                    "nombre": "Compras"
                },
                {
                    "id": 7,
                    "nombre": "Contabilidad"
                },
                {
                    "id": 10,
                    "nombre": "Cuentas por pagar"
                },
                {
                    "id": 9,
                    "nombre": "cuentas por cobrar"
                },
                {
                    "id": 13,
                    "nombre": "Nómina"
                },
                {
                    "id": 5,
                    "nombre": "Caja"
                },
                {
                    "id": 19,
                    "nombre": "Gerente Administrativo"
                },
                {
                    "id": 2,
                    "nombre": "Almacenista"
                },
                {
                    "id": 12,
                    "nombre": "Inventario"
                }
            ]
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}


# Vehículos Entrega

## Obtener listado de Vehículos de Entrega

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/vehiculos_entrega/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 9,
    "next": "https://{clave}.admintotal.com/api/v2/vehiculos_entrega/",
    "previous": null,
    "results": [
        {
            "id": 2,
            "activo": true,
            "asegurado": false,
            "matricula": "vwx-121",
            "carga_maxima_kg": 10,
            "comentarios": "Motocicleta Honda 250 modelo 2018",
            "creado": "2019-10-10T13:08:54.025703-07:00",
            "modificado": "2020-06-13T11:53:38.062226-07:00",
            "alias": null,
            "numero_serie": "46565465",
            "kilometraje": 66666
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Obtener un Vehículo de Entrega

<mark style="color:blue;">`GET`</mark> `https://{clave}.admintotal.com/api/v2/vehiculos_entrega/:id/`

#### Headers

| Name    | Type   | Description            |
| ------- | ------ | ---------------------- |
| Api-key | String | Token de autenticación |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "count": 9,
    "next": "https://{clave}.admintotal.com/api/v2/vehiculos_entrega/",
    "previous": null,
    "results": [
        {
            "id": 2,
            "activo": true,
            "asegurado": false,
            "matricula": "vwx-121",
            "carga_maxima_kg": 10,
            "comentarios": "Motocicleta Honda 250 modelo 2018",
            "creado": "2019-10-10T13:08:54.025703-07:00",
            "modificado": "2020-06-13T11:53:38.062226-07:00",
            "alias": null,
            "numero_serie": "46565465",
            "kilometraje": 66666
        }
    ]
}
```

{% endtab %}
{% endtabs %}


