Utviklere

POST/tcr/v2/campaignBuilder

Registrer en 10DLC-kampanje

Send inn en kvalifisert kampanje og skill registerregistrering fra operatøraktivering og sendingsberedskap.

På denne siden
  1. Kvalifiser en merkevare før du registrerer kampanjen dens
  2. Hold sandkasse og produksjon atskilt
  3. Send inn kampanje-JSON-en
  4. Kampanjefelter og betingede krav
  5. Prøv samme tiltenkte forespørsel på nytt på en sikker måte
  6. En kampanje-ID er ikke det endelige sendeoppsettet
  7. Gebyrer for kampanjer i produksjon
  8. Håndter validering og delvise feil

Kvalifiser en merkevare før du registrerer kampanjen dens

En 10DLC-kampanje beskriver meldingene en registrert virksomhet planlegger å sende, hvordan mottakerne samtykker, og hvordan de kan få hjelp eller stoppe meldinger. Dette API-et oppretter registerposten; å fullføre operatøraktivering i produksjon er et separat kontooppsettstrinn. Bruk en eid merkevare fra merkevareregistrering, last deretter inn tilgjengelige brukstilfeller og det valgte brukstilfellets gjeldende krav.

Bruk det gjeldende kvalifiseringsresultatet til å velge underbrukstilfeller, kvalifiserte nettverks-ID-er, meldingseksempler og opt-in-/opt-out-/help-erklæringer. Kravene kan variere etter merkevare og nettverk. Ikke send inn eksemplets identifikatorer eller kopier samtykkebeskrivelsen for en virksomhet med en annen prosess.

Hold sandkasse og produksjon atskilt

Ved en sandkasseøvelse bruker du din egen testmerkevare og et gjeldende brukstilfelle den kvalifiserer for. Bruk TRIAL bare når kvalifiseringen tilbyr det. Portalen kontrollerer at valgt merkevare og kampanjemiljø samsvarer. En direkte API-forespørsel kjører ikke portalens fullstendige veiviservalidering for deg, så bevar dette skillet i integrasjonen din.

Oppretting av kampanje i produksjon er fakturerbar og gjør ikke automatisk et nummer klart til sending. Hold kampanjemiljøet i samsvar med merkevaren, og gjennomgå gebyret og gjeldende vilkår før du oppretter en kampanje i produksjon.

Send inn kampanje-JSON-en

Klargjør campaign.json med dine kvalifiserte verdier. R000000 betyr ingen forhandler; bruk den bare når det er den tiltenkte konfigurasjonen. Ved normal MultiTEL-forhandlerkonfigurasjon henter du den tillatte MultiTEL LLC-forhandleridentifikatoren fra kontoens forhandlersamling eller portalens klargjøringsflyt i stedet for å hardkode en annens identifikator.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  'https://api.multitel.net/tcr/v2/reseller?companyName=MultiTEL%20LLC&recordsPerPage=500'

Følgende JSON illustrerer en testkampanje for en eid testmerkevare. Erstatt merkevaren, brukstilfellet, forhandleren og samtykketeksten med verdiene som faktisk kvalifiserer for testen din.

{
  "brandId": "B123ABC",
  "channelId": "10DLC",
  "usecase": "TRIAL",
  "subUsecases": [],
  "resellerId": "R000000",
  "description": "Trial account notices requested by users of the example application.",
  "messageFlow": "Test users explicitly select an unchecked consent box before requesting these trial notices.",
  "sample1": "Example application: your requested account notice is available. Reply STOP to stop notices.",
  "subscriberOptin": true,
  "optinKeywords": "START",
  "optinMessage": "You are subscribed to the example application's requested account notices.",
  "subscriberOptout": true,
  "optoutKeywords": "STOP",
  "optoutMessage": "You will no longer receive the example application's account notices.",
  "subscriberHelp": true,
  "helpKeywords": "HELP",
  "helpMessage": "For help with example account notices, contact support@example.invalid.",
  "embeddedLink": false,
  "embeddedPhone": false,
  "numberPool": false,
  "ageGated": false,
  "directLending": false,
  "termsAndConditions": true,
  "autoRenewal": false,
  "mnoIds": [],
  "referenceId": "your-trial-reference"
}

