Introduction

Esta API permite la integración con el sistema Conecta Carga, ofreciendo acceso a funcionalidades clave como la gestión de DO, autenticación de usuarios y consulta de clientes.

Bienvenido a la documentación de la API de Conecta Carga. Esta API está diseñada para proporcionar una forma sencilla y segura de interactuar con nuestro sistema. Por favor, revise la documentación a continuación para obtener más información sobre cómo utilizar nuestra API.

Authenticating requests

This API is not authenticated.

Autenticación

Iniciar Sesión

POST
https://yoursubdomain.csyp.co
/api/auth/login

Autentica a un usuario y devuelve un token de acceso.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/auth/login';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'username' => 'admin',
            'password' => 'password',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:

Perfil de Usuario

POST
https://yoursubdomain.csyp.co
/api/auth/profile
requires authentication

Obtiene los datos del usuario autenticado, incluyendo su rol y permisos.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/auth/profile';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "user": {
        "id": 1,
        "document_number": "1234098",
        "name": "Juan Perez",
        "username": "USERNAME",
        "email": "user@email.com",
        "phone": "3005000101",
        "position": "GERENCIA",
        "role_id": "1",
        "role_name": "Administrador",
        "is_active": true,
        "is_admin": true,
        "is_operational": true,
        "is_pricing": true,
        "is_sales_person": true,
        "whatsapp_status": false,
        "created_at": "2025-04-07T14:38:19.000000Z",
        "updated_at": "2025-04-24T09:13:08.000000Z"
    },
    "role": {
        "id": 1,
        "nombre": "Administrador",
        "descripcion": "Administrador",
        "maquina": "172.31.11.85",
        "usuario": "MAIKOLCASTANO",
        "permissions": []
    }
}
{
    "message": "Unauthenticated."
}

Permisos del Usuario

POST
https://yoursubdomain.csyp.co
/api/auth/permissions
requires authentication

Obtiene la lista de permisos para el usuario autenticado.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/auth/permissions';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "permissions": [
        {
            "action": "read",
            "subject": "invoices"
        },
        {
            "action": "create",
            "subject": "invoices"
        }
    ]
}
{
    "message": "Unauthenticated."
}

Cerrar Sesión

POST
https://yoursubdomain.csyp.co
/api/auth/logout
requires authentication

Invalida el token de acceso actual del usuario.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/auth/logout';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "message": "Logged out successfully"
}
{
    "message": "Unauthenticated."
}

Clientes

Listado de clientes

GET
https://yoursubdomain.csyp.co
/api/clients

Obtiene una lista paginada de clientes. Puedes filtrar los resultados usando los parámetros de consulta disponibles.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Query Parameters

filters[statuses]
string[]

un array de códigos de estado para filtrar.

Example:
["ACTIVO"]
filters[statuses_info]
string[]

un array de códigos de estado de información para filtrar.

Example:
["VERIFICADO"]
filters[client_type]
string[]

un array de tipos de cliente para filtrar.

Example:
["RATIFICADO"]
filters[category]
string[]

un array de categorías para filtrar.

Example:
["A"]
filters[origin]
string[]

un array de orígenes para filtrar.

Example:
["F"]
filters[advisor]
string[]

un array de IDs de asesores para filtrar.

