Skip to main content

Overview

The EmpresaXPublicista API manages the many-to-many relationships between companies (Empresas) and publicists (Publicistas). This allows publicists to work with multiple companies, and companies to work with multiple publicists.

Base Endpoint

POST   /Database/Database/empresaxpublicistas/
GET    /Database/Database/empresaxpublicistas/
GET    /Database/Database/empresaxpublicistas/{id}/
PUT    /Database/Database/empresaxpublicistas/{id}/
PATCH  /Database/Database/empresaxpublicistas/{id}/
DELETE /Database/Database/empresaxpublicistas/{id}/

The EmpresaXPublicista Object

id
integer
required
Unique identifier for the relationship (auto-generated)
id_publicista
integer
required
Foreign key reference to the Publicista (Advertiser) in this relationship
id_empresa
integer
required
Foreign key reference to the Empresa (Company) in this relationship
estado
integer
required
Status of the relationship. Common values:
  • 0: Inactive
  • 1: Active
  • 3: Terminated
fecha_creacion
date
required
Date when the relationship was established (YYYY-MM-DD format)
fecha_modificacion
date
required
Date when the relationship was last modified (YYYY-MM-DD format)

Create a Company-Publicist Relationship

curl -X POST https://api.example.com/Database/Database/Database/empresaxpublicistas/ \
  -H "Content-Type: application/json" \
  -d '{
    "id_publicista": 5,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-01-25",
    "fecha_modificacion": "2024-01-25"
  }'
{
  "id": 18,
  "id_publicista": 5,
  "id_empresa": 12,
  "estado": 1,
  "fecha_creacion": "2024-01-25",
  "fecha_modificacion": "2024-01-25"
}

Retrieve a Relationship

curl -X GET https://api.example.com/Database/Database/Database/empresaxpublicistas/18/
{
  "id": 18,
  "id_publicista": 5,
  "id_empresa": 12,
  "estado": 1,
  "fecha_creacion": "2024-01-25",
  "fecha_modificacion": "2024-01-25"
}

List All Relationships

curl -X GET https://api.example.com/Database/Database/Database/empresaxpublicistas/
[
  {
    "id": 18,
    "id_publicista": 5,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-01-25",
    "fecha_modificacion": "2024-01-25"
  },
  {
    "id": 19,
    "id_publicista": 5,
    "id_empresa": 13,
    "estado": 1,
    "fecha_creacion": "2024-02-01",
    "fecha_modificacion": "2024-02-01"
  },
  {
    "id": 20,
    "id_publicista": 6,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-02-10",
    "fecha_modificacion": "2024-02-10"
  }
]

Update a Relationship

curl -X PATCH https://api.example.com/Database/Database/Database/empresaxpublicistas/18/ \
  -H "Content-Type: application/json" \
  -d '{
    "estado": 0,
    "fecha_modificacion": "2024-03-09"
  }'
{
  "id": 18,
  "id_publicista": 5,
  "id_empresa": 12,
  "estado": 0,
  "fecha_creacion": "2024-01-25",
  "fecha_modificacion": "2024-03-09"
}

Delete a Relationship

curl -X DELETE https://api.example.com/Database/Database/Database/empresaxpublicistas/18/
HTTP 204 No Content

Filter by Publicist

Retrieve all companies associated with a specific publicist:
curl -X GET "https://api.example.com/Database/Database/Database/empresaxpublicistas/?id_publicista=5"
[
  {
    "id": 18,
    "id_publicista": 5,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-01-25",
    "fecha_modificacion": "2024-01-25"
  },
  {
    "id": 19,
    "id_publicista": 5,
    "id_empresa": 13,
    "estado": 1,
    "fecha_creacion": "2024-02-01",
    "fecha_modificacion": "2024-02-01"
  }
]

Filter by Company

Retrieve all publicists associated with a specific company:
curl -X GET "https://api.example.com/Database/Database/Database/empresaxpublicistas/?id_empresa=12"
[
  {
    "id": 18,
    "id_publicista": 5,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-01-25",
    "fecha_modificacion": "2024-01-25"
  },
  {
    "id": 20,
    "id_publicista": 6,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-02-10",
    "fecha_modificacion": "2024-02-10"
  }
]

Filter by Status

Retrieve only active relationships:
curl -X GET "https://api.example.com/Database/Database/Database/empresaxpublicistas/?estado=1"

Combined Filters

You can combine multiple filters to narrow down results:
curl -X GET "https://api.example.com/Database/Database/Database/empresaxpublicistas/?id_publicista=5&estado=1"
[
  {
    "id": 18,
    "id_publicista": 5,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": "2024-01-25",
    "fecha_modificacion": "2024-01-25"
  },
  {
    "id": 19,
    "id_publicista": 5,
    "id_empresa": 13,
    "estado": 1,
    "fecha_creacion": "2024-02-01",
    "fecha_modificacion": "2024-02-01"
  }
]

Use Cases

Grant Publicist Access to Company

When a company wants to work with a publicist, create an active relationship:
Python
import requests
from datetime import date

url = "https://api.example.com/Database/Database/empresaxpublicistas/"
today = date.today().isoformat()

payload = {
    "id_publicista": 5,
    "id_empresa": 12,
    "estado": 1,
    "fecha_creacion": today,
    "fecha_modificacion": today
}

response = requests.post(url, json=payload)
if response.status_code == 201:
    print("Publicist granted access to company")

Revoke Publicist Access

To revoke a publicist’s access to a company, update the relationship status:
Python
import requests
from datetime import date

relationship_id = 18
url = f"https://api.example.com/Database/Database/empresaxpublicistas/{relationship_id}/"

payload = {
    "estado": 0,
    "fecha_modificacion": date.today().isoformat()
}

response = requests.patch(url, json=payload)
if response.status_code == 200:
    print("Publicist access revoked")

Get All Companies for a Publicist

Retrieve all companies that a publicist can manage:
Python
import requests

publicist_id = 5
url = f"https://api.example.com/Database/Database/empresaxpublicistas/?id_publicista={publicist_id}&estado=1"

response = requests.get(url)
relationships = response.json()

company_ids = [rel['id_empresa'] for rel in relationships]
print(f"Publicist {publicist_id} manages companies: {company_ids}")

Integration with Views

The platform includes specialized views that use these relationships:
  • empresas_list/{usuario_id}/ - Returns companies accessible to a publicist user
  • sectores_por_usuario/{usuario_id}/ - Returns sectors for companies a publicist manages
These views automatically filter based on the user’s role and their EmpresaXPublicista relationships.

Build docs developers (and LLMs) love