Sett termsAndConditions til true først etter at den autoriserte personen har gjennomgått og godtatt gjeldende vilkår. Eksemplet er ikke samtykke på dine vegne. Bruk JSON-boolske verdier for flaggene, ikke strenger i anførselstegn.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --data-binary @campaign.json \
  'https://api.multitel.net/tcr/v2/campaignBuilder'

Kampanjefelter og betingede krav

10DLC-kampanjeforespørsel
FelterHva du skal oppgi
brandId, channelId, usecaseDin eide merkevare, kanal 10DLC og en kvalifisert gjeldende brukstilfellekode. Bruk koder fra kvalifiseringen, ikke oversatte etiketter.
subUsecasesEn matrise med kvalifiserte underbrukstilfellekoder. Respekter valgt kvalifiserings minimums- og maksimumsantall.
resellerIdEn tillatt forhandleridentifikator. Den kontoeide ruten godtar eide forhandlere, den konfigurerte delte forhandleren eller den tilsiktede verdien for ingen forhandler. En urelatert forhandler avvises.
description, messageFlowBeskriv det faktiske formålet og hvordan samtykke samles inn. Hver skal inneholde 40–4096 tegn. Ta med den reelle brukerhandlingen, skjemaet eller prosessen; finn ikke opp samtykke som applikasjonen din ikke samler inn.
sample1 … sample5Typiske meldinger, vanligvis 20–1024 tegn hver. Portalen krever minst én; kvalifiserte nettverk kan kreve flere. Oppgi antallet som kreves av gjeldende kvalifisering.
subscriberOptin, subscriberOptout, subscriberHelpDeklarer støttede mottakerflyter med disse eksakte feltnavnene. Når en flyt er aktivert, oppgir du nøkkelord- og meldingsfeltene. Nettverkskrav kan gjøre bestemte flyter obligatoriske.
optinKeywords, optoutKeywords, helpKeywordsDe faktiske gjenkjente nøkkelordene, opptil 255 tegn. De må samsvare med den mottakende applikasjonens virkemåte.
optinMessage, optoutMessage, helpMessageDe tilsvarende meldingene. Gjeldende publiserte feltregler angir 20–1024 tegn. Ta med reell støtte og atferd for avregistrering.
embeddedLink, embeddedPhone, embeddedLinkSampleDeklarer innebygde lenker eller telefonnumre sannferdig. Et ellers kvalifisert nettverk kan nekte dem. Et lenkeeksempel tillater opptil 255 tegn.
mnoIdsEn valgfri matrise med kvalifiserte numeriske nettverks-ID-er fra kvalifisering. Anta ikke at hvert nettverk støtter valgt brukstilfelle.
numberPool, ageGated, directLendingGjeldende kampanjeegenskaper som JSON-boolske verdier. Velg dem etter den faktiske tjenesten.
privacyPolicyLink, termsAndConditionsLinkDine relevante offentlige URL-er for personvern og vilkår når det er aktuelt, opptil 2048 tegn hver. De må beskrive den faktiske meldingstjenesten.
termsAndConditionsEksplisitt godtakelse av gjeldende kampanjevilkår. Portalen krever true, og veiviseren samler også inn gjeldende individuelle bekreftelser.
autoRenewalOm kampanjen fornyes. Standard er true. Deaktivering av fornyelse fjerner ikke en minimumsforpliktelse som allerede er knyttet til en kampanje i produksjon.
referenceId, tagDin kampanjereferanse, opptil 50 tegn, og valgfrie tagger. referenceId er ikke Idempotency-Key-headeren.

Det publiserte skjemaet inneholder noe inkonsekvent bruk av store/små bokstaver i beskrivende tabeller. Gjeldende portalforespørsel bruker subscriberOptin og subscriberOptout som vist ovenfor. Behold nøyaktig den skrivemåten. Denne veiledningen dekker den kundevendte 10DLC-arbeidsflyten; anta ikke at en annen kanals obligatoriske felter eller aktiveringstrinn er de samme.

Prøv samme tiltenkte forespørsel på nytt på en sikker måte

Bruk én Idempotency-Key for denne tiltenkte opprettingen. Nøkkelen er 1–128 utskrivbare ASCII-tegn uten mellomrom og er avgrenset til eierkontoen. Behold HTTP-metoden, banen, spørrestrengen og de eksakte bytene i kroppen uendret ved nytt forsøk. En omformatert JSON-fil er i konflikt selv om verdiene er likeverdige.