Example:
["7"]
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/clients';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'query' => [
            'filters[statuses][0]' => 'ACTIVO',
            'filters[statuses_info][0]' => 'VERIFICADO',
            'filters[client_type][0]' => 'RATIFICADO',
            'filters[category][0]' => 'A',
            'filters[origin][0]' => 'F',
            'filters[advisor][0]' => '7',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "data": [
        {
            "id": 1,
            "document_type": "CC",
            "document_number": "12345678",
            "external_id": "EXT-001",
            "name": "John Doe",
            "client_type": "IMPORTADOR",
            "advisor": {
                "id": 1,
                "name": "Jane Smith"
            },
            "username": "JohnDoe",
            "status": "ACTIVO",
            "status_info": "VERIFICADO",
            "status_lead": "CALIFICADO",
            "category": {
                "id": "A"
            },
            "origin": "WEB",
            "load": "FCL",
            "has_portal_access": true,
            "verification_date": "2024-01-15",
            "observations": "Client notes",
            "user": {
                "id": 1
            },
            "created_at": "2024-01-01 10:00:00",
            "updated_at": "2024-01-15 14:30:00"
        }
    ],
    "links": {
        "first": "http://yourdomain.com/api/clients?page=1",
        "last": "http://yourdomain.com/api/clients?page=2",
        "prev": null,
        "next": "http://yourdomain.com/api/clients?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [],
        "path": "http://demo.csyp.com/api/clients",
        "per_page": 10,
        "to": 10,
        "total": 20
    }
}

Crear un cliente

POST
https://yoursubdomain.csyp.co
/api/clients

Crea un nuevo registro de cliente.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/clients';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'document_type_id' => 'architecto',
            'document_number' => 'architecto',
            'generated_document_number' => false,
            'external_id' => 'architecto',
            'name' => 'architecto',
            'client_type' => 'architecto',
            'status' => 'architecto',
            'status_info' => 'architecto',
            'advisor_id' => 16,
            'category_id' => 'architecto',
            'origin' => 'architecto',
            'notes' => 'architecto',
            'verification_date' => 'architecto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "client": {
        "id": 1,
        "document_type": "01",
        "document_number": "123456789",
        "external_id": "EXT-001",
        "name": "John Doe",
        "client_type": "customer",
        "advisor": {
            "id": 1,
            "name": "Jane Smith"
        },
        "username": "JohnDoe",
        "status": "A",
        "status_info": "posible",
        "status_lead": "qualified",
        "category": {
            "id": "A"
        },
        "origin": "web",
        "load": 5,
        "has_portal_access": true,
        "verification_date": "2025-06-26",
        "observations": "This is a note.",
        "user": {
            "id": 1
        },
        "created_at": "2025-06-26T10:00:00.000000Z",
        "updated_at": "2025-06-26T10:00:00.000000Z"
    },
    "message": "Datos registrados"
}
{
    "message": "Error The given data was invalid."
}

Obtener detalle de un cliente

GET
https://yoursubdomain.csyp.co
/api/clients/{id}

Endpoint que permite consultar un cliente registrado en la aplicación.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

id
string
required

The ID of the client.

Example:
architecto
clientId
string

documento del cliente para realizar la acción.

Example:
123456789
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/clients/architecto';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "client": {
        "id": null,
        "document_type": "NIT",
        "document_number": "987654321-0",
        "external_id": "EXT-987",
        "name": "Empresa Ficticia S.A.S.",
        "client_type": "RATIFICADO",
        "advisor": {
            "id": 555,
            "name": "Jane Smith"
        },
        "username": null,
        "status": "ACTIVO",
        "status_info": "COMPLETA",
        "status_lead": "CALIFICADO",
        "category": {
            "id": "A"
        },
        "origin": "MANUAL",
        "load": "GENERAL",
        "has_portal_access": true,
        "verification_date": "27/06/2025",
        "observations": "Cliente de prueba para la documentación.",
        "user": {
            "id": 1
        },
        "created_at": "01/01/2025",
        "updated_at": "27/06/2025"
    }
}
{
    "message": "No query results"
}

Editar Cliente

PUT
PATCH
https://yoursubdomain.csyp.co
/api/clients/{id}

Endpoint que permite editar los datos de un cliente registrado en la aplicación.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

id
string
required

The ID of the client.

Example:
architecto
clientId
string

documento del cliente para realizar la acción.

