Create an External Mapping - m3ter Documentation

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Create an External Mapping

cURL

curl --request POST \
  --url https://api.m3ter.com/organizations/{orgId}/externalmappings \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "m3terEntity": "Account",
  "m3terId": "00000000-0000-0000-0000-000000000000",
  "externalSystem": "Stripe",
  "externalTable": "Customer",
  "externalId": "cus_00000000000000",
  "version": 123,
  "integrationConfigId": "00000000-0000-0000-0000-000000000000"
}
' 

Python

import requests

url = "https://api.m3ter.com/organizations/{orgId}/externalmappings"

payload = {
    "m3terEntity": "Account",
    "m3terId": "00000000-0000-0000-0000-000000000000",
    "externalSystem": "Stripe",
    "externalTable": "Customer",
    "externalId": "cus_00000000000000",
    "version": 123,
    "integrationConfigId": "00000000-0000-0000-0000-000000000000"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

JavaScript (Fetch API)

const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    m3terEntity: 'Account',
    m3terId: '00000000-0000-0000-0000-000000000000',
    externalSystem: 'Stripe',
    externalTable: 'Customer',
    externalId: 'cus_00000000000000',
    version: 123,
    integrationConfigId: '00000000-0000-0000-0000-000000000000'
  })
};

fetch('https://api.m3ter.com/organizations/{orgId}/externalmappings', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));

PHP

$curl = curl_init();

curl_setopt_array($curl, [\
  CURLOPT_URL => "https://api.m3ter.com/organizations/{orgId}/externalmappings",\
  CURLOPT_RETURNTRANSFER => true,\
  CURLOPT_ENCODING => "",\
  CURLOPT_MAXREDIRS => 10,\
  CURLOPT_TIMEOUT => 30,\
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
  CURLOPT_CUSTOMREQUEST => "POST",\
  CURLOPT_POSTFIELDS => json_encode([\
    'm3terEntity' => 'Account',\
    'm3terId' => '00000000-0000-0000-0000-000000000000',\
    'externalSystem' => 'Stripe',\
    'externalTable' => 'Customer',\
    'externalId' => 'cus_00000000000000',\
    'version' => 123,\
    'integrationConfigId' => '00000000-0000-0000-0000-000000000000'\
  ]),\
  CURLOPT_HTTPHEADER => [\
    "Authorization: Bearer <token>",\
    "Content-Type: application/json"\
  ],\
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Go

package main

import (
    "fmt"
    "strings"
    "net/http"
    "io"
)

func main() {

url := "https://api.m3ter.com/organizations/{orgId}/externalmappings"

payload := strings.NewReader("{\n  \"m3terEntity\": \"Account\",\n  \"m3terId\": \"00000000-0000-0000-0000-000000000000\",\n  \"externalSystem\": \"Stripe\",\n  \"externalTable\": \"Customer\",\n  \"externalId\": \"cus_00000000000000\",\n  \"version\": 123,\n  \"integrationConfigId\": \"00000000-0000-0000-0000-000000000000\"}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
    req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))
}

Response Example

{
  "id": "<string>",
  "m3terEntity": "Account",
  "m3terId": "00000000-0000-0000-0000-000000000000",
  "externalSystem": "Stripe",
  "externalTable": "Customer",
  "externalId": "cus_00000000000000",
  "version": 123,
  "dtCreated": "2023-11-07T05:31:56Z",
  "dtLastModified": "2023-11-07T05:31:56Z",
  "createdBy": "<string>",
  "lastModifiedBy": "<string>",
  "integrationConfigId": "00000000-0000-0000-0000-000000000000"
}

Error Response Examples

{
  "message": "<string>"
}
{
  "message": "<string>"
}

Authorizations

Authorization string header required

m3ter supports machine to machine authentication using the clientCredentials OAuth2 flow.

Path Parameters

The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service.

Body

Response