API de partners
Lee en JSON las marcas de todos los partners de Marlon Partners para mostrarlas en otra web, una app o un informe. Es pública: no necesita clave ni registro.
Endpoint
GET
https://marlonpartners.com/api/partners- Sin autenticación. Solo expone los datos públicos de la marca; los contactos y el CRM de cada partner nunca salen por aquí.
- CORS abierto (
Access-Control-Allow-Origin: *): puedes llamarlo directamente desde el navegador en cualquier dominio. - Caché de 1 minuto. Una marca nueva o editada aparece como máximo un minuto después.
- Orden alfabético por nombre. Solo se incluyen las marcas publicadas: cada partner decide desde su portal si su marca aparece o no.
Respuesta
Un objeto con la lista de partners en data y el total en count:
200 OK · application/json
{
"data": [
{
"id": 1,
"name": "Acme",
"description": "Agencia de marketing digital para pymes.",
"website": "https://acme.example",
"email": "hola@acme.example",
"phone": "+34 600 000 000",
"logo_url": "https://falcondatabase.com/storage/v1/…/logos/4/logo.png?v=1793103586531",
"address": "Av. Principal 123",
"postal_code": "28001",
"country": "España",
"url": "https://marlonpartners.com/partners/1",
"team": [
{
"id": 7,
"name": "Laura Gómez",
"phone": "+34 611 111 111",
"email": "laura@acme.example",
"photo_url": "https://falcondatabase.com/storage/v1/…/logos/4/employees/1793103586531.jpg"
}
]
}
],
"count": 1
}| Campo | Tipo | Descripción |
|---|---|---|
| id | number | Identificador de la marca. Estable: úsalo como clave. |
| name | string | Nombre de la marca. Siempre presente. |
| description | string | Descripción de la empresa (texto con saltos de línea), o cadena vacía. |
| website | string | Web del partner con https://, o cadena vacía. |
| string | Email de contacto del partner, o cadena vacía. | |
| phone | string | Teléfono tal como lo escribió el partner, o cadena vacía. |
| logo_url | string | URL pública del logo (PNG, JPG, SVG o WebP), o cadena vacía. |
| address | string | Dirección postal, o cadena vacía. |
| postal_code | string | Código postal, o cadena vacía. |
| country | string | País, o cadena vacía. |
| url | string | Dirección de la página pública del partner en Marlon Partners. |
| team | array | Equipo del partner, ordenado por nombre: objetos con id, name, phone, email y photo_url (cadenas vacías si faltan). Puede estar vacío. |
Los campos opcionales llegan como cadena vacía, nunca como null: comprueba if (partner.logo_url) antes de pintar un logo.
Ejemplos
JavaScript (fetch)
const res = await fetch("https://marlonpartners.com/api/partners");
const { data: partners, count } = await res.json();
for (const partner of partners) {
console.log(partner.name, partner.website, partner.logo_url);
}HTML · widget de logos para cualquier web
<div id="partners"></div>
<script>
fetch("https://marlonpartners.com/api/partners")
.then((res) => res.json())
.then(({ data }) => {
document.getElementById("partners").innerHTML = data
.map((p) => {
const logo = p.logo_url
? `<img src="${p.logo_url}" alt="${p.name}" height="48">`
: `<strong>${p.name}</strong>`;
return p.website ? `<a href="${p.website}" target="_blank" rel="noopener">${logo}</a>` : logo;
})
.join("");
});
</script>curl
curl -s https://marlonpartners.com/api/partnersPython
import requests
partners = requests.get("https://marlonpartners.com/api/partners", timeout=10).json()["data"]
for p in partners:
print(p["name"], p["website"])PHP
<?php
$json = json_decode(file_get_contents("https://marlonpartners.com/api/partners"), true);
foreach ($json["data"] as $partner) {
echo $partner["name"] . " — " . $partner["website"] . PHP_EOL;
}Respuesta en vivo
Lo que devuelve el endpoint ahora mismo:
GET /api/partners · 1 partner
{
"data": [
{
"id": 1,
"name": "Escala",
"description": "",
"website": "",
"email": "",
"phone": "(0975) 500875",
"logo_url": "https://falcondatabase.com/storage/v1/icignhecrvqtjilgqpwc/logos/4/logo.jpeg?v=1793103586531",
"address": "Calle España #1962",
"postal_code": "",
"country": "Paraguay",
"url": "https://marlonpartners.com/partners/1",
"team": []
}
],
"count": 1
}