Example:
123456789

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/clients/architecto';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'document_type_id' => 'architecto',
            'document_number' => 'architecto',
            'external_id' => 'architecto',
            'name' => 'architecto',
            'client_type' => 'architecto',
            'status' => 'architecto',
            'status_info' => 'architecto',
            'advisor_id' => 16,
            'category_id' => 'architecto',
            'origin' => 'architecto',
            'notes' => 'architecto',
            'verification_date' => 'architecto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "client": {
        "id": 1,
        "document_type": "01",
        "document_number": "123456789",
        "external_id": "EXT-001",
        "name": "John Doe Updated",
        "client_type": "customer",
        "advisor": {
            "id": 987654321,
            "name": "Jane Smith"
        },
        "username": null,
        "status": "A",
        "status_info": "posible",
        "status_lead": "CALIFICADO",
        "category": {
            "id": "A"
        },
        "origin": "web",
        "load": "FCL",
        "has_portal_access": false,
        "verification_date": "2025-06-27",
        "observations": "This is an updated note.",
        "user": {
            "id": 1
        },
        "created_at": "26/06/2025",
        "updated_at": "26/06/2025"
    },
    "message": "Datos Actualizados"
}
{
    "message": "Error The given data was invalid."
}

Eliminar cliente

DELETE
https://yoursubdomain.csyp.co
/api/clients/{id}

Endpoint que permite eliminar un cliente en la aplicación.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

id
string
required

The ID of the client.

Example:
architecto
clientId
string
required

ID del cliente a eliminar.

Example:
123456789
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/clients/architecto';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "message": "Eliminado correctamente"
}
{
    "message": "Error Could not delete client."
}

Actualizar Acceso al Portal del Cliente

PUT
https://yoursubdomain.csyp.co
/api/clients/client-portal-access/{client}

Actualiza las credenciales de acceso al portal para un cliente específico.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

client
string
required
Example:
architecto
clientId
string
required

El ID del cliente a actualizar.

Example:
123456789

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/clients/client-portal-access/architecto';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'has_portal_access' => true,
            'username' => '"johndoe"',
            'password' => '"secret123"',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
 "client": {
     "id": 1,
     "has_portal_access": true,
     "username": "JohnDoe",
 },
 "message": "Datos Actualizados"
}
{
    "message": "Error The given data was invalid."
}

Contactos de clientes

Listado de contactos de clientes

GET
https://yoursubdomain.csyp.co
/api/client-contacts

Obtiene una lista paginada de contactos de clientes. Puedes filtrar los resultados usando los parámetros de consulta disponibles.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Query Parameters

business_associate_id
string

El ID del cliente al que pertenece el contacto.

Example:
123456
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/client-contacts';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'query' => [
            'business_associate_id' => '123456',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "data": [
        {
            "id": 1,
            "business_associate": {
                "id": "000000001",
                "name": "Nombre cliente"
            },
            "business_name": "Nombre empresa",
            "name": "Nombre contacto",
            "position": "Cargo",
            "type": "Tipo",
            "email": "correo@example.com",
            "city": "Ciudad",
            "phone": "123456789",
            "mobile_phone": "987654321",
            "birthday": "1990-01-01",
            "notes": "Creado automáticamente el 25/11/2020",
            "is_admin": false,
            "is_sales_person": false,
            "is_operational": true,
            "whatsapp_status": false,
            "created_at": "2020-11-25 10:38:57",
            "created_by": "USUARIO",
            "updated_at": "2020-11-25 10:38:57",
            "updated_by": "USUARIO"
        }
    ],
    "links": {
        "first": "http://yourdomain.com/api/client-contacts?page=1",
        "last": "http://yourdomain.com/api/client-contacts?page=2",
        "prev": null,
        "next": "http://yourdomain.com/api/client-contacts?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [],
        "path": "http://demo.csyp.com/api/client-contacts",
        "per_page": 10,
        "to": 10,
        "total": 20
    }
}

Crear un contacto de cliente

POST
https://yoursubdomain.csyp.co
/api/client-contacts

