Примеры кода
TypeScript (React)
import { createClient } from '@maxscrm/sdk';
import type { Contact } from '@maxscrm/sdk/types';
const sdk = createClient({ apiBaseUrl: 'https://api.maxscrm.com', appId: 'com.example.app' });
export function ContactCard({ contactId }: { contactId: string }) {
const [contact, setContact] = useState<Contact | null>(null);
useEffect(() => {
sdk.init(window.WebApp.initData).then(() => sdk.contacts.get(contactId)).then(setContact);
}, [contactId]);
if (!contact) return null;
return (
<div>
<b>{contact.name}</b>
<span>{contact.phone}</span>
</div>
);
}
cURL (отладка)
# Dev-вход
TOKEN=$(curl -s -X POST http://localhost:3000/api/v1/auth/dev \
-H "Content-Type: application/json" \
-d '{"maxUserId":"1","orgSlug":"default"}' | jq -r .accessToken)
# Список контактов
curl -s http://localhost:3000/api/v1/contacts \
-H "Authorization: Bearer $TOKEN"
Python
import requests
BASE = "https://api.maxscrm.com/api/v1"
r = requests.post(f"{BASE}/auth/dev", json={"maxUserId": "1", "orgSlug": "default"})
token = r.json()["accessToken"]
contacts = requests.get(
f"{BASE}/contacts",
headers={"Authorization": f"Bearer {token}"},
).json()
примечание
В продакшене доступ только через SDK — прямые HTTP-вызовы блокируются и отклоняются на ревью. Примеры cURL/Python — для локальной отладки.