Et pågående duplikat kan returnere HTTP 409 med Retry-After; fullførte forespørsler kan spille av lagret svar på nytt. En bufret feil beviser ikke at registeret ikke opprettet noe. Lagre campaignId, requestId og eventuelle korrelasjonsheadere, undersøk eksisterende kampanje og avstem en delvis feil før du vurderer en ny nøkkel.

En kampanje-ID er ikke det endelige sendeoppsettet

Svaret bruker HTTP-status og direkte JSON. Ved vellykket oppretting beholder du campaignId og leser gjeldende tilstand:

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  "https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"

Portalens gjeldende produksjonsarbeidsflyt deler også kampanjen med meldingsoperatøren og laster merkevare/kampanje inn i sendekontoen. Dette er separate operasjoner fra dette offentlige opprettingskallet. En registerkampanje kan eksistere selv om et senere delings- eller operatørlastingstrinn mislykkes.

Bruk portalens integrerte arbeidsflyt for oppretting i produksjon når du trenger den kombinerte sekvensen for registrering, deling og operatørlasting. Hvis en produksjonskampanje allerede er opprettet direkte med dette API-et, beholder du kampanje-ID-en og får kontoens operatøroppsett avstemt via brukerstøtte. Gjeldende kundegrensesnitt eksponerer ikke en generell fortsett-knapp for hver direkte opprettede produksjonskampanje. Ikke opprett en ny registrering for å prøve aktiveringen på nytt. Bekreft at kampanjen er aktiv og at operatøroppsettet er fullført før tilordning av et sendenummer. Nummeret må også være eid, aktivt og SMS-aktivert. Kampanjeoppretting sender ikke meldinger.

Gebyrer for kampanjer i produksjon

Gjeldende konfigurerte månedlige kampanjegebyrer
BrukstilfelleMånedsgebyr
LOW_VOLUME, UCAAS_LOW$1.67
SOLE_PROPRIETOR$2.23
CHARITY$3.34
EMERGENCY$5.56
AGENTS_FRANCHISES$33.34
Andre konfigurerte reservebrukstilfeller$11.12

Disse detaljbeløpene ble kontrollert mot gjeldende portalkonfigurasjon 24. oktober 2026. Bekreft gjeldende kvalifiserte brukstilfelle og vist pris før en innsending i produksjon. En monthlyFee i et kvalifiseringssvar fra registeret er ikke automatisk din MultiTEL-detaljpris.

Gjeldende portal angir en minimumsforpliktelse på tre måneder for ikke-politiske produksjonskampanjer. Gjennomgå gjeldende vilkår og fornyelsesvalg før bekreftelse. Registrering, nummerleie, tilleggsvurdering og meldingsbruk er separate kostnader. Et vellykket opprettingssvar beviser ikke i seg selv at alle fakturerings- eller operatøraktiveringstrinn er fullført.

Håndter validering og delvise feil

Les HTTP-status og returnert JSON. Valideringsfeil kan være matriser med code/description-objekter; lokale feil kan i stedet være objekter med message, status og, for noen behandlingsfeil, requestId.

Kampanjefeil
HTTP-resultatNeste handling
400Korriger de aktuelle feltene eller idempotensnøkkelen. Les gjeldende kvalifisering, påkrevd eksempelantall og krav til mottakerflyt på nytt.
401, 403 eller 404Kontroller API-legitimasjon og tillatt kilde-IP, deretter eierskap og tillatelser for merkevare/forhandler. Ikke bruk identifikatorer fra en annen konto.
402Gjennomgå produksjonsfinansiering og kjøpstillatelse før du prøver samme tiltenkte oppretting på nytt.
409Skill mellom gjentatt svar for en pågående forespørsel og en endret forespørsel med samme nøkkel. Behold eksisterende kampanje- og forespørselsdetaljer ved avstemming.
429 eller begrenser utilgjengeligRespekter Retry-After når den finnes, og behold opprinnelig nøkkel og nøyaktig forespørsel.
500 eller 502Oppretting kan allerede ha skjedd. Lagre eventuell campaignId og requestId, kontroller eksisterende kampanje, og gjenoppta eller avstem aktiveringen i stedet for å opprette et duplikat.