Crea un nuevo registro de contacto de cliente.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/client-contacts';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'business_associate_id' => '"0000000028"',
            'business_name' => '"Empresa"',
            'name' => '"Nombre"',
            'position' => '"Cargo"',
            'email' => '"correo@correo.com"',
            'mobile_phone' => '"987654321"',
            'phone' => '"123456789"',
            'city' => '"Ciudad"',
            'birthday' => '"2025-11-12"',
            'type' => '"Tipo"',
            'whatsapp_status' => false,
            'is_sales_person' => true,
            'is_operational' => true,
            'is_admin' => true,
            'tags' => [
                '13',
                '11',
            ],
            'notes' => '"Notas"',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "contact": {
        "id": 1,
        "business_associate": {
            "id": "000000001",
            "name": "Nombre cliente"
        },
        "business_name": "Nombre empresa",
        "name": "Nombre contacto",
        "position": "Cargo",
        "type": "Tipo",
        "email": "correo@example.com",
        "city": "Ciudad",
        "phone": "123456789",
        "mobile_phone": "987654321",
        "birthday": "1990-01-01",
        "notes": "Creado automáticamente el 25/11/2020",
        "is_admin": false,
        "is_sales_person": false,
        "is_operational": true,
        "whatsapp_status": false,
        "created_at": "2020-11-25 10:38:57",
        "created_by": "USUARIO",
        "updated_at": "2020-11-25 10:38:57",
        "updated_by": "USUARIO"
    },
    "message": "Datos registrados"
}
{
    "message": "Error The given data was invalid."
}

Obtener detalle de un contacto de cliente

GET
https://yoursubdomain.csyp.co
/api/client-contacts/{id}

Endpoint que permite consultar un contacto de cliente registrado en la aplicación.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

id
string
required

The ID of the client contact.

Example:
architecto
contactId
integer
required

ID del contacto de cliente para realizar la acción.

Example:
1
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/client-contacts/architecto';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "contact": {
        "id": 1,
        "business_associate": {
            "id": "000000001",
            "name": "Nombre cliente"
        },
        "business_name": "Nombre empresa",
        "name": "Nombre contacto",
        "position": "Cargo",
        "type": "Tipo",
        "email": "correo@example.com",
        "city": "Ciudad",
        "phone": "123456789",
        "mobile_phone": "987654321",
        "birthday": "1990-01-01",
        "notes": "Creado automáticamente el 25/11/2020",
        "is_admin": false,
        "is_sales_person": false,
        "is_operational": true,
        "whatsapp_status": false,
        "created_at": "2020-11-25 10:38:57",
        "created_by": "USUARIO",
        "updated_at": "2020-11-25 10:38:57",
        "updated_by": "USUARIO"
    }
}
{
    "message": "No query results"
}

Editar Contacto de Cliente

PUT
PATCH
https://yoursubdomain.csyp.co
/api/client-contacts/{id}

Endpoint que permite editar los datos de un contacto de cliente registrado en la aplicación.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

id
string
required

The ID of the client contact.

Example:
architecto
contactId
integer
required

ID del contacto de cliente para realizar la acción.

Example:
1

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/client-contacts/architecto';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'business_associate_id' => '"0000000028"',
            'business_name' => '"EMPRESA LTDA"',
            'name' => '"Nombre"',
            'position' => '"Cargo"',
            'type' => '"Tipo"',
            'email' => '"correo@correo.com"',
            'city' => '"Ciudad"',
            'phone' => '"3012503849"',
            'mobile_phone' => '"3012503849"',
            'birthday' => '"2025-11-12"',
            'is_admin' => true,
            'is_sales_person' => true,
            'is_operational' => true,
            'whatsapp_status' => true,
            'tags' => [
                '13',
                '12',
                '1',
            ],
            'notes' => '"Creado automáticamente el 25/11/2020"',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
 "contact": {
     "id": 1,
     "client": {
         "id": "000000001",
         "name": "Nombre cliente",
     }
     "business_name": "Nombre empresa",
     "name": "Nombre contacto",
     "position": "Cargo",
     "type": "Tipo",
     "email": "correo@example.com",
     "city": "Ciudad",
     "phone": "123456789",
     "mobile_phone": "987654321",
     "birthday": "1990-01-01",
     "notes": "Creado automáticamente el 25/11/2020",
     "is_admin": false,
     "is_sales_person": false,
     "is_operational": true,
     "whatsapp_status": false,
     "created_at": "2020-11-25 10:38:57",
     "created_by": "USUARIO",
     "updated_at": "2020-11-25 10:38:57",
     "updated_by": "USUARIO"
  },
 "message": "Datos Actualizados"
}
{
    "message": "Error The given data was invalid."
}

