Koppel uw systemen aan Marcomm AI
Lees nieuwsoverzichten, kritiek nieuws en openstaande goedkeuringen vanuit uw eigen systemen en keur goed of af met uw eigen goedkeuringstools. De API is beschikbaar vanaf het Team-abonnement, na een korte beoordeling.
Aan de slag
- 1Toegang aanvragen
Beschrijf uw systeem en kies de gegevens die u nodig hebt. Elke aanvraag wordt beoordeeld.
- 2Een sleutel aanmaken
Maak na goedkeuring een sleutel aan via Instellingen > API. De sleutel wordt maar één keer getoond, dus bewaar hem in uw systeem.
- 3Een verzoek versturen
Stuur de sleutel mee in de Authorization-header en roep een van de onderstaande endpoints aan.
Voorbeeldverzoek
curl https://app.marcomm.works/api/v1/news/digest?days=7 \
-H "Authorization: Bearer mc_live_..."Authenticatie
Stuur uw sleutel bij elk verzoek mee als Bearer-token. Een persoonlijke sleutel treedt op als de persoon die hem heeft aangemaakt, dus hij kan goedkeuringen lezen en beslissen namens die persoon. Een werkruimtesleutel wordt door een beheerder aangemaakt en kan alleen lezen. Sleutels kunnen verlopen, worden beperkt tot IP-adressen en worden geroteerd: na een rotatie blijft de oude sleutel nog 24 uur werken.
Scopes
Elke sleutel heeft alleen de scopes waarvoor uw toepassing is goedgekeurd.
- news
- Nieuwsoverzicht, artikelen en media.
- crisis
- Kritiek nieuws en crisisincidenten.
- approvals
- Openstaande goedkeuringen, en deze goed- of afkeuren met een persoonlijke sleutel.
- content
- Persberichten en blogberichten lezen.
Endpoints
Paden beginnen met /api/v1. Leesendpoints gebruiken GET en accepteren queryparameters. Een antwoord is JSON in de vorm {"data": ...}.
| Methode | Pad | Scope | Wat het doet |
|---|---|---|---|
| GET | /api/v1/news/digest | news | Aantal vermeldingen, sentiment en topmedia voor een periode. |
| GET | /api/v1/news/articles | news | Zoeken in nieuwsberichtgeving. |
| GET | /api/v1/news/outlets | news | Media die over uw bedrijven berichten. |
| GET | /api/v1/crisis/incidents | crisis | Crisisincidenten en kritieke artikelen. |
| GET | /api/v1/approvals | approvals | Persberichten en blogberichten die op de sleuteleigenaar wachten, en die waarvoor de sleuteleigenaar goedkeuring heeft gevraagd. |
| GET | /api/v1/press-releases | content | Persberichten weergeven. |
| GET | /api/v1/press-releases/{id} | content | Eén persbericht met inleiding en tekst. |
| GET | /api/v1/blog-posts | content | Blogberichten weergeven. |
| GET | /api/v1/blog-posts/{id} | content | Eén blogbericht met de tekst. |
| POST | /api/v1/approvals/press-releases/{id} | approvals | Een persbericht goed- of afkeuren dat op de sleuteleigenaar wacht. |
| POST | /api/v1/approvals/blog-posts/{id} | approvals | Een blogbericht goed- of afkeuren dat op de sleuteleigenaar wacht. |
Goedkeuren en afkeuren
Stuur {"decision": "approve"} of {"decision": "reject", "comment": "..."} naar het item. Bij afkeuren is een opmerking verplicht. De beslissing volgt dezelfde regels als in de app en Slack en wordt vastgelegd onder de sleuteleigenaar. Bevat de tekst formuleringen die bevestiging vereisen, dan ontvangt u 409 confirmation_required met de waarschuwingen en kunt u het verzoek opnieuw versturen met "force": true.
curl -X POST https://app.marcomm.works/api/v1/approvals/press-releases/<id> \
-H "Authorization: Bearer mc_live_..." \
-H "Content-Type: application/json" \
-d '{"decision":"reject","comment":"Please fix the headline."}'Aanvraaglimieten
Limieten gelden per werkruimte, per minuut en per dag (UTC). Antwoorden bevatten de onderstaande headers. Boven de limiet ontvangt u 429 met Retry-After. Vraag een verhoging aan via Instellingen > API als u een limiet wilt verhogen. Ons team beoordeelt de aanvraag.
- X-RateLimit-Limit
- Toegestane verzoeken per minuut.
- X-RateLimit-Remaining
- Resterende verzoeken in de huidige minuut.
- X-RateLimit-Reset
- Unix-tijd waarop het minuutvenster wordt gereset.
- X-RateLimit-Day-Limit
- Toegestane verzoeken per dag.
- X-RateLimit-Day-Remaining
- Resterende verzoeken vandaag.
- Retry-After
- Seconden wachten voordat u het opnieuw probeert. Alleen bij 429.
Fouten
Fouten worden teruggegeven als JSON in de vorm {"error": {"code": ..., "message": ...}}.
| Code | Status | Betekenis |
|---|---|---|
| invalid_key | 401 | De sleutel ontbreekt, heeft een ongeldig formaat of is ingetrokken. |
| expired | 401 | De sleutel is verlopen. Maak een sleutel aan of roteer de sleutel. |
| ip_denied | 403 | De sleutel is beperkt tot andere IP-adressen. |
| plan_required | 403 | De werkruimte heeft geen Team-abonnement of hoger. |
| access_required | 403 | API-toegang is niet goedgekeurd voor deze werkruimte. |
| suspended | 403 | API-toegang voor deze werkruimte is opgeschort. |
| scope_denied | 403 | De sleutel heeft niet de scope die dit endpoint nodig heeft. |
| personal_key_required | 403 | Alleen een persoonlijke sleutel kan goed- of afkeuren. |
| denied | 403 | De rol van de sleuteleigenaar staat dit niet toe. |
| unknown_endpoint | 404 | Dit endpoint bestaat niet. |
| comment_required | 400 | Voor afkeuren is een reden vereist. |
| confirmation_required | 409 | Waarschuwingen vragen om bevestiging. Verstuur opnieuw met force op true. |
| rate_limited | 429 | De limiet per minuut is overschreden. |
| daily_limit | 429 | De dagelijkse limiet is bereikt. |
Webhooks
Meldingen, goedkeuringsverzoeken en de ochtendbriefing kunnen ook naar uw systeem worden gepusht. Voeg een bestemming toe via Instellingen > API > Webhooks. Elk verzoek is JSON met de velden event (alert, approval of briefing), workspace, title, text, url, data en sentAt. Een goedkeuringsverzoek bevat data.kind (press_release, blog of event) en data.id, waarmee u via de API kunt lezen en beslissen.
Elk verzoek is ondertekend. Bereken de HMAC-SHA256 van de ruwe verzoekbody met uw ondertekeningsgeheim en vergelijk die met de X-Marcomm-Signature-header, in de vorm sha256=<hex>. Weiger verzoeken die niet overeenkomen.
Een webhook verifiëren in Node.js
import { createHmac, timingSafeEqual } from 'node:crypto';
export function isFromMarcomm(rawBody: string, signature: string, secret: string) {
const expected = 'sha256=' + createHmac('sha256', secret).update(rawBody).digest('hex');
const a = Buffer.from(expected);
const b = Buffer.from(signature);
return a.length === b.length && timingSafeEqual(a, b);
}Koppelgidsen
Goedkeuren vanuit uw goedkeuringssysteem
- Voeg een algemene webhookbestemming toe en schakel goedkeuringsverzoeken in.
- Controleer bij een binnenkomende goedkeuringswebhook de handtekening en lees data.kind en data.id.
- Toon het verzoek in uw goedkeuringssysteem. Lees de tekst indien nodig met GET press-releases/{id} of blog-posts/{id}.
- Verstuur de beslissing met de persoonlijke sleutel van degene die beslist. Evenementen en e-mailverzendingen worden in de app beslist via de link in het bericht.
Het nieuwsoverzicht in uw dashboard tonen
- Maak een werkruimtesleutel aan met de scopes news en crisis.
- Roep news/digest volgens een schema aan, bijvoorbeeld elke ochtend.
- Roep crisis/incidents vaker aan als u eigen meldingen wilt. Houd de X-RateLimit-headers in de gaten om binnen uw limieten te blijven.
Meldingen in uw chat
- Maak voor Teams en Google Chat de webhook-URL van de ruimte aan en voeg die toe als bestemming via Instellingen > API > Webhooks.
- Koppel JANDI, Dooray! en Chatwork via Instellingen > Integraties.
- Kies per bestemming welke meldingen, goedkeuringsverzoeken en ochtendbriefings worden ontvangen en verstuur een testbericht.
Klaar om te koppelen?
Een eigenaar of beheerder van de werkruimte vraagt toegang aan via Instellingen > API. U ontvangt een melding per e-mail en in de app zodra de beoordeling klaar is.
API-instellingen openen