## API-URL
URL for sending av HTTP-forespørsler:
```url
https://portal.bulkgate.com/api/1.0/address-book/add
```

> [!NOTE]
> Hvis forespørselen ikke når frem, gjentar du den på [reserveserveren](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-reserveserver/) `backup1.bulkgate.com`.


## Støttede HTTP-metoder

- `POST` - `application/json`

```http
POST /api/1.0/address-book/add HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

## Parametertabell

| PARAMETERNAVN     | VERDI | OBLIGATORISK | STANDARDVERDI |
|:------------------|:------|:----------|:----------------------------|
| application_id    | [Applikasjons-ID](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/administrasjon-av-api/) | **Ja** | - | 
| application_token | [Applikasjonstoken](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-token/) | **Ja** | - |
| groups            | Matrise med ID-ene til gruppene kontaktene skal legges til i | **Nei** | - |
| group_name        | Kontakten legges til i en ny gruppe med navnet `group_name` | **Nei** | - |
| data              | Kontaktinformasjon | **Ja** | [Dataobjekt](#dataobjekt) |
| category          | Adresseboken det skal arbeides med. Standard er kontoens hovedadressebok. | Nei | `main` |
| duplicity_action  | Hva som skal skje med en kontakt som allerede finnes – `restrict` (avvis), `skip` (hopp over), `update` (fyll ut tomme felt), `rewrite` (overskriv). | Nei | `restrict` |

## Dataobjekt

| PARAMETERNAVN  | VERDI | OBLIGATORISK | STANDARDVERDI |
|:---------------|:------|:----------|:--------------|
| type           | Kontakttype (person/firma) | **Nei** | - |
| phone_mobile   | Hovedtelefonnummer | **Nei** | - | 
| title_before   | Tittel foran navnet | **Nei** | - |
| first_name     | Fornavn | **Nei** | - |
| last_name      | Etternavn | **Nei** | - |
| title_after    | Tittel etter navnet | **Nei** | - |
| gender         | male / female / transgender / agender / non_binary / unknown | **Nei** | unknown |
| company_name   | Firmaets navn | **Nei** | - |
| email          | E-post | **Nei** | - |
| url            | URL til nettstedet ditt | **Nei** | - |
| street1        | Gateadresse 1 | **Nei** | - |
| street2        | Gateadresse 2 | **Nei** | - |
| city           | By | **Nei** | - |
| zip            | Postnummer | **Nei** | - |
| state          | Delstat | **Nei** | - |
| country        | [Landskode i formatet ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) | **Nei** | `null` |
| company_number | Organisasjonsnummer | **Nei** | - |
| company_vat    | MVA-nummer | **Nei** | - |
| note           | Merknad | **Nei** | - |
| custom_field_0 | Egendefinert felt | **Nei** | - |
| custom_field_1 | Egendefinert felt | **Nei** | - |
| custom_field_2 | Egendefinert felt | **Nei** | - |
| custom_field_3 | Egendefinert felt | **Nei** | - |
| custom_field_4 | Egendefinert felt | **Nei** | - |
| custom_field_5 | Egendefinert felt | **Nei** | - |
| custom_field_6 | Egendefinert felt | **Nei** | - |
| custom_field_7 | Egendefinert felt | **Nei** | - |
| custom_field_8 | Egendefinert felt | **Nei** | - |
| custom_field_9 | Egendefinert felt | **Nei** | - |

## Eksempel på forespørsel

```http-json
POST /api/1.0/address-book/add HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"groups": [1, 2],
	"group_name": "Talos 1",
	"data": {
	     "first_name": "Morgan",
	     "last_name": "Yu",
	     "phone_mobile": "123456789",
	     "street1": "Crew's quarters",
	     "street2": "Executive suite",
	     "country": "Talos 1",
	     "email": "morganyu@talos.com"
	}
}
```

## Svar

**Ved suksess:**
```json
{
    "data": {
        "message": "contact_has_been_added",
        "groups": [1,2,3]
    }
}
```


**Ved feil:**
```json
{
    "type": "contact_with_this_phone_number_already_exists",
    "code": 400,
    "error": "Contact with this phone number already exists",
    "detail": null
}
```

```json
{
    "type": "invalid_phone_mobile",
    "code": 400,
    "error": "Invalid phone mobile",
    "detail": null
}
```

```json
{
    "type": "group_not_found",
    "code": 400,
    "error": "Group not found",
    "detail": null
}
```

Der:

- **type** og **error** (beskrivelse av feilen) finner du i [tabellen over feiltyper](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-feiltyper/)
- **code** er HTTP-feilkoden
- **detail** er tilleggsinformasjon om feilen