Eliminar Contacto de Cliente

DELETE
https://yoursubdomain.csyp.co
/api/client-contacts/{id}

Endpoint que permite eliminar un contacto de cliente.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

id
string
required

The ID of the client contact.

Example:
architecto
contactId
integer
required

ID del contacto de cliente a eliminar.

Example:
1
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/client-contacts/architecto';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "message": "Eliminado correctamente"
}
{
    "message": "Error Could not delete client."
}

Cotizaciones

Listado de Cotizaciones

GET
https://yoursubdomain.csyp.co
/api/quotes

Obtiene una lista paginada de Cotizaciones. Puedes filtrar los resultados usando los parámetros de consulta disponibles.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Query Parameters

search
string

Buscar por número de cotización.

Example:
123456
statuses
string[]

Filtrar por estado.

Example:
["APROBADO","ENPROCESO"]
filters.subtype
string[]

Filtrar por subtipo.

Example:
["EXTERNO","INTERNO"]
filters.office
string[]

Filtrar por oficina.

Example:
["1","2"]
filters.origin
string[]

Filtrar por origen.

Example:
["1","2"]
filters.destination
string[]

Filtrar por destino.

Example:
["1","2"]
filters.incoterm
string[]

Filtrar por incoterm.

Example:
["1","2"]
filters.currency
string[]

Filtrar por moneda.

Example:
["1","2"]
date_range
string[]

Filtrar por rango de fecha.

Example:
["2022-01-01","2022-12-31"]
additional_fields
string[]

Filtrar por campos adicionales.

Example:
["1","2"]
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/quotes';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'query' => [
            'search' => '123456',
            'statuses[0]' => 'APROBADO',
            'statuses[1]' => 'ENPROCESO',
            'date_range[0]' => '2022-01-01',
            'date_range[1]' => '2022-12-31',
            'additional_fields[0]' => '1',
            'additional_fields[1]' => '2',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "data": [
        {
            "id": "CSYP2055",
            "consecutive": null,
            "delivery_order_id": null,
            "user_id": "SOPORTE",
            "advisor_id": "901086265",
            "advisor_name": "Soporte",
            "campaign_id": "38",
            "campaign_name": "TARIFAS PROMOCIONALES ",
            "client_id": "",
            "client_name": null,
            "contact_id": "5",
            "contact_name": "Adriana Zapata",
            "supplier_id": "",
            "supplier_name": null,
            "shipper_id": null,
            "shipper_name": null,
            "consignee_id": null,
            "consignee_name": null,
            "notifier_id": null,
            "notifier_name": null,
            "description": "",
            "entry_date": "23/04/2025",
            "currency": "COP",
            "office": "Routing order Honduras",
            "origin": "ALEMANIA - BIELEFELD",
            "destination": "ALEMANIA - ANSBACH",
            "service_id": "PICKUP",
            "service_name": "PICK UP ORDER nacional",
            "subtype": "PICKUP",
            "language": "",
            "incoterm": "CIF",
            "shipping_observations": null,
            "rate_id": "",
            "version": 1,
            "status": "REQUERIMIENTO",
            "rejection_reason": "REVIS",
            "requirement_id": 114,
            "created_at": "23/04/2025",
            "updated_at": "23/04/2025"
        }
    ],
    "links": {
        "first": "http://yourdomain.com/api/quotes?page=1",
        "last": "http://yourdomain.com/api/quotes?page=2",
        "prev": null,
        "next": "http://yourdomain.com/api/quotes?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [],
        "path": "http://demo.csyp.com/api/quotes",
        "per_page": 10,
        "to": 10,
        "total": 20
    }
}

Crear Cotización

POST
https://yoursubdomain.csyp.co
/api/quotes

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/quotes';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => [
            'office' => 'architecto',
            'sales_person' => 'architecto',
            'currency' => 'architecto',
            'status' => 'architecto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Cuadro Contable

Cuadro Contable

GET
https://yoursubdomain.csyp.co
/api/accounting-tables

Obtiene una lista paginada del Cuadro Contable. Puedes filtrar los resultados usando los parámetros de consulta disponibles.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Query Parameters

page
integer

Número de página para la paginación.

Example:
1
per_page
integer

Número de elementos por página.

Example:
15
search
string

Término de búsqueda para filtrar los resultados.

Example:
"ABC123"
delivery_order_id
string

Filtrar por DO.

Example:
"DO12345"
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/accounting-tables';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'query' => [
            'page' => '1',
            'per_page' => '15',
            'search' => '"ABC123"',
            'delivery_order_id' => '"DO12345"',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "data": [
        {
            "id": 1,
            "quote_id": 1,
            "delivery_order_id": 1,
            "payment_term": "N/A",
            "income_type": "N/A",
            "concept": "N/A",
            "group_id": 1,
            "variation": "N/A",
            "service_type": "N/A",
            "supplier_type": "N/A",
            "supplier_id": 1,
            "supplier_name": "N/A",
            "third_party_id": 1,
            "applies_by": "N/A",
            "unit": "N/A",
            "sale_type": "N/A",
            "sale_rate": 1,
            "sale_rate_min": 1,
            "sale_subtotal": 1,
            "sale_currency": "N/A",
            "sale_exchange_rate": 1,
            "tax_rate": 1,
            "total_sale": 1,
            "total_sale_local_currency": 1,
            "tax": 1,
            "tax_local_currency": 1,
            "sale_subtotal_local_currency": 1,
            "purchase_type": "N/A",
            "purchase": 1,
            "purchase_rate": 1,
            "purchase_rate_min": 1,
            "purchase_currency": "N/A",
            "purchase_exchange_rate": 1,
            "purchase_local_currency": 1,
            "purchase_invoice": "N/A",
            "purchase_invoice_date": "2021-01-01",
            "commission": 1,
            "commission_value": 1,
            "commission_value_local_currency": 1,
            "profit": 1,
            "quote_notes": "N/A",
            "delivery_order_notes": "N/A",
            "user_id": 1,
            "created_at": "2025-01-01 00:00:00",
            "updated_at": "2025-01-01 00:00:00"
        }
    ],
    "links": {
        "first": "http://yourdomain.com/api/accounting-tables?page=1",
        "last": "http://yourdomain.com/api/accounting-tables?page=2",
        "prev": null,
        "next": "http://yourdomain.com/api/accounting-tables?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [],
        "path": "http://demo.csyp.com/api/accounting-tables",
        "per_page": 10,
        "to": 10,
        "total": 20
    }
}

Crear un registro en el cuadro contable.

POST
https://yoursubdomain.csyp.co
/api/accounting-tables

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/accounting-tables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

DO

Listado de DO

GET
https://yoursubdomain.csyp.co
/api/delivery-orders

Obtiene una lista paginada de DO. Puedes filtrar los resultados usando los parámetros de consulta disponibles.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Query Parameters

page
integer

Número de página para la paginación.

Example:
1
per_page
integer

Número de elementos por página.

Example:
15
search
string

Término de búsqueda para filtrar los resultados.

Example:
"ABC123"
filters[date_range]
string[]

Un array con dos fechas ('d/m/Y') para filtrar por fecha de ingreso.

Example:
["01\/01\/2025","31\/12\/2025"]
filters[statuses]
string[]

Un array de códigos de estado para filtrar.

Example:
["A"]
filters[statuses_info]
string[]

Un array de códigos de información de estado para filtrar.

Example:
["open"]
filters[subtype]
string[]

Un array de códigos de subtipo para filtrar.

Example:
["IMP"]
filters[office]
string[]

Un array de códigos de oficina para filtrar.

Example:
["UIO"]
filters[incoterm]
string[]

Un array de códigos de incoterm para filtrar.

Example:
["FOB"]
filters[currency]
string[]

Un array de códigos de moneda para filtrar.

Example:
["USD"]
filters[additional_fields]
string

Un array de objetos con claves de campos para filtrar.

Example:
[{"additional_field_key": "additional_field_value"}]
display_additional_fields
string[]

Un array de claves de campos para incluir en la respuesta.

Example:
["additional_field_key"]
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/delivery-orders';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'query' => [
            'page' => '1',
            'per_page' => '15',
            'search' => '"ABC123"',
            'filters[date_range][0]' => '01/01/2025',
            'filters[date_range][1]' => '31/12/2025',
            'filters[statuses][0]' => 'A',
            'filters[statuses_info][0]' => 'open',
            'filters[subtype][0]' => 'IMP',
            'filters[office][0]' => 'UIO',
            'filters[incoterm][0]' => 'FOB',
            'filters[currency][0]' => 'USD',
            'filters[additional_fields]' => '[{"additional_field_key": "additional_field_value"}]',
            'display_additional_fields[0]' => 'additional_field_key',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "data": [
        {
            "id": 1,
            "delivery_order": "DO-001",
            "quote_id": "QT-001",
            "type": "type",
            "subtype": "IMP",
            "month": "JAN",
            "year": 2025,
            "date": "01/01/2025",
            "entry_date": "01/01/2025",
            "alert_date": "15/01/2025",
            "close_date": null,
            "service_id": "SRV-01",
            "service_name": "Service Name",
            "client_id": "CLI-01",
            "client_name": "Client Name",
            "advisor_id": "ADV-01",
            "advisor_name": "Advisor Name",
            "agent_id": "AGN-01",
            "agent_name": "Agent Name",
            "coordinator_id": "COO-01",
            "coordinator_name": "Coordinator Name",
            "consignee_id": "CON-01",
            "etd": "01/01/2025",
            "eta": "15/01/2025",
            "total_sale": 1000,
            "total_purchase": 800,
            "status": "A",
            "status_info": "open",
            "shipment_name": "Shipment Name",
            "office_id": "UIO",
            "office_name": "Quito Office",
            "currency": "USD",
            "incoterm": "FOB",
            "observations": "Some observations.",
            "color": "#FF0000",
            "user_id": "user123",
            "last_novelty": "2025-01-01 10:00:00",
            "info_pro_number": "PN12345"
        }
    ],
    "links": {
        "first": "http://yourdomain.com/api/delivery-orders?page=1",
        "last": "http://yourdomain.com/api/delivery-orders?page=2",
        "prev": null,
        "next": "http://yourdomain.com/api/delivery-orders?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [],
        "path": "http://demo.csyp.com/api/delivery-orders",
        "per_page": 10,
        "to": 10,
        "total": 20
    }
}

Crea un nuevo DO.

POST
https://yoursubdomain.csyp.co
/api/delivery-orders

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/delivery-orders';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Información Adicional

Información adicional de un registro.

GET
https://yoursubdomain.csyp.co
/api/additional-info/{type}/{id}

Endpoint para obtener la información adicional de Clientes, Proveedores, Cotizaciones, Requerimientos, Shipping Instruction y DO.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

type
string

Tipo de recurso a consultar (client, supplier, quote, requirement, delivery-order).

Example:
client
id
string

ID del tipo de registro a consultar.

Example:
123456789
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/additional-info/client/123456789';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "description": "Información Adicional",
    "type": "group",
    "group": "group_1",
    "items": [
        {
            "description": "Dirección Empresa",
            "attribute": 1001,
            "value": null,
            "type": "input",
            "list": null,
            "group": null
        }
    ]
}

Editar la información adicional de un registro.

PUT
https://yoursubdomain.csyp.co
/api/additional-info/{type}/{id}

Endpoint para editar la información adicional de Clientes, Proveedores, Cotizaciones, Requerimientos, Shipping Instruction y DO.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

URL Parameters

type
string

Tipo de recurso a consultar (client, supplier, quote, requirement, delivery-order).

Example:
client
id
string

ID del tipo de registro a consultar.

Example:
123456789

Body Parameters

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/additional-info/client/123456789';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'json' => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
            $o = [
                clone (\Symfony\Component\VarExporter\Internal\Registry::$prototypes['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')),
            ],
            null,
            [
                'stdClass' => [
                    'attribute' => [
                        1001,
                    ],
                    'value' => [
                        'test',
                    ],
                ],
            ],
            [
                'items' => [
                    $o[0],
                ],
            ],
            []
        ),
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Piezas

Listado de Piezas

GET
https://yoursubdomain.csyp.co
/api/pieces

Obtiene una lista paginada de Piezas. Puedes filtrar los resultados usando los parámetros de consulta disponibles.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co

Query Parameters

page
integer

Número de página para la paginación.

Example:
1
per_page
integer

Número de elementos por página.

Example:
15
search
string

Término de búsqueda para filtrar los resultados.

Example:
"ABC123"
filters[statuses][]
string

Códigos de estado para filtrar las piezas.

Example:
["PICK_UP", "ON_HAND", "CREATED", "DELIVERED"]
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/pieces';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
        'query' => [
            'page' => '1',
            'per_page' => '15',
            'search' => '"ABC123"',
            'filters[statuses][]' => '["PICK_UP", "ON_HAND", "CREATED", "DELIVERED"]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response:
{
    "data": [
        {
            "id": 168,
            "external_id": "1321313",
            "client_id": "1037619229",
            "delivery_orders": "WR240387",
            "qty": 1,
            "weight_calculation_mode": "0",
            "gross_weight": 4.99,
            "weight_unit": "KG",
            "length": 12,
            "width": 23,
            "height": 3,
            "cubic_feet": 0.02924,
            "cubic_mt": 0.00083,
            "total_gross_weight": 4.99,
            "volume": 828,
            "volume_pieces": "0",
            "dimension_unit": "cm",
            "location_id": 0,
            "package_type": "CAJA",
            "description": "partes de motos",
            "status": "ON_HAND",
            "processes_count": 2,
            "created_at": "2025-08-23 18:44:20",
            "created_by": "SOPORTE",
            "updated_at": "2025-08-23 18:44:20",
            "updated_by": "SOPORTE"
        }
    ],
    "links": {
        "first": "http://yoursubdomain.csyp.co/api/pieces?page=1",
        "last": "http://yoursubdomain.csyp.co/api/pieces?page=2",
        "prev": null,
        "next": "http://yoursubdomain.csyp.co/api/pieces?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [],
        "path": "http://yoursubdomain.csyp.co/api/pieces",
        "per_page": 10,
        "to": 10,
        "total": 20
    }
}

Crear una pieza

POST
https://yoursubdomain.csyp.co
/api/pieces

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json
Origin
Example:
https://yoursubdomain.conectacargo.co
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://yoursubdomain.csyp.co/api/pieces';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Origin' => 'https://yoursubdomain.conectacargo.